Поле поиска Wordpress, влияющее на пользовательский запрос - PullRequest
0 голосов
/ 21 марта 2012

Только что натолкнулся на проблему с моим шаблоном Wordpress, которую я не могу понять.Я использую пользовательское меню (выполняется просто с помощью быстрого запроса query_posts ()), но при поиске определенных терминов на мой запрос влияют.Не знаю, почему.

Вот мой код меню:

<?php $main_cats=explode(",",$options['main_cats']); ?> 
<?php $myargs = array('post_type' => 'page', 'post__in'=>$main_cats,'order'=>'ASC'); ?>
<?php query_posts($myargs);
    while ( have_posts() ) : the_post(); ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; wp_reset_query();?>

Это должно закончиться 4 пунктами меню.Однако при поиске нескольких элементов, связанных с «заданием», кажется, что плагин «Диспетчер заданий» входит в (http://pento.net/projects/wordpress-job-manager-plugin/)), и я получаю один результат в меню «Это задание не существует».этот плагин мог повлиять на мой запрос.

Есть мысли?

Ответы [ 3 ]

1 голос
/ 21 марта 2012
  1. Возможно использовать функцию собственного меню для создания меню, http://codex.wordpress.org/Function_Reference/wp_nav_menu

  2. Не использовать query_posts ($ myargs), query_posts () предназначен для изменения основногопетля.Используйте WP QUERY http://codex.wordpress.org/Class_Reference/WP_Query (или get_posts).

1 голос
/ 22 марта 2012

В этом коде предполагается, что $ main_cats содержит правильные данные, прежде чем проверять это, убедитесь, что переменная верна:

<?php 
$main_cats=explode(",",$options['main_cats']);
$menu_items=get_posts(array('post_type' => 'page', 'post__in'=>$main_cats,'order'=>'ASC'));
foreach($menu_items as $menu_item){ ?>
    <li><a href="<?php echo get_permalink($menu_item->ID); ?>"><?php echo $menu_item->post_title; ?></a></li>
<?php } ?>
0 голосов
/ 21 марта 2012

Попробуйте wp_reset_query(); до и после запроса, как у вас. Я думаю, что запрос плагина происходит раньше, чем ваш. Там может быть что-то перенесено из этого. Сброс до того, как ваш запрос может дать вам чистую доску.

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