首页 > 解决方案 > 尽管有分页,如何迭代 Wordpress 中的所有当前帖子?

问题描述

我在 WooCommerce 中有一个自定义产品过滤器,可以在其中选择一组属性,即数量(以及,透视 - 其他)。我建立网址喜欢?volume[]=200&volume[]=300以这种方式限制产品选择:

add_action('pre_get_posts', 'search_by_filter');
function  search_by_filter() {
    global $wp_query;

    if (!is_admin() && $wp_query->is_main_query() ) {
    
        if (isset($_GET['volumes'])) {
            $volumes =  $_GET['volumes'];
            if($volumes){
                $wp_query->query_vars['tax_query'][] = array( // поиск по объему
                    "taxonomy" => "pa_volume",
                    "field" => "slug",
                    "terms" =>  $volumes
                );
            }
        }
    }
}

这工作正常。但我需要在过滤器中显示当前选择的最低和最高价格作为下一个过滤器选项。

所以我需要遍历修改选择的所有结果(也可以在其他点进行修改)以收集价格信息。

如果我使用 have_posts() 循环执行此操作 - 我无法访问下一页,但使用 WP_Query 需要完全相同的搜索条件,我不确定我是否能控制所有这些条件。我是,是否可以获取主查询 sql 并从中删除分页?

标签: wordpresswoocommerce

解决方案


推荐阅读