WordPress主循环The Loop

WordPress的主循环The Loop用来输出内容,例如:文章内容、页面内容、文章列表。一些WordPress函数规定必须在Loop循环中使用,这是因为它们需要获取文章的ID

例如这些函数:

  • the_title():输出标题;
  • the_time():输出文章发表时间;
  • the_category():输出文章的分类;
  • the_permalink():输出文章的链接;

WordPress函数的命名很科学,从字面上基本就能猜到函数作用,通常带有the的,都需要获取当前文章的ID,需要在主循环中使用。

下面来看看WordPress主循环The Loop相关代码:

1
2
3
4
5
<?php if( have_posts() ) : ?>
<?php while( have_posts() ) : the_post(); ?>
    这里是要输出的具体内容...
<?php endwhile; ?>
<?php endif; ?>

以文章和页面为例,输出文章/页面的标题和内容:

1
2
3
4
5
6
7
8
9
10
<?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; ?>

同样的,以分类或首页的文章列表输出为例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?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', '{5cc1b29162d549a8071384de182cc9fc6e6a0fd85e7907f22fd9e18cff4269c3}' ); ?>)</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; ?>
原文链接:https://xiaohost.com/2372.html,转载请注明出处。
0