在调用Query_Posts()之后使用wp_list_ages()

时间:2011-03-18 作者:Gavin Anderegg

可能我只是做错了,所以请随时告诉我您将如何解决此问题。

我有一个主要基于页面的网站,但也有一些“页面”,其中我的内容来自自定义query_posts() 呼叫在所有这些页面中,我希望能够使用wp_list_pages() 生成子导航。当我在一个普通页面上时,这很好用,但当我在一个query_posts() 内容,这根本不起作用。

这里有一个我所说的“页面”的例子。这是一个主题文件,名为page-media.php:

<?php get_header(); ?>

<?php query_posts(\'category_name=in-the-media\'); ?>

    <?php get_template_part(\'loop\', \'index\'); ?>

<?php get_sidebar(); ?>

<?php get_footer(); ?>
子导航发生在sidebar.php, 所以这是在循环后发生的。

以下是我如何生成菜单:

if($post->post_parent)
{
    $children = wp_list_pages(\'title_li=&child_of=\' . $post->post_parent . \'&echo=0\');
}
else
{
    $children = wp_list_pages(\'title_li=&child_of=\' . $post->ID . \'&echo=0\');
}
然后打印$children 稍后在a中<ul>. 这在页面或其子页面中非常有效,但在我调用的页面中不显示任何内容query_posts().

我的做法正确吗?我有什么遗漏吗?

谢谢

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

这是为了将来的提问者,
无论何时使用query\\u post或自定义wp\\u query,都应该添加wp\\u reset\\u query();在循环之后或处理完帖子之后。这一小行代码将有助于解决分页问题,或者在您的情况下,像查询之前一样将全局$发布到原始页面。

结束

相关推荐

Posts wont expire

我在安排帖子自动过期(要么删除,要么起草)方面遇到了一些麻烦,我尝试过的每个插件都没有做任何事情,当它达到预定时间时,什么都没有发生,这让我觉得这可能是我一直忽视的一件简单的事情。。我想我可能对wp-cron有问题,但我似乎在通过wordPress设置未来的发布日期方面没有任何问题。我运行了最新版本的Wordpress,并设置了多个站点。所有插件都是目前可用的最新版本。有人有什么想法吗??我没有东西可以尝试了。。。提前感谢塔夫芝