在“产品”和“库存”下,我检查了以下设置:“从目录中隐藏库存商品”
现在所有售罄的产品都隐藏在存档/类别视图中。到目前为止还不错。
问题是隐藏(缺货)的产品是按每页计算的。因此,如果有3种产品在第一页上售罄,那么只有库存中的产品才会显示出来(6)。
看起来这些“隐藏”的产品仍然可以搜索,并且可以通过不同的小部件看到。
有没有办法解决这个问题?我的意思是真正隐藏缺货的产品。或者我需要手动移除它们吗?
您可以尝试将其添加到主题的函数中。php文件:
add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
function custom_pre_get_posts_query( $q ) {
if ( ! $q->is_main_query() ) return;
if ( ! $q->is_post_type_archive() ) return;
if ( ! is_admin() ) {
$q->set( 'meta_query', array(array(
'key' => '_stock_status',
'value' => 'outofstock',
'compare' => 'NOT IN'
)));
}
remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
}
我修改了这个URL的代码:http://www.wptaskforce.com/how-to-exclude-one-or-more-category-in-woocommerce-shop-page/
再次保存在此处,以防网站脱机:(此代码不包括某些产品类别)
add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
function custom_pre_get_posts_query( $q ) {
if ( ! $q->is_main_query() ) return;
if ( ! $q->is_post_type_archive() ) return;
if ( ! is_admin() ) {
$q->set( 'tax_query', array(array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( 'PUT YOUR CATEGORY HERE' ), // Don't display products in the membership category on the shop page . For multiple category , separate it with comma.
'operator' => 'NOT IN'
)));
}
remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
}
self注意:始终从开发人员处读取变更日志。
在这里找到了答案:http://develop.woothemes.com/woocommerce/2014/02/solving-common-issues-after-updating-to-woocommerce-2-1/#category-counts-incorrect
如果类别的产品数量显示过高或过低,在更新到WooCommerce 2.1后,有一个简单的解决方法。
转到菜单中的“工具”选项卡
更新:还要记住,将库存数量更改为0是不够的。您还必须将“库存状态”设置为“缺货”。如果没有,即使没有库存,产品也将在商店中清点。
我找到了一个更简单的方法,如果有人还在woocommerce中寻找隐藏的缺货产品,请遵循这些简单的步骤,而不编辑html!