影响自定义查询的Wordpress搜索字段

时间:2012-03-21 15:07:56

标签: wordpress wordpress-theming

刚刚遇到我的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个菜单项。但是,当搜索一些&#34; job&#34;相关项目,似乎Job Manager插件步入(http://pento.net/projects/wordpress-job-manager-plugin/),我得到一个菜单结果说明&#34;这个工作没有存在&#34 ;.但是,我不明白该插件可能会影响我的查询。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

  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 :(得分:1)

此代码假设$ 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 } ?>

答案 2 :(得分:0)

在查询之前以及之后尝试wp_reset_query();,就像您一样。我认为插件查询是在你的之前发生的。可能会有一些遗留下来。在查询之前重新设置可能会为您提供一个清晰的平台。