我想在我的WP页面上有3个方框。
<div class="row text-center">
<div class="col-md-4">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php static $count = 0;
if ($count == "1") { break; }
else { ?>
<div class="post">
<?php the_title(); ?>
<?php the_content(); ?>
</div>
<?php $count++; } ?>
<?php endwhile; ?>
<?php endif; ?>
</div>
<div class="col-md-4">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php static $count = 0;
if ($count == "1") { break; }
else { ?>
<div class="post">
<?php the_title(); ?>
<?php the_content(); ?>
</div>
<?php $count++; } ?>
<?php endwhile; ?>
<?php endif; ?>
</div>
<div class="col-md-4">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php static $count = 0;
if ($count == "1") { break; }
else { ?>
<div class="post">
<?php the_title(); ?>
<?php the_content(); ?>
</div>
<?php $count++; } ?>
<?php endwhile; ?>
<?php endif; ?>
</div>
</div>
对象是在三个框中的每个框中都有一个不同的特定帖子。
我正在尝试创建一个页面,每个文本块都可以从管理员而不是代码中轻松编辑。我正在使用一个插件,允许我在帖子中添加一个短代码,我想要显示我的特定帖子。
我有箱子,一切都正确。
第一个框填充正确的帖子,但其他两个不会显示他们的帖子。
似乎我只能在页面上使用一次循环,如果是这样我怎样才能实现我的目标?
感谢您的阅读,我们非常欢迎任何可以理解的建议,我最近才开始定制主题,PhP也有点挣扎,所以如果帮助可能会让人感到沮丧,我将不胜感激。
注意:我已经尝试用继续建议替换休息,但第二和第三个帖子仍然没有显示。是否有可能不仅仅用continue替换单词break?
答案 0 :(得分:0)
自breaks
以来第二次迭代的foreach循环中的循环$count = 1
。你可能想continue
跳过第二篇文章?
(不要试图认为break
只是突破了条件块。条件逻辑只选择执行哪个路径或代码块。)
修改强> 首先,你正在为每个盒子做一个循环...循环的目的是让你不需要重复你的代码。 其次,每次都要重新启动循环..
使用这样的循环:
$query = new WP_Query( array( 'post_type' => 'post' ) );
<?php if ( $query->have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="post">
<?php the_title();
the_content();
?>
</div>
<?php endwhile;
wp_reset_postdata();
endif;
?>
有几种方法可以进行查询。我更喜欢简单查询的get_posts,因为你不需要使用这种方式重置postdata。您将相同的参数传递给WP_Query
。
另外,我建议您为此创建一个页面模板并将其分配给页面。这样,如果您想要更改模板,只需为页面分配一个不同的模板,而不是修改index.php代码。