所以我正在编辑我的 WP 主题文件夹中的 index.php,基本上我想要它做的是:
在博客的第一页显示 4 个帖子。
以不同的方式为第一页上的第一个(最新)帖子设置样式。其他 3 个样式相同。
在每个其他分页页面上显示 6 个帖子。
这是我正在使用的循环,第一页看起来很好,但由于某种原因,在第 2 页及更高的页面上,它的执行非常奇怪,并且在每个附加页面上只显示一个帖子。此外,它只会显示标题,而不是日期或摘录。这是我的代码:
<?php
if( is_home() && !is_paged() ){
global $query_string;
parse_str( $query_string, $args );
$args['posts_per_page'] = 4;
query_posts($args);
if (have_posts()) :
while (have_posts()) : the_post();
if (++$counter == 1) { ?>
<div class="featured_post">
<p class="date"><?php the_date('M j, Y'); ?></p>
<a href="<?php the_permalink(); ?>"><h2><?php the_title(); ?></h2></a>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('featuredblog'); ?></a>
<?php the_excerpt(); ?>
</div>
<?php } else { ?>
<div class="regular_post">
<p class="date"><?php the_date('M j, Y'); ?></p>
<div class="postimage"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('regularblog'); ?></a></div>
<a href="<?php the_permalink(); ?>"><h3><?php
// short_title($after, $length)
echo short_title('...', 7);
?></h3></a>
<?php the_excerpt(); ?>
</div>
<?php } ?>
<?php endwhile;
else :
// Code for no posts found here
endif;
} else {
global $query_string;
parse_str( $query_string, $args );
$args['posts_per_page'] = 6;
query_posts($args); ?>
<div class="regular_post">
<p class="date"><?php the_date('M j, Y'); ?></p>
<div class="postimage"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('regularblog'); ?></a></div>
<a href="<?php the_permalink(); ?>"><h3><?php the_title(); ?></h3></a>
<?php the_excerpt(); ?>
</div>
<?php } ?>
也许那里有太多的 if...else 语句?