专注于外贸建站,分享WordPress教程和Elementor教程

WooCommerce: 如何在商店中先展示有货商品

更新日期:2023-08-03
同系列教程
加入读者学习群
我用的页面编辑器
让我的客户网站GTmetrix测分A\A的主机Cloudways
独家优惠前3个月7折, 戳上方按钮注册即可自动带入优惠码LOYSEO
所赠主题插件价值>$49
主机送Astra Pro不限站点1年
gmail.comsina.com邮箱,注册易通过
遇到问题,联系我
来开通 SEO工具20+

我们已经学到如何在WooCommerce Shop页面的 “默认排序 “下拉菜单中添加一个自定义的 “产品排序 “选项。

然而,我所面临的任务是根据一个自定义的 “元键/Metakey “来显示商品。现在,如果你不知道 “元键/Metakey “是什么,不用太担心。例如,”_stock_status “是其中的一个键,因此你可以根据这个键对产品进行排序,而不是根据产品名称、日期、价格等等。

因此,让我们看看如何在商店、分类列表页面中把所有缺货产品显示在最后面,就像下图这样。

woocommerce sort products by stock
WooCommerce:按库存对产品进行排序(将缺货的产品放到每个WooCommerce产品列表的末尾)

像往常一样,只需将下面的代码段复制、黏贴到你的 functions.php 中(不建议直接黏贴,请使用code snippet插件来插入这个代码),你就会得到想要的结果。

PHP Snippet: 在woocommerce商店中先展示有货商品

注意1:这个片段只在您使用WordPress > Customize > WooCommerce > Product Catalog > Default product sorting部分的 “Default Sorting “时有效。当这些设置为默认时,它不会覆盖按价格/受欢迎程度/等进行的排序。

注意2:这个片段按 “ASC”(升序)顺序对产品进行 “stock_status “排序。可能的值是 “instock””outofstock””onbackorder”,所以它将自动按字母顺序显示:1.instock 2.onbackorder 3.outofstock

注意3:你的所有产品必须在产品编辑页面>产品数据>库存中使用 “管理库存 “选项。否则我不知道会发生什么!

/**
* @snippet       Sort Products By Stock Status - WooCommerce Shop
* @compatible    WooCommerce 5
*/
add_filter( 'woocommerce_get_catalog_ordering_args', 'bbloomer_first_sort_by_stock_amount', 9999 );
function bbloomer_first_sort_by_stock_amount( $args ) {
$args['orderby'] = 'meta_value';
$args['meta_key'] = '_stock_status';
return $args;
}
外贸建站技术姐Bonnie
外贸建站技术姐Bonnie

Bonnie是LOYSEO的创始人,在建站领域有着超过14年的经验,热爱能将想法变为现实的WordPress,更是Elementor的忠实用户~

让我的客户网站GTmetrix测分A\A的主机Cloudways
独家优惠前3个月7折, 戳上方按钮注册即可自动带入优惠码LOYSEO
所赠主题插件价值>$49
主机送Astra Pro不限站点1年
gmail.comsina.com邮箱,注册易通过
遇到问题,联系我
来开通 SEO工具20+