在內(nèi)容管理系統(tǒng)大行其道的今天豺裆,建立一個(gè)模塊化的網(wǎng)站淆攻,已不再是難事皇钞。用Wordpress+WooCommerce便可以比較方便的建立一個(gè)電商網(wǎng)站瓤帚。
通過(guò)WooCommerce上加載的各種主題描姚,可以方便的構(gòu)建不同風(fēng)格的網(wǎng)上商城。商城里的各類商品戈次,排列的順序也很靈活轩勘,管理員可以方便的設(shè)置按更新時(shí)間排列,隨機(jī)排列怯邪,銷量排列等等绊寻。可是方便是方便悬秉,當(dāng)一個(gè)商城里不同類別的產(chǎn)品澄步,想采用不同的排列方式時(shí),這就有一定難度了和泌。
當(dāng)然,我們可以在設(shè)置里武氓,把排列方式改成自定義梯皿,再在每個(gè)類別的產(chǎn)品里,通過(guò)拖動(dòng)县恕,來(lái)改變其位置东羹,可這正是一項(xiàng)費(fèi)時(shí)費(fèi)力的工作。因?yàn)橹抑颍覀円话阒皇悄硯最惍a(chǎn)品想用一種排列方式属提,而另幾類,用另一個(gè)排列方式美尸。
其實(shí)冤议,實(shí)現(xiàn)這個(gè)目標(biāo)旬迹,并不非常困難,三行代碼就可以解決求类。
我們?cè)诠芾砗笈_(tái)奔垦,在主題的編輯器里,找到萬(wàn)能的functions.php文件尸疆,就可以解決這個(gè)問題椿猎。
functions.php是一個(gè)非常重要的核心程序,把代碼加在這里寿弱,幾乎每個(gè)頁(yè)面打開時(shí)都會(huì)加載一次犯眠。在functions.php文件的編輯窗口加上下面的三行代碼,就可以輕松的解決排序問題了:
我們來(lái)逐行分析一下症革,看似三行代碼筐咧,其實(shí)就是兩句話,一個(gè)是if條件語(yǔ)句噪矛,
//choose categories where default sorting will be changed
if (is_product_category( array( 'category1', 'category2', 'category3' ))) {
這里用一個(gè)數(shù)列來(lái)判斷量蕊,是否是這幾個(gè)條件的產(chǎn)品類別。
return 'date'; // sort by latest
這個(gè)表示按時(shí)間順序排列艇挨,也就是最新上新的會(huì)在最前面残炮。除了date以外,常用的WooCommerce對(duì)應(yīng)的排列方式如下:
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'势就。至此上面的三行代碼,也就沒有啥神秘的了脉漏。
只是苞冯,有時(shí)我們并不需要array來(lái)區(qū)分多個(gè)類別,我們只有一個(gè)分類侧巨,要用特殊的排列方式舅锄。這樣的話大部分代碼還是相同的,只需要把第一句改成:
if (is_product_category( 'category1' )) {
就可以了刃泡。
三行代碼巧娱,總是很簡(jiǎn)單的碉怔,大家都可以試試烘贴。