我试图在WordPress上创建一个包含我所有帖子的网格页面。
直到我添加the_excerpt();
我的职位。电网变得一团糟。行不再正确。
这就是我没有的the_excerpt();
:
这就是
the_excerpt();
:
这里是我的页面代码。php:
<?php /* Template Name: Blog-3 */ ?>
<?php get_header(); ?>
<div>
<div class="container">
<?php query_posts(\'post_type=post&post_status=publish&posts_per_page=10&paged=\'. get_query_var(\'paged\')); ?>
<div class="row">
<?php if( have_posts() ): ?>
<?php while( have_posts() ): the_post(); ?>
<div class="col-sm-6" style="margin-bottom: 65px;">
<p>
<?php if ( has_post_thumbnail() ) : ?>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail( \'large\' ); ?></a>
<?php endif; ?>
</p>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<p>Posted on <?php echo the_time(\'F jS, Y\');?> by <?php the_author_posts_link(); ?> </p>
<?php the_excerpt(); ?>
</div><!-- col -->
<?php endwhile; ?>
</div><!-- row -->
</div><!-- container -->
<div>
<span><?php previous_posts_link(__(\'« Newer\',\'example\')) ?></span> <span class="older"><?php next_posts_link(__(\'Older »\',\'example\')) ?></span>
</div><!-- /.navigation -->
<?php else: ?>
<div id="post-404">
<p><?php _e(\'None found.\',\'example\'); ?></p>
</div><!-- /#post-404 -->
<?php endif; wp_reset_query(); ?>
</div><!-- /#content -->
<?php get_sidebar();
get_footer();?>
SO网友:Kieran McClung
我解决这个问题的方法是每隔第n列关闭一行,如下所示。您基本上收集当前循环中的帖子总数,然后在每个循环结束时,递增$i
然后检查它是否可以被二整除(我对这部分的解释很垃圾)。
示例:您可以将其调整为if ( $i % 3 == 0 )
如果您想要3行。
下面的示例可以替换整个容器。
<div class="container">
<?php query_posts(\'post_type=post&post_status=publish&posts_per_page=10&paged=\'. get_query_var(\'paged\')); ?>
<?php
// Get total posts
$total = $wp_query->post_count;
// Set indicator to 0;
$i = 0;
?>
<?php while( have_posts() ): the_post(); ?>
<?php if ( $i == 0 ) echo \'<div class="row">\'; ?>
<div class="col-sm-6" style="margin-bottom: 65px;">
<p>
<?php if ( has_post_thumbnail() ) : ?>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail( \'large\' ); ?></a>
<?php endif; ?>
</p>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<p>Posted on <?php echo the_time(\'F jS, Y\');?> by <?php the_author_posts_link(); ?> </p>
<?php the_excerpt(); ?>
</div><!-- col -->
<?php $i++; ?>
<?php
// if we\'re at the end close the row
if ( $i == $total ) {
echo \'</div>\';
} else {
/**
* Perform modulus calculation to check whether $i / 2 is whole number
* if true close row and open a new one
*/
if ( $i % 2 == 0 ) {
echo \'</div><div class="row">\';
}
}
?>
<?php endwhile; ?>
</div><!-- container -->