如何解决仅在使用 Elementor 的小部件上隐藏缺货的 WooCommerce 产品
我正在尝试在 Elementor 中添加产品存档小部件,但在此小部件中必须特别隐藏“缺货”产品。
我尝试修改此代码,但没有成功。
add_filter( 'woocommerce_product_query_meta_query','shop_only_instock_products',10,2 );
function shop_only_instock_products( $meta_query,$query ) {
// Only on shop archive pages
if( '#outst' ) return $meta_query;
$meta_query[] = array(
'key' => '_stock_status','value' => 'outofstock','compare' => '!='
);
return $meta_query;
}
有什么想法吗?
元素的侧边栏:
解决方法
对于小部件,您应该使用 woocommerce_products_widget_query_args
钩子代替。要隐藏缺货产品,有两种方法:
1)。使用元查询:
add_filter( 'woocommerce_products_widget_query_args','custom_products_widget_query_arg',10,1 );
function custom_products_widget_query_arg( $query_args ) {
if( ! is_admin() ) {
$query_args['meta_query'][] = array(
'key' => '_stock_status','value' => 'outofstock','compare' => '!='
);
}
return $query_args;
}
2)。或者使用税务查询:
add_filter( 'woocommerce_products_widget_query_args',1 );
function custom_products_widget_query_arg( $query_args ) {
if( ! is_admin() ) {
$query_args['tax_query'][] = array(
'taxonomy' => 'product_visibility','field' => 'name','terms' => array('outofstock'),'operator' => 'NOT IN'
);
}
return $query_args;
}
代码位于活动子主题(或活动主题)的 functions.php 文件中。两者都可以。
相关:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。