2017-02-07 11 views

ответ

0

Для этого вы можете использовать три крючка,

  • «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 я надеюсь, что это поможет вам

+0

привет NaHiD, спасибо за входы, но я ищу этот пример: пользователь ввел «select * from wp_posts» в поле поиска. Затем выполните поиск. С параметром запроса https://wordpress.org/search/select+%2A+from+wp_posts++-- i.e, Результаты поиска: выберите * из wp_posts - (0). Я хочу настроить результаты поиска без добавления запроса в держателе места. – Senthil

+0

Для предложения select вы можете использовать add_filter ('posts_groupby', 'prefix_search_select'); крюк. –