我正在尝试使用过滤器构建一个小部件,主要的woocommerce查询显示特定的产品。我正在寻找一种更新查询并重新执行的方法,没有运气。 来自archive-product.php的查询
<?php if ( have_posts() ) : do_action( 'woocommerce_before_shop_loop' ); ?><?php endif; ?>
<?php do_action( 'woocommerce_archive_description' ); ?>
<?php if ( have_posts() ) : ?>
<?php woocommerce_product_loop_start(); ?>
<?php woocommerce_product_subcategories(); ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php woocommerce_get_template_part( 'content', 'product' ); ?>
<?php endwhile; // end of the loop. ?>
<?php woocommerce_product_loop_end(); ?>
<?php
/**
* woocommerce_after_shop_loop hook
*
* @hooked woocommerce_pagination - 10
*/
do_action( 'woocommerce_after_shop_loop' );
?>
我想添加一个像
这样的钩子 add_action( 'pre_get_posts', 'so_27971630_product_query' );
function so_27971630_product_query( $q ){
$meta_query = $q->get( 'meta_query' );
$meta_query[] = array(
'key' => 'custom_acf_key',
'value' => 'custom_acf_value',
'compare' => '='
);
$q->set( 'meta_query', $meta_query );
}
并重新执行查询,在带有ajax的div中显示结果。我已经完成了ajax部分而且我一直在重新执行查询