为了账号安全,请及时绑定邮箱和手机立即绑定

按 ID 过滤产品 Woocommerce

按 ID 过滤产品 Woocommerce

PHP
弑天下 2022-10-09 17:22:24
我正在尝试更改 Woocommerce 商店(存档)的查询。我搜索并找到了很多片段,但还没有找到我的解决方案。所以我希望这里有人可以帮助我。我想要的是隐藏由单独功能定义的产品选择。该函数返回一个产品/帖子 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 );
查看完整描述

1 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

post__not_in不是元查询...


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


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' );


查看完整回答
反对 回复 2022-10-09
  • 1 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信