WordPress主循环The Loop
WordPress的主循环The Loop用来输出内容,例如:文章内容、页面内容、文章列表。一些WordPress函数规定必须在Loop循环中使用,这是因为它们需要获取文章的ID
例如这些函数:
- the_title():输出标题;
- the_time():输出文章发表时间;
- the_category():输出文章的分类;
- the_permalink():输出文章的链接;
WordPress函数的命名很科学,从字面上基本就能猜到函数作用,通常带有the的,都需要获取当前文章的ID,需要在主循环中使用。
下面来看看WordPress主循环The Loop相关代码:
<?php if( have_posts() ) : ?>
<?php while( have_posts() ) : the_post(); ?>
这里是要输出的具体内容...
<?php endwhile; ?>
<?php endif; ?>
以文章和页面为例,输出文章/页面的标题和内容:
<?php if( have_posts() ) : ?>
<?php while( have_posts() ) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<h1 class="title"><?php the_title(); ?></h1>
<div class="content">
<?php the_content(); ?>
</div>
</article>
<?php endwhile; ?>
<?php endif; ?>
同样的,以分类或首页的文章列表输出为例:
<?php if( have_posts() ) : ?>
<?php while( have_posts() ) : the_post(); ?>
<article class="entry">
<h1><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title_attribute(); ?></a></h1>
<footer class="post-meta">
<time class="dashicons-before dashicons-clock" datetime="<?php the_time( 'c' ); ?>" pubdate><?php the_time( 'Y-m-d' ); ?></time>
<?php if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) : ?>
<span class="comments-links dashicons-before dashicons-admin-comments">评论(<?php comments_popup_link( '0', '1', '%' ); ?>)</span>
<?php endif; ?>
</footer>
<p class="excerpt"><?php echo mb_strimwidth(wp_strip_all_tags($post->post_content, true), 0, 200, '...' ); ?></p>
</article>
<?php endwhile; ?>
<?php endif; ?>