woocommerce_rest_(post_type)_query хук-фильтрWC 1.0

Filter the query arguments for a request.

Enables adding extra arguments or setting defaults for a post collection request.

Использование

add_filter( 'woocommerce_rest_(post_type)_query', 'wp_kama_woocommerce_rest_post_type_query_filter', 10, 2 );

/**
 * Function for `woocommerce_rest_(post_type)_query` filter-hook.
 * 
 * @param array           $args    Key value array of query var to query value.
 * @param WP_REST_Request $request The request used.
 *
 * @return array
 */
function wp_kama_woocommerce_rest_post_type_query_filter( $args, $request ){

	// filter...
	return $args;
}
$args(массив)
Key value array of query var to query value.
$request(WP_REST_Request)
The request used.

Где вызывается хук

WC_REST_Posts_Controller::get_items()
woocommerce_rest_(post_type)_query
woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-posts-controller.php 351
$args = apply_filters( "woocommerce_rest_{$this->post_type}_query", $args, $request );

Где используется хук в WooCommerce

woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-coupons-v1-controller.php 50
add_filter( "woocommerce_rest_{$this->post_type}_query", array( $this, 'query_args' ), 10, 2 );
woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-order-refunds-v1-controller.php 51
add_filter( "woocommerce_rest_{$this->post_type}_query", array( $this, 'query_args' ), 10, 2 );
woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-orders-v1-controller.php 50
add_filter( "woocommerce_rest_{$this->post_type}_query", array( $this, 'query_args' ), 10, 2 );
woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-products-v1-controller.php 50
add_filter( "woocommerce_rest_{$this->post_type}_query", array( $this, 'query_args' ), 10, 2 );
woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-network-orders-v2-controller.php 139
add_filter( 'woocommerce_rest_orders_prepare_object_query', array( $this, 'network_orders_filter_args' ) );
woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-network-orders-v2-controller.php 141
remove_filter( 'woocommerce_rest_orders_prepare_object_query', array( $this, 'network_orders_filter_args' ) );