默認情況下,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 這款插件就做以上修改的話,效果可能要過一陣才能看到。