【发布时间】:2014-08-14 01:06:22
【问题描述】:
第一次在这里发帖,所以请耐心等待 :) 我会尽可能清楚地解释我的问题,以便与可能与我有同样问题的其他人相关。
我想在我的 Wordpress 子主题中获得两个结果(准确地说,基于 Bootstrap,Wordpress Bootstrap Master by 320):
- 创建一个包含两个不同循环的双重结构,第一个循环包含最近的 X 个帖子(4 个,用于精确度)和特定格式,第二个循环包含剩余帖子和另一个特定格式
- 在第一个循环的第一个帖子中添加特定类别,其他帖子保持不变
明确地说,我的目标是创建一个带有我循环的前 4 篇文章的 Bootstrap 轮播,然后将另一个样式设置为普通博客。
就目前而言,我已经能够使用以下代码创建包含前 4 个帖子的自定义循环:
<div class="carousel-inner">
<?php global $post; // required
$args = array('posts_per_page'=>4);
$custom_posts = get_posts($args);
foreach($custom_posts as $post) : setup_postdata($post); ?>
<div class="item">
<?php the_post_thumbnail('large'); ?>
<div class="carousel-caption">
<?php the_title(); ?>
</div>
</div>
<?php endforeach; ?>
</div>
然后我将创建第二个循环“抵消”前 4 个帖子。显然我缺少一个更清洁的解决方案,因为我过去曾使用过它,所以如果你有一些建议,我不会抱怨。
关于第二个问题,也是最复杂的一个,我进行了一些研究,并找到了大量不同的解决方案。它们都不起作用,或者我可能没有以正确的方式使它们适应上面的代码(请注意,我只是一个业余编码员,很容易出错)。
我最后一次尝试是这个:
<div class="carousel-inner">
<?php global $post; // required
$args = array('posts_per_page'=>4);
$custom_posts = get_posts($args);
$isFirst = true;
foreach($custom_posts as $post) : setup_postdata($post); ?>
<?php echo '<div class="item'; ?>
<?php if ( $isFirst = true ) {
echo ' active';
} else {
echo '';
} ?>
<?php echo '">'; ?>
<?php $isFirst = false; ?>
<?php the_post_thumbnail('large'); ?>
<div class="carousel-caption">
...
</div>
</div>
<?php endforeach; ?>
</div>
当然,我试过了。
你能帮我解决这个问题吗?我是一个狂热的学习者,我想了解 WTF 对我来说是错的! ;)
在此先感谢大家! :)
克劳迪奥
【问题讨论】:
标签: php wordpress twitter-bootstrap loops foreach