一个页面上有多个get_post()查询

时间:2015-02-09 作者:lukaszkups

我正在构建自定义页面模板,其中有些内容可以通过适当的文章/帖子进行编辑。以下是这些代码块:

<?php
$contact = new WP_Query();
$contact = get_posts( array( \'slug\' => \'contact-home\' ) );
if ( $contact )
{
echo apply_filters ("the_content", $contact[0]->post_content);
}
wp_reset_postdata();
?>

.. some template code ...

<?php
$about = new WP_Query();
$about = get_posts( array( \'slug\' => \'about-home\' ) );
if ( $about )
{
echo apply_filters ("the_content", $about[0]->post_content);
}
wp_reset_postdata();
?>

.. some template code ...

<?php
$history = new WP_Query();
$history = get_posts( array( \'slug\' => \'history-home\' ) );
if ( $history )
{
echo apply_filters ("the_content", $history[0]->post_content);
}
wp_reset_postdata();
?>
但无论我做什么,所有变量都有一个数组,数组中的变量都是从其他查询中预加的(例如。$about[0] 从中提供查询结果$history, $about[1] 给予$about 结果,以及$about[2] 退货$contact 结果)。

有人能帮我吗?

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

slug 不是有效的查询参数,因此get_posts() 将只返回X个最新帖子!

使用name 相反

http://codex.wordpress.org/Class_Reference/WP_Query#Post_.26_Page_Parameters

结束

相关推荐

Escape current post from loop

我正在创建一个搜索小部件,为此我通过新的WP\\u Query()使用了一个二级循环;$query = new WP_Query(\'s=searchTerm\'); if ($query->have_posts()){ while ($query->have_posts()){ $query->the_post(); //echo the post } wp_reset_postda