javiervillanueva
  • 0
Учитель

Проблема с циклом WP_Query и поисковым запросом

  • 0

У меня есть собственный запрос для отображения случайных сообщений на моей боковой панели, например:

$newQuery = array(
     'post__in'  => get_option('sticky_posts'),
     'post_type' => 'ad_listing',
     'posts_per_page' => 10,
     'orderby' => 'rand',
     'post_status' => 'publish');

// Get new set of ads
$smStickyPosts = new WP_Query($newQuery);

if ($smStickyPosts->have_posts()) : while($smStickyPosts->have_posts() : $smStickyPosts->the_post();
    //Display posts
endwhile;

Это отлично работает на всех страницах, кроме страницы поиска, почему-то первым постом в списке всегда является пост, совпадающий с поисковым запросом (например, если я ищу foo и у меня есть пост с заголовком » foo», он будет отображаться сначала, а затем 9 случайных сообщений), это похоже на то, что поисковый запрос также передается в пользовательский цикл.

Также я заметил, что если я ищу что-то, что не находит никаких результатов, сообщения всегда одинаковы, это похоже на то, что orderby => rand ничего не делает, хотя на остальной части сайта он работает нормально.

Кто-нибудь знает, что может быть не так?

Заранее спасибо.

Share
  1. Предлагаем вам взглянуть на http://wordpress.org/support/topic/passing-current-single_tag_title-as-variable-into-new-wp_query — я подозреваю, что самый последний комментарий, который охватывает как резервное копирование, так и сброс вашего запроса, будет помощь.

    • 0

Оставить ответ

You must login to add an answer.