Для этого вы можете использовать три крючка,
- «posts_join» крюк присоединиться к вашей пользовательской таблицы на почту таблице
- «posts_where» крюк расширить ИНЕКЕ запроса, чтобы посмотреть в ваш пользовательский табличные поля.
'posts_groupby' крюк добавить предложения GROUP BY в запросе
add_filter('posts_join', 'prefix_search_join');
add_filter('posts_where', 'prefix_search_where');
add_filter ('posts_groupby', 'prefix_search_groupby');
function prefix_search_join($join)
{
//global $custom_table contain your custom table name
global $custom_table, $wpdb;
if(is_search()) {
//your joining sql
}
return $join;
}
function prefix_search_where($where)
{
if(is_search()) {
//Where clause
}
return $where;
}
function prefix_search_groupby($groupby)
{
global $wpdb;
if(!is_search()) {
return $groupby;
}
//we need to group on post ID
$mygroupby = "{$wpdb->posts}.ID";
if(preg_match("/$mygroupby/", $groupby)) {
//grouping we need is already there
return $groupby;
}
if(!strlen(trim($groupby))) {
//groupby was empty, use ours
return $mygroupby;
}
//wasn't empty, append ours
return $groupby . ", " . $mygroupby;
}
для получения более подробной информации, проверьте эту ссылку https://codex.wordpress.org/Custom_Queries я надеюсь, что это поможет вам
привет NaHiD, спасибо за входы, но я ищу этот пример: пользователь ввел «select * from wp_posts» в поле поиска. Затем выполните поиск. С параметром запроса https://wordpress.org/search/select+%2A+from+wp_posts++-- i.e, Результаты поиска: выберите * из wp_posts - (0). Я хочу настроить результаты поиска без добавления запроса в держателе места. – Senthil
Для предложения select вы можете использовать add_filter ('posts_groupby', 'prefix_search_select'); крюк. –