Проблема в том, что тип вложения возвращается, даже если указан тип записи - PullRequest
0 голосов
/ 16 февраля 2020

мой код здесь

function title_filter( $where, $wp_query ){
global $wpdb;
if( $search_term = $wp_query->get( 'title_filter' ) ) :
    $search_term = $wpdb->esc_like( $search_term );
    $search_term = ' \'%' . $search_term . '%\'';
    $title_filter_relation = ( strtoupper( $wp_query->get( 'title_filter_relation' ) ) == 'OR' ? 'OR' : 'AND' );
    $where .= ' '.$title_filter_relation.' ' . $wpdb->posts . '.post_title LIKE ' . $search_term;
    $where .= ' '.$title_filter_relation.' ' . $wpdb->posts . '.post_content LIKE ' . $search_term;
endif;
return $where;
}

и wp запрос здесь

add_filter( 'posts_where', 'title_filter', 10, 2 );

$loop = new WP_Query(array(
    'post_type'         => 'my-post-type',
    'post_status' => 'publish'
    'title_filter' => $keyword,
    'title_filter_relation' => 'OR',
    'meta_query' => array(
        'relation' => 'OR',
        array(
            'key' => 'my-meta-field',
            'value' => $keyword,
            'compare' => 'LIKE'
        )
    )
));

remove_filter( 'posts_where', 'title_filter', 10, 2 );

Этот код не только дает тип записи "my-post-type", но даже возвращает тип вложения.

Я указал тип сообщения, почему это будет?

Если не использовать title_filter, то тип вложения не возвращается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...