Php 仅在使用Elementor的小部件上隐藏缺货的WooCommerce产品
我试图在Elementor中添加一个产品归档小部件,但在这个小部件中,必须明确隐藏“缺货”产品 我试图修改此代码,但未成功Php 仅在使用Elementor的小部件上隐藏缺货的WooCommerce产品,php,woocommerce,widget,stock,elementor,Php,Woocommerce,Widget,Stock,Elementor,我试图在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
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;
}
有什么想法吗
elementor的侧栏:
产品小部件存档:对于小部件,您应该使用
woocommerce\u products\u widget\u query\u args
hook。要隐藏缺货产品,有两种方法:
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', 'custom_products_widget_query_arg', 10, 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文件。两者都能起作用
相关的: