📅  最后修改于: 2023-12-03 15:35:44.381000             🧑  作者: Mango
在 WordPress 主题中,我们经常需要使用循环来显示文章或页面列表。默认情况下,WordPress 的循环是按照发布时间从旧到新的顺序显示文章或页面的。然而,有时候我们想要在显示列表时将最近发布的文章或页面放在前面,而不是在最后。在这篇文章中,我们将介绍如何使用 PHP 自定义 WordPress 循环,以便实现最新优先的显示顺序。
首先,我们需要获取最新文章或页面的列表。为此,我们可以使用 WP_Query 类来创建我们自己的循环。以下是一个例子:
$args = array(
'post_type' => 'post',
'orderby' => 'date',
'order' => 'DESC',
'posts_per_page' => 10
);
$latest_posts = new WP_Query( $args );
if ( $latest_posts->have_posts() ) {
while ( $latest_posts->have_posts() ) {
$latest_posts->the_post();
// 在这里显示文章或页面的列表
}
}
在这个例子中,我们使用 WP_Query
类来获取最新发布的 10 篇文章,并按照发布时间从新到旧的顺序进行排序(也就是最新优先的顺序)。我们还使用 have_posts()
和 the_post()
函数来循环遍历这些文章。在这个循环中,我们可以使用任何 WordPress 的标准函数来显示文章或页面的列表。
除了上面介绍的参数外,WP_Query
类还有很多其他的配置选项,您可以根据需要进行自定义。例如,您可以通过设置 post_type
参数来指定要显示的内容类型,orderby
参数来指定按照哪个字段进行排序,以及 posts_per_page
参数来指定每页显示的文章或页面数量。有关更多信息,请参阅 WordPress 文档中关于 WP_Query 的详细说明。
在这里是一个例子,您可以根据需要进行自定义。以下是一个自定义循环的示例,该循环将最新的 5 篇文章或页面按照发表时间最新的顺序进行排序,并显示文章或页面的标题、摘要、发布时间和特色图像(如果有):
$args = array(
'post_type' => array( 'post', 'page' ),
'orderby' => 'date',
'order' => 'DESC',
'posts_per_page' => 5
);
$latest_posts = new WP_Query( $args );
if ( $latest_posts->have_posts() ) {
while ( $latest_posts->have_posts() ) {
$latest_posts->the_post();
?>
<div class="latest-post">
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php if ( has_post_thumbnail() ) : ?>
<div class="post-thumbnail">
<?php the_post_thumbnail(); ?>
</div><!-- .post-thumbnail -->
<?php endif; ?>
<div class="entry-summary">
<?php the_excerpt(); ?>
</div><!-- .entry-summary -->
<div class="entry-meta">
<time class="entry-date published" datetime="<?php echo esc_attr( get_the_date( 'c' ) ); ?>"><?php echo esc_html( get_the_date() ); ?></time>
</div><!-- .entry-meta -->
</div><!-- .latest-post -->
<?php }
}
在这个例子中,我们使用了 WordPress 模板标签,如 the_title()
、the_excerpt()
、the_post_thumbnail()
和 get_the_date()
,来获取文章或页面的标题、摘要、特色图像和发布时间。在这个例子中,我们还创建了一个名为 latest-post
的 CSS 类,以便可以根据需要为这些文章或页面添加自定义样式。
WordPress 自定义循环最新优先 - PHP,我们使用了 WP_Query 类来创建我们自己的循环,并使用自定义参数来实现最新优先的显示顺序。我们还演示了如何使用标准 WordPress 模板标签来自定义输出内容。我们希望这篇文章对您有所帮助,并能够帮助您在 WordPress 中实现自定义循环。