Automattic\WooCommerce\Blocks\BlockTypes\ProductCollection
Utils::prepare_and_execute_query
Prepare and execute a query for the Product Collection block. This method is used by the Product Collection block and the No Results block.
Method of the class: Utils{}
No Hooks.
Returns
null. Nothing (null).
Usage
$result = Utils::prepare_and_execute_query( $block );
- $block(WP_Block) (required)
- Block instance.
Utils::prepare_and_execute_query() Utils::prepare and execute query code WC 10.3.6
public static function prepare_and_execute_query( $block ) {
$page_key = isset( $block->context['queryId'] ) ? 'query-' . $block->context['queryId'] . '-page' : 'query-page';
// phpcs:ignore WordPress.Security.NonceVerification
$page = empty( $_GET[ $page_key ] ) ? 1 : (int) $_GET[ $page_key ];
// Use global query if needed.
$use_global_query = ( isset( $block->context['query']['inherit'] ) && $block->context['query']['inherit'] );
if ( $use_global_query ) {
global $wp_query;
$query = clone $wp_query;
} else {
$query_args = build_query_vars_from_query_block( $block, $page );
$query = new WP_Query( $query_args );
}
return $query;
}