【问题标题】:Filter products Woocommerce by ID按 ID 过滤产品 Woocommerce
【发布时间】:2020-02-26 08:56:38
【问题描述】:

我正在尝试更改 Woocommerce 商店(存档)的查询。我搜索并找到了很多sn-ps,但还没有找到我的解决方案。所以我希望这里有人可以帮助我。

我想要隐藏由单独功能定义的产品选择。该函数返回一个产品/帖子 ID 的数组。我不知道为什么这不起作用...

function shop_show_products_by_id( $meta_query, $query ) {
    // Only on shop archive pages
    if( is_admin() || is_search() || ! is_shop() ) return $meta_query;

    $meta_query[] = array(
        'post__not_in' => gives_product_ids_not_to_show()
    );

    return $meta_query;
}
add_filter( 'woocommerce_product_query_meta_query', 'shop_show_products_by_id', 10, 2 );

【问题讨论】:

    标签: php wordpress woocommerce hook-woocommerce


    【解决方案1】:

    post__not_in 不是元查询...

    您可以使用woocommerce_product_query(本质上是pre_get_posts)排除此类产品。如果gives_product_ids_not_to_show()返回一个整数数组,可以替换post__not_in后面的array()

    function shop_hide_products_by_id( $q ) {
        // Only on shop archive pages
        if( is_shop() ){
            $q->set('post__not_in' , array(89,2182)); // use integers
        }
    }
    add_filter( 'woocommerce_product_query', 'shop_hide_products_by_id' );
    

    【讨论】:

    • 感谢@howard-e 的帮助。这就是我一直在寻找的。​​span>
    猜你喜欢
    • 2016-02-16
    • 1970-01-01
    • 2020-08-20
    • 2016-01-06
    • 2015-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多