在“产品”和“库存”下,我检查了以下设置:“从目录中隐藏缺货项目”现在所有售罄的产品都隐藏在存档/类别视图中。到目前为止一切顺利。问题是隐藏的(缺货)产品是按页面计算的。所以如果第一页上有3种产品售罄,只有库存的产品显示(6)。这些“隐藏”的产品似乎仍然可以搜索到,并且可以通过不同的小部件看到。有什么办法解决这个问题吗?我的意思是真正隐藏缺货的产品。或者我需要手动删除它们?
qni6mghb1#
您可以尝试将其添加到主题的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' ); }
字符串我修改了这个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' ); }
型
dz6r00yl2#
自我提示:始终阅读来自开发人员的更新日志。在这里找到答案:http://develop.woothemes.com/woocommerce/2014/02/solving-common-issues-after-updating-to-woocommerce-2-1/#category-counts-incorrect如果类别的产品计数显示过高或过低的数字,在更新到WooCommerce 2.1后,有一个简单的解决方案。转到WordPress管理面板的WooCommerce >系统状态中的“工具”选项卡。在这里,您首先使用“重新计数术语”按钮,然后使用“清除 transient ”按钮。这将强制系统在下次加载类别时重新计数所有产品。更新:另外请记住,将库存数量更改为0是不够的。您还必须将“库存状态”设置为“缺货”。如果没有,即使没有库存,产品也会被计入商店。
t2a7ltrp3#
我发现了更简单的方法,如果有人仍然在寻找隐藏在woocommerce缺货的产品,按照这些简单的步骤,而无需编辑html!1.转到WooCommerce ->设置1.去库存1.有一个复选框,说一些关于我们的问题,但它在英语:-)你会找到你需要的1.保存
y1aodyip4#
这将只工作,如果你是使用官方的woocommerce简码,但如果你创建一个页面与视觉 composer 和使用自定义插件或第三方插件或简码,第一步是为查询,从循环运行,然后你修改它像这样的东西
$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' ) )
qyuhtwio5#
隐藏缺货产品的步骤1.转到WordPress Jmeter 板中的WooCommerce ->设置栏1.点击产品标签>库存子标签1.勾选选项缺货可见性,隐藏缺货产品x1c 0d1x的数据
9fkzdhlc6#
我知道这个问题很久以前就被问到了,但是问题的解决方案现在已经不同了,所以我把这个贴给那些和我有同样问题的人。
解决方案:首先确保Woocomet>设置中的“隐藏缺货产品”复选框未选中,然后将此PHP代码添加到您的子主题functions.php文件中:
add_action('woocommerce_product_query', 'show_only_instock_products'); function show_only_instock_products($query) { $meta_query = $query->get( 'meta_query' ); $meta_query[] = array( 'key' => '_stock_status', 'compare' => '=', 'value' => 'instock' ); $query->set( 'meta_query', $meta_query ); }
字符串它在我的商店里运行得很好,这是与批发商集成的,那里的库存水平每小时更新一次,有数千种产品。
chhqkbe17#
您可以将PHP代码段放在子主题functions.php文件的底部。
add_action('woocommerce_product_query', 'custom_woocommerce_product_query'); function custom_woocommerce_product_query($q) { if (!is_admin()) { $oos_query = new WP_Query(['meta_query' => [['key' => '_stock_status', 'value' => 'outofstock', 'compare' => '=', ], ], 'post_type' => 'product', 'posts_per_page' => - 1, 'fields' => 'ids', ]); $exclude_ids = $oos_query->posts; $q->set('post__not_in', $exclude_ids); } }
字符串
7条答案
按热度按时间qni6mghb1#
您可以尝试将其添加到主题的functions.php文件中:
字符串
我修改了这个URL的代码:http://www.wptaskforce.com/how-to-exclude-one-or-more-category-in-woocommerce-shop-page/
再次保存在这里,以防该网站离线:(此代码不包括某些产品类别)
型
dz6r00yl2#
自我提示:始终阅读来自开发人员的更新日志。
在这里找到答案:http://develop.woothemes.com/woocommerce/2014/02/solving-common-issues-after-updating-to-woocommerce-2-1/#category-counts-incorrect
如果类别的产品计数显示过高或过低的数字,在更新到WooCommerce 2.1后,有一个简单的解决方案。
转到WordPress管理面板的WooCommerce >系统状态中的“工具”选项卡。在这里,您首先使用“重新计数术语”按钮,然后使用“清除 transient ”按钮。这将强制系统在下次加载类别时重新计数所有产品。
更新:另外请记住,将库存数量更改为0是不够的。您还必须将“库存状态”设置为“缺货”。如果没有,即使没有库存,产品也会被计入商店。
t2a7ltrp3#
我发现了更简单的方法,如果有人仍然在寻找隐藏在woocommerce缺货的产品,按照这些简单的步骤,而无需编辑html!
1.转到WooCommerce ->设置
1.去库存
1.有一个复选框,说一些关于我们的问题,但它在英语:-)你会找到你需要的
1.保存
y1aodyip4#
这将只工作,如果你是使用官方的woocommerce简码,但如果你创建一个页面与视觉 composer 和使用自定义插件或第三方插件或简码,第一步是为查询,从循环运行,然后你修改它像这样的东西
字符串
最重要的是你要确定
型
qyuhtwio5#
隐藏缺货产品的步骤
1.转到WordPress Jmeter 板中的WooCommerce ->设置栏
1.点击产品标签>库存子标签
1.勾选选项缺货可见性,隐藏缺货产品
x1c 0d1x的数据
9fkzdhlc6#
我知道这个问题很久以前就被问到了,但是问题的解决方案现在已经不同了,所以我把这个贴给那些和我有同样问题的人。
解决方案:首先确保Woocomet>设置中的“隐藏缺货产品”复选框未选中,然后将此PHP代码添加到您的子主题functions.php文件中:
字符串
它在我的商店里运行得很好,这是与批发商集成的,那里的库存水平每小时更新一次,有数千种产品。
chhqkbe17#
您可以将PHP代码段放在子主题functions.php文件的底部。
字符串