刚刚遇到我的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 ;.但是,我不明白该插件可能会影响我的查询。
有什么想法吗?
答案 0 :(得分:1)
也许使用原生菜单功能来创建菜单,http://codex.wordpress.org/Function_Reference/wp_nav_menu
不要使用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();
,就像您一样。我认为插件查询是在你的之前发生的。可能会有一些遗留下来。在查询之前重新设置可能会为您提供一个清晰的平台。