我正在使用以下代码在我的网站上使用Wordpress标记构建精选帖子部分(标记为“精选”的3条最新帖子显示在主页上):
<?php
$args=array(
'tag' => 'featured',
'showposts'=>3,
'caller_get_posts'=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<div class="featured-article">
<!--thumbnail, title and link code here -->
</div>
<?php
endwhile;
} //if ($my_query)
wp_reset_query(); // Restore global post data stomped by the_post().
?>
每个条目都包含“精选文章”,但由于我希望第一个帖子是全宽和其他2个半宽,我想知道如何为它们添加适当的类? 所以,第一个帖子得到“全宽”类,另外两个“半宽”......
如果我没有正确解释它(英语不是第一语言和所有语言),我道歉。
非常感谢任何帮助
答案 0 :(得分:1)
您可以在循环中获得$ my_query-&gt; current_post的帖子索引。
$class = $my_query->current_post == 0 ? 'full-width' : 'half-width';
您可能还想确保该类仅应用于第一页的第一项
$class = $my_query->current_post == 0 && !is_paged() ? 'full-width' : 'half-width';
这是你的循环
<?php
$args=array(
'tag' => 'featured',
'showposts'=>3,
'caller_get_posts'=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();
$class = $my_query->current_post == 0 && !is_paged() ? 'full-width' : 'half-width'; ?>
<div class="featured-article <?php echo $class; ?>">
</div>
<?php
endwhile;
} //if ($my_query)
wp_reset_query(); // Restore global post data stomped by the_post().
?>
答案 1 :(得分:0)
你可以用计数器来解决这个问题。
<?php
$args=array(
'tag' => 'featured',
'showposts'=>3,
'caller_get_posts'=>1
);
$my_query = new WP_Query($args);
//add classes
$counter = 0;
$classes = '';
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();
$classes = $counter == 0 ? ' full-width' : ' half';
?>
<div class="featured-article<?php echo $classes; ?>">
<!--thumbnail, title and link code here -->
</div>
<?php
$counter++;
endwhile;
} //if ($my_query)
wp_reset_query(); // Restore global post data stomped by the_post().
?>
或者您可以为添加课程制作自定义文件。