Wordpress поисковый запрос - точное соответствие заголовка сообщения - PullRequest
0 голосов
/ 06 июня 2018

У меня есть куча постов под названием что-то вроде этого ...

  • Английский язык 2015
  • Английский язык 2016
  • Английский язык 2017
  • Английский язык 2018

И на каждом из этих постов у меня есть выпадающее меню выбора, отображающее посты с одинаковым названием, но разным годом.Вот мой код для этого.Кстати, я использую плагин Relavanssi:

<?php global $post;

$the_title = preg_replace('/[0-9]+/', ' ', $post->post_title);

$args = array(
    'post_type' => 'product',
    's'         => $the_title,
    'sentence'  => true,            
    'exact'     => true,    
    'orderby'   => 'title',
    'order'     => 'ASC',
    'showposts' => -1
);  

$query = new WP_query($args);

relevanssi_do_query($query); 

    if ($query->post_count > 1) { ?>

        <h4>Years</h4>

        <select onchange="location = this.value;">

            <option disabled selected value>Select Year</option>

            <?php

            foreach ($query->posts as $r_post) {

                if ($r_post->ID == $post->ID ) continue;
                $link = get_permalink($r_post->ID);
                $title = get_the_title($r_post->ID);

                echo "<option value='$link'>$title</option>";

            }

            ?>

        </select>

 <?php } ?>

Как видите, я ищу заголовок текущей записи и удаляю годы.

Все хорошо, ОДНАКО, если у меня есть еще сообщения, называемые чем-то вроде ...

  • Английский язык и литература 2015
  • Английский язык и литература 2016
  • Английский язык и литература 2017
  • Английский язык и литература 2018

... эти сообщения также будут отображаться в раскрывающемся меню в сообщениях выше на английском языке, а такжеон подбирает фразу «Английский язык», но я хочу точный поисковый запрос, поэтому он отображает только сообщения «Английский язык» в выпадающем списке этих сообщений.

Я пытался заключить переменную $ the_title в кавычки, пытаясь найти фразу, но это ничего не дало.

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