專注於企業網站架設,分享WordPress教學和Elementor教學
不用充值便可免費試用3天的Cloudways超快獨享主機,獨家優惠碼:LOYSEO,前2個月可優惠30%,感謝你的互惠互助

WooCommerce:如何給產品列表的“默認排序”刪除、重命名、添加的排序選項

更新日期:2021-11-09

掃碼加入 讀者學習群

相關 教學

我自用的 架設網站資源

當你點擊本站的鏈接購買主機、主題、外掛,我會得到一些佣金用於運營網站,但不會影響你的購買價格,我只推薦自己在用的,感謝有你的支持~比心( •̀ ω •́ )y

Cloudways

不用充值便可免費試用3天的Cloudways超快獨享主機,獨家優惠碼:LOYSEO,前2個月可優惠30%
了解詳情→

elementor logo gradient 01 1
Elementor

最熱門的網頁可視化設計編輯器,我的網站就是用它建的
了解詳情→

Namesilo

註冊網域,購買時使用優惠券loyseo可減1美元
前往註冊→

Share on facebook
Share on twitter
Share on linkedin

我們之前已經說過:如何完全刪除WooCommerce 商店、產品列表頁面中顯示的“默認排序”下拉選項

但是,有時你可能只需要刪除默認選項中的一個,或者重命名這些選項,甚至是添加新的排序選項。像往常一樣,多虧了WooCommerce 掛鉤和過濾器,幾行PHP 代碼就可以實現這個目標。

woocommerce default sorting option add remove edit
刪除、重命名或添加選項到WooCommerce“默認排序”下拉列表

PHP 代碼段#1:在WooCommerce產品列表中刪除某個排序選項

/**
* @snippet       Remove Sorting Option @ WooCommerce Shop
* @testedwith    WooCommerce 3.8
*/
add_filter( 'woocommerce_catalog_orderby', 'bbloomer_remove_sorting_option_woocommerce_shop' );
function bbloomer_remove_sorting_option_woocommerce_shop( $options ) {
unset( $options['rating'] );
return $options;
}
//说明:你可以通过添加更多的 "unset "调用来删除其他排序选项......这里有一个选项列表: 'menu_order', 'popularity', 'rating', 'date', 'price', 'price-desc'

PHP 代碼段#2:在WooCommerce產品列表中給排序選項重命名

/**
* @snippet       Rename a Sorting Option @ WooCommerce Shop
* @testedwith    WooCommerce 3.8
*/
add_filter( 'woocommerce_catalog_orderby', 'bbloomer_rename_sorting_option_woocommerce_shop' );
function bbloomer_rename_sorting_option_woocommerce_shop( $options ) {
$options['price'] = 'Sort by price (asc)';
return $options;
}

PHP 代碼段#3:在WooCommerce 產品列表中添加自定義排序選項

在此示例中,我們將創建一個名為“Sort by name (desc)”的新排序選項,它會按產品的標題(降序)對產品進行排序。

/**
* @snippet       Add a Custom Sorting Option @ WooCommerce Shop
* @testedwith    WooCommerce 4.0
*/
// 1. 创建一个产品排序规则
add_filter( 'woocommerce_get_catalog_ordering_args', 'bbloomer_sort_by_name_woocommerce_shop' );
function bbloomer_sort_by_name_woocommerce_shop( $args ) {
$orderby_value = isset( $_GET['orderby'] ) ? wc_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
if ( 'name' == $orderby_value ) {
$args['orderby'] = 'title';
$args['order'] = 'DESC';
}
return $args;
}
// 2. 将产品排序规则加入到排序下拉选项中
add_filter( 'woocommerce_catalog_orderby', 'bbloomer_load_custom_woocommerce_catalog_sorting' );
function bbloomer_load_custom_woocommerce_catalog_sorting( $options ) {
$options['name'] = 'Sort by name (desc)';
return $options;
}

點贊
0 / 5 0

Your page rank:

超快獨享主機
Cloudways
免費試用3天,無需充值
費用月結| 不用一次性付整年
*註冊優惠碼Promo code:LOYSEO
*用Gmail郵箱,註冊易通過