2015-10-06 51 views
2

我有一個自定義帖子類型,在CMS中我將能夠改變搜索,因此它只搜索帖子的標題,然後也拉過該頁面的所有子頁面。wp-admin按標題搜索帖子並顯示子頁面

目前我有以下限制搜索到標題,但我正在努力如何最好地拉動通過子頁面並返回他們在這個查詢。

add_filter('posts_search', 'admin_search_shops', null, 2); 
function admin_search_shops($search, $a_wp_query) { 

    if (!is_admin()) return $search; 

    $search = preg_replace("# OR \(.*posts\.post_content LIKE \\'%.*%\\'\)#", "", $search); 

    return $search; 
} 
+0

你的意思是要獲得該自定義帖子類型的所有帖子? – jlocker

+0

不,在wp-admin中,您可以看到帖子列表,並且您可以搜索,我需要只能通過標題進行搜索(這就是上述操作),但是也可以獲得結果的所有子頁面。 –

回答

0

而不是試圖重建一個複雜的SQL查詢,它會更簡單地在子節點的'posts_results'過濾器中添加。結合你已經做了什麼(限制搜索到標題),以下內容將添加到任何子頁面。

add_filter('posts_results', 'admin_postsearch_shops', null, 2); 
    function admin_postsearch_shops($posts) { 
     foreach($posts as $post) { 
      $args = array('post_parent' => $post->ID); 
      foreach (get_children($args) as $child) { 
       $posts[] = $child; 
      } 
     } 
     return $posts; 
    } 
相關問題