WordPres Meta Query, как - PullRequest
       8

WordPres Meta Query, как

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

Я пытаюсь получить сообщение из базы данных, где post_title LIKE "% Weapon%".

Я попробовал код из приведенного ниже, но файл single.php умирает.

            $args = array(
                'numberposts'  => 20,
                'category'     => 4,
                'meta_query' => array(
                    array(
                    'key' => 'title',
                    'value' => "Weapon",
                    'compare' => 'LIKE'
                    )
                )
            );
            // $posts = get_posts($args);

            query_posts( $args );

Я хочу получать сообщения из базы данных, где post_title LIKE "% Weapon%".

Ответы [ 2 ]

0 голосов
/ 14 июня 2019

Если использовать «s» => «Оружие», он выдаст вам все сообщения, в заголовках и содержании которых содержится «Оружие».

Но если вы хотите получать только сообщения, похожие на заголовки, вам нужно добавить туда немного SQL.

$string="Weapon";
global $wpdb;
$theneededposts=$wpdb->get_col("SELECT ID FROM $wpdb->posts 
  WHERE post_title
  LIKE '%".esc_sql($string)."%' "
);
if (empty($theneededposts)) $theneededposts=array();
$args = array(
           'numberposts'  => 20,
            'category'     => 4,
            'post__in'=>$theneededposts,
           );
$posts = get_posts($args);
0 голосов
/ 15 мая 2019

Проблема в том, что заголовок сообщения не является мета-значением.Как предложил Артем, взгляните на этот вопрос, особенно ответы Томаса (который работает, но также будет искать содержимое сообщения) и Буллена (используя пользовательский запрос, ищущий только в заголовке): WordPress get_posts по заголовкукак

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