三行代碼輕鬆解決WooCommerce中的產品排序問題

在內容管理系統大行其道的今天,建立一個模塊化的網站,已不再是難事。用Wordpress+WooCommerce便可以比較方便的建立一個電商網站。

通過WooCommerce上加載的各種主題,可以方便的構建不同風格的網上商城。商城裏的各類商品,排列的順序也很靈活,管理員可以方便的設置按更新時間排列,隨機排列,銷量排列等等。可是方便是方便,當一個商城裏不同類別的產品,想採用不同的排列方式時,這就有一定難度了。

當然,我們可以在設置裏,把排列方式改成自定義,再在每個類別的產品裏,通過拖動,來改變其位置,可這正是一項費時費力的工作。因爲,我們一般只是某幾類產品想用一種排列方式,而另幾類,用另一個排列方式。

其實,實現這個目標,並不非常困難,三行代碼就可以解決。

我們在管理後臺,在主題的編輯器裏,找到萬能的functions.php文件,就可以解決這個問題。

functions.php是一個非常重要的核心程序,把代碼加在這裏,幾乎每個頁面打開時都會加載一次。在functions.php文件的編輯窗口加上下面的三行代碼,就可以輕鬆的解決排序問題了:

我們來逐行分析一下,看似三行代碼,其實就是兩句話,一個是if條件語句,

//choose categories where default sorting will be changed

if (is_product_category( array( 'category1', 'category2', 'category3' ))) {

這裏用一個數列來判斷,是否是這幾個條件的產品類別。

return 'date'; // sort by latest

這個表示按時間順序排列,也就是最新上新的會在最前面。除了date以外,常用的WooCommerce對應的排列方式如下:

popularity = “Sort by popularity”

rating = “Sort by average rating”

date = “Sort by latest”

price = “Sort by price: low to high”

price-desc = “Sort by price: high to low”

上面的代碼裏,其他的就按受歡迎程度排列了:return  'popularity'。至此上面的三行代碼,也就沒有啥神祕的了。

只是,有時我們並不需要array來區分多個類別,我們只有一個分類,要用特殊的排列方式。這樣的話大部分代碼還是相同的,只需要把第一句改成:

if (is_product_category( 'category1' )) {

就可以了。

三行代碼,總是很簡單的,大家都可以試試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章