"产品"和"库存"我检查了以下设置: "隐藏目录中的缺货商品"
现在所有售罄的产品都隐藏在档案/类别视图中。到目前为止一切都很好。
问题在于每页计算隐藏(缺货)产品。因此,如果第一页上有3种产品售罄,则仅显示库存中的产品(6)。
似乎这些"隐藏"产品仍然可以搜索,并通过不同的小部件可见。
任何想法如何解决这个问题?我的意思是真的隐藏缺货的产品。或者我是否需要手动删除它们?
答案 0 :(得分: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' );
}
我修改了此网址中的代码: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' );
}
答案 1 :(得分:8)
自我注意:始终从开发人员那里阅读更改日志。
如果类别的产品计数显示过高或 数字太低,更新到WooCommerce 2.1后有一个简单的 解决方法。
转到WooCommerce内的'工具'标签>您的系统状态 WordPress管理面板。在这里,您首先使用'重新计算条款' 按钮,然后使用“清除瞬变”按钮。这将 强制系统在下次分类时重新计算所有产品 装了。
更新:另请注意,将库存数量更改为0还不够。还必须将“库存状态”设置为“缺货”。如果不是,即使没有库存产品,也会在商店中计算产品。
答案 2 :(得分:5)
我找到了更简单的方法,如果有人仍在寻找在woocommerce中隐藏缺货产品,请按照这些简单的步骤进行操作,而无需编辑HTML!
答案 3 :(得分:4)
只有在使用官方的woocommerce短代码时才会起作用,但如果您使用可视化编辑器创建页面并使用自定义插件或第三方插件或短代码,则第一步是从循环运行查询你把它修改成这样的东西
$params = array(
'posts_per_page' => 5,
'post_type' => array('product', 'product_variation'),
'meta_query' => array(
array(
'key' => '_stock_status',
'value' => 'instock'
)
)
);
你必须确定最重要的部分是
'meta_query' => array(
array(
'key' => '_stock_status',
'value' => 'instock'
)
)
答案 4 :(得分:0)
答案 5 :(得分:0)
您可以将 PHP 代码段放在您的子主题 functions.php 文件的底部。
Equipment_Unit_NB|Statusing_Facility_CD| Status_Time | Equipment_Status_Type_CD| Ranking
117349 402 2020-12-23 10:37:26 ARR 1
117349 422 2020-12-23 05:07:17 ENR 2
117349 422 2020-12-22 22:45:05 LDD 3
117349 422 2020-12-21 20:22:05 LDG 4
117349 422 2020-12-21 14:22:37 UAD 5
117349 422 2020-12-21 08:25:44 ARV 6
117349 621 2020-12-21 02:03:45 ENR 7
117349 621 2020-12-20 17:18:44 ARR 8
117349 347 2020-12-20 04:51:25 ENR 9
117349 347 2020-12-20 03:37:45 LDD 10