我试图运行一个WP_查询,然后将从该查询中提取的3篇帖子中的每一篇放到模板中格式不同的div中。然而,当下面的代码运行时,我最终得到的第一篇帖子只显示在所有3个div块中。
我怀疑$cases1->the\\u post[0]没有按我所希望的方式工作,但我不太清楚如何做到这一点。请对WP codex有更好理解的人给我指出正确的方向好吗?
<?php $postid = array(get_the_ID()); ?>
<?php if ( get_post_type() == \'case_study\' ) {
$argsCS = array (
\'post_type\' => \'case_study\',
\'posts_per_page\' => 3,
\'orderby\' => \'desc\',
\'post__not_in\' => $postid
);
$cases1 = new WP_Query($argsCS); if ($cases1->have_posts()) :
?>
<div id="side-1" class="column column-6-12">
<div class="nw">
<?php $cases1->the_post[0]; ?>
<?php include(TEMPLATEPATH."/load-posts-sidebar.php"); ?>
</div>
</div><!-- columns-6-12 -->
<div id="side-2" class="column column-6-12">
<div class="wp">
<?php $cases1->the_post[1]; ?>
<?php include(TEMPLATEPATH."/load-posts-sidebar.php"); ?>
</div>
<div class="cs botMargin10">
<?php $cases1->the_post[2]; ?>
<?php include(TEMPLATEPATH."/load-posts-sidebar.php"); ?>
</div>
</div>
另外,$postid=数组(get\\u the\\u ID());似乎正在设置在3个分区中每个分区中显示的帖子的ID,而不是阻止该帖子显示!
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
关但是你不能自己编语法;)
<?php $postid = array(get_the_ID()); ?>
<?php if ( get_post_type() == \'case_study\' ) {
$argsCS = array (
\'post_type\' => \'case_study\',
\'posts_per_page\' => 3,
\'orderby\' => \'desc\',
\'post__not_in\' => $postid
);
$cases1 = new WP_Query($argsCS); if ($cases1->have_posts()) :
?>
<div id="side-1" class="column column-6-12">
<?php if ( $cases1->have_posts() : $cases1->the_post(); ?>
<div class="nw">
<?php include(TEMPLATEPATH."/load-posts-sidebar.php"); ?>
</div>
<?php endif; ?>
</div><!-- columns-6-12 -->
<div id="side-2" class="column column-6-12">
<?php if ( $cases1->have_posts() : $cases1->the_post(); ?>
<div class="wp">
<?php include(TEMPLATEPATH."/load-posts-sidebar.php"); ?>
</div>
<?php endif; ?>
<?php if ( $cases1->have_posts() : $cases1->the_post(); ?>
<div class="cs botMargin10">
<?php include(TEMPLATEPATH."/load-posts-sidebar.php"); ?>
</div>
<?php endif; ?>
</div>
另外,您不应该在模板中使用include-而是使用get\\u template\\u part()。