2016-06-07 22 views
0

所以我是新來的Wordpress,因此我不完全確定事情如何處理它。但我遇到的一個問題是,默認搜索功能將頁面和帖子視爲相同。如何在搜索時優先處理頁面而不是帖子?

例如,我有Page稱爲Java,然後我有幾篇文章標題爲學習Java#...如果我搜索Java,頁面作爲最後一個項目出現,並且帖子出現在它之前。我想知道是否有一種方法來調整搜索,所以我首先列出頁面。

此外,我已經使用了這一點,並已經看到了一些應該解決這個問題的PHP,但正如我所說,我是新來的Wordpress,所以我不知道我到底會在PHP中進行編輯。任何幫助將不勝感激,如果您發表評論,請把我當作真正的初學者,把事情分解下來,這樣我就能更好地理解它。

回答

1

你需要把這個代碼在你function.php

function change_search_result_order($query) { 
// Check if current page is search page 
    if ($query->is_search) { 
// Specify orderby and order, ordering will be by slug of post_type: pAge > pOst 
     $query->set('orderby', 'post_type'); 
     $query->set('order', 'ASC'); 
    }; 
    return $query; 
} 

add_filter('pre_get_posts', 'change_search_result_order'); 

與所有職務類型的默認搜索功能的工作,你可以指定你想搜索:

$query->set('post_type', array('page','post')); 

鉤子pre_get_posts會在獲取任何帖子之前開火,所以我們需要修改它。並設置一些參數,以獲得具體條件的職位。

+0

謝謝,它工作 – Mercifies

相關問題