默認情況下,WordPress 存檔頁面或搜尋結果頁面中的文章排列順序是按照發佈時間排列的 (順帶一提,若是discuz的話進階搜尋可以直接指定按發文日期、回應日期、瀏覽數量、回應數量四項做升冪與降冪排列),這裡我們暫且不管存檔頁面情況如何,先來說說這個搜索結果頁面。如果我們想要搜索結果的日誌按照瀏覽次數的多少來排列,也就是說,被瀏覽次數較多的日誌排在前面,反之,被瀏覽次數較少的日誌則排在後面,如何實現?方法很簡單!
Wordpress 功能安裝教學步驟一、
先安裝 Lester Chan 的一個插件 WP-postviews。
關於這款插件,相信大家都不會陌生的了,它的這主要作用就是用來統計日誌被瀏覽的次數的,這方面在這裡就不再多說。好了,去到 WordPress 後台搜索 WP-previews 插件,安裝並啟用。
步驟二、
打開當前主題文件夾中的 functions.php 文件,添加以下代碼,位於最後一個?>之前(如果?>存在的話)。- // SEARCH FILTER
- function base6_search_filter($query)
- {
- if( $query->is_search )
- {
- $query->set('v_sortby' , 'views');
- $query->set('v_orderby' , 'desc');
- add_filter('posts_fields', 'views_fields');
- add_filter('posts_join', 'views_join');
- add_filter('posts_where', 'views_where');
- add_filter('posts_orderby', 'views_orderby');
- }
- }
- add_filter('pre_get_posts' , 'base6_search_filter');
複製代碼 記得保存更改。這段程式碼的作用在於,當訪問者通過搜索進入搜索結果頁面時,會發現被瀏覽次數最多的日誌排在了頂部。
備註:如果你是剛剛安裝了 WP-Postviews 這款插件就做以上修改的話,效果可能要過一陣才能看到。 |