WordPress включает настраиваемое поле в поиск - PullRequest
0 голосов
/ 31 мая 2019

У меня есть пользовательский тип сообщения post_type_1 в WordPress, у меня также есть пользовательское поле в этом типе сообщения custom_field_data

Я выполняю поиск apples, опрашивая сообщения, используя wp_query, как это ...

$search_term = 'apples';

$args = array(
    'post_type'      => array('post_type_1'),
    'post_status'    => array('publish'),
    'posts_per_page' => -1,
    's'              => sanitize_text_field( $search_term)
);

$results= new WP_Query( $args );

Это работает правильно и возвращает все сообщения с apples в заголовке, но я также хотел бы расширить поиск до настраиваемого поля custom_field_data, чтобы запрос возвращал все сообщения с apples либо в заголовке, либо в пользовательском поле.

Какой мой лучший подход? Я пытался использовать meta_query, но не удалось. У кого-нибудь есть пример?

1 Ответ

0 голосов
/ 31 мая 2019

Используйте приведенный ниже код будет работать для custom field search.

$custom_field = $_GET['custom_field '] != '' ? $_GET['custom_field '] : '';
$search_term = 'apples';

$args = array(
    'post_type'      => array('post_type_1'),
    'post_status'    => array('publish'),
    'posts_per_page' => -1,
    's'              => sanitize_text_field( $search_term),
    'meta_query'    =>  array(
                          array(
                                'key'     => 'custom_field_key', 
                                'value'   => $custom_field ,
                                'compare' => 'LIKE', 
                                ),
                            )
    );
$results= new WP_Query( $args );

Проверено и хорошо работает.

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