在Woocommerce中隐藏"缺货"产品

jan*_*dso 15 wordpress plugins woocommerce

在"产品"和"库存"下,我检查了以下设置:"隐藏目录中的缺货商品"

现在所有售罄的产品都隐藏在档案/类别视图中.到现在为止还挺好.

问题是隐藏(缺货)产品是每页计算的.因此,如果第一页上有3种产品售罄,则仅显示库存中的产品(6).

似乎这些"隐藏"产品仍然可以搜索,并通过不同的小部件可见.

任何想法如何解决这一问题?我的意思是真的隐藏缺货的产品.或者我是否需要手动删除它们?

pat*_*zdb 12

您可以尝试将其添加到主题的functions.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' );

}
Run Code Online (Sandbox Code Playgroud)

我修改了此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' );

}
Run Code Online (Sandbox Code Playgroud)


jan*_*dso 8

自我注意:始终从开发人员那里阅读更改日志.

在这里找到答案:http://develop.woothemes.com/woocommerce/2014/02/solving-common-issues-after-updating-to-woocommerce-2-1/#category-counts-incorrect

如果类别的产品数量显示过高或过低,在更新到WooCommerce 2.1后,有一个简单的解决方法.

转到WordPress管理面板的WooCommerce>系统状态中的"工具"选项卡.在这里,您首先使用"重新计算条款"按钮,然后使用"清除瞬变"按钮.这将强制系统在下次加载类别时重新计算所有产品.

更新:还要记住,将库存数量更改为0还不够.还必须将"库存状态"设置为"缺货".如果没有,产品将计入商店,即使没有库存产品.


小智 5

我找到了更简单的方法,如果有人仍在寻找在woocommerce中隐藏缺货产品,请按照这些简单的步骤而不编辑HTML!

  1. 转到WooCommerce - >设置
  2. 转到库存
  3. 有一个复选框说明我们的问题,但它用英文:-)你会找到你需要的东西
  4. 保存