Skip to content

Commit

Permalink
Merge pull request #7 from simplur/bugfix/wooticket-connection-catalo…
Browse files Browse the repository at this point in the history
…g-visibility

WooTicket catalog visibility fixed
  • Loading branch information
kidunot89 authored Sep 24, 2019
2 parents 84f00eb + 60f9ed6 commit 966d138
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 0 deletions.
24 changes: 24 additions & 0 deletions includes/class-core-schema-filters.php
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,13 @@ public static function add_filters() {
10,
5
);

add_filter(
'graphql_product_connection_catalog_visibility',
array( __CLASS__, 'wooticket_default_visibility' ),
10,
6
);
}
}

Expand Down Expand Up @@ -243,4 +250,21 @@ public static function ticket_connection_query_args( $query_args, $source, $args
public static function ticket_plus_connection_query_args( $query_args, $source, $args, $context, $info ) {
return \WPGraphQL\Extensions\QL_Events\Data\Connection\Ticket_Connection_Resolver::get_ticket_plus_args( $query_args, $source, $args, $context, $info );
}

/**
* Filter PostObjectConnectionResolver's query_args and adds args to used when querying
* Ticket Events Plus' "Ticket" CPTs
*
* @param array $default_visibility Default catalog visibility tax query.
* @param array $query_args - WP_Query args.
* @param mixed $source - Connection parent resolver.
* @param array $args - Connection arguments.
* @param AppContext $context - AppContext object.
* @param ResolveInfo $info - ResolveInfo object.
*
* @return mixed
*/
public static function wooticket_default_visibility( $default_visibility, $query_args, $source, $args, $context, $info ) {
return \WPGraphQL\Extensions\QL_Events\Data\Connection\Ticket_Connection_Resolver::get_ticket_plus_default_visibility( $default_visibility, $query_args, $source, $args, $context, $info );
}
}
28 changes: 28 additions & 0 deletions includes/data/connection/class-ticket-connection-resolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -109,4 +109,32 @@ public static function get_ticket_plus_args( $query_args, $source, $args, $conte

return $query_args;
}

/**
* Prepares default product connection catalog visibility for this "wooTicket" connection.
*
* @param array $default_visibility Default catalog visibility tax query.
* @param array $query_args The args that will be passed to the WP_Query.
* @param mixed $source The source that's passed down the GraphQL queries.
* @param array $args The inputArgs on the field.
* @param AppContext $context The AppContext passed down the GraphQL tree.
* @param ResolveInfo $info The ResolveInfo passed down the GraphQL tree.
*
* @return mixed
*/
public static function get_ticket_plus_default_visibility( $default_visibility, $query_args, $source, $args, $context, $info ) {
if ( $source instanceof Post ) {
// @codingStandardsIgnoreLine
if ( 'wooTickets' === $info->fieldName ) {
$default_visibility = array(
'taxonomy' => 'product_visibility',
'field' => 'slug',
'terms' => array( 'exclude-from-catalog', 'exclude-from-search' ),
'operator' => 'IN',
);
}
}

return $default_visibility;
}
}

0 comments on commit 966d138

Please sign in to comment.