Пользовательский поиск WordPress by post_type

Я пробовал несколько методов, но я не могу фильтровать пользовательские post_types из моих результатов поиска и надеялся, что кто-то сможет помочь.

Я установил «Менеджер заданий» и создал 4 задания, у которых есть пользовательский post_type = 'jobman_job'

Я попытался создать форму поиска вручную и установить скрытое значение post_type = jobman_job но он все равно возвратил все сообщения.

 <form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>"> <input type="text" name="s" id="s" value=""/> <input type="hidden" name="post_type" value="jobman_job" /> <input type="submit" id="searchsubmit" value="Search" /> </form> 

Затем я попытался создать страницу пользовательского поиска и перенаправить поиск на эту страницу следующим образом (например, добавлено скрытое поле page_id):

 <form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>"> <input type="text" name="s" id="s" value=""/> <input type="hidden" name="page_id" value="123" /> <input type="hidden" name="post_type" value="jobman_job" /> <input type="submit" id="searchsubmit" value="Search" /> </form> 

И затем на странице пользовательского поиска я добавил следующий код (согласно руководству wordpress – http://codex.wordpress.org/Creating_a_Search_Page ), и я добавил post_type jobman_job в массив запросов:

 global $query_string; $query_args = explode("&", $query_string); $search_query = array('post_type' => 'jobman_job'); foreach($query_args as $key => $string) { $query_split = explode("=", $string); $search_query[$query_split[0]] = urldecode($query_split[1]); } // foreach $search = new WP_Query($search_query); 

И он по-прежнему отображает все сообщения …

Что я делаю не так? Я проверил столбец post_type в таблице wp_posts, и у меня есть 4 уникальные записи … так что они есть …

Любое понимание?

Solutions Collecting From Web of "Пользовательский поиск WordPress by post_type"