我有一个静态页面,10个容器位于index.php文件中的不同位置,我想展示最新的10个帖子。我想回复如下文章的数据(标题、文本、缩略图、作者、时间):
<div class="text">
<?php
echo '$textfrompost3';
?>
</div>
<div class="title">
<?php
echo '$titlefrompost3';
?>
</div>
...
...
我的PHP文件:
<?php
// the query
$the_query = new WP_Query( array(
'category_name' => 'Allgemein',
'posts_per_page' => 10,
"orderby" => "date",
"order" => "DESC"
));
?>
<?php if ( $the_query->have_posts() ) : ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
// insert values into variables
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
谢谢,我感谢你能提供的任何帮助。
发布于 2017-04-25 00:58:47
我只需将您对WP_Query
的调用替换为get_posts()
,它将提供一个post对象数组。
$latest_posts = get_posts( array(
'category_name' => 'Allgemein',
'posts_per_page' => 10,
) );
在上面的示例中,我删除了order
和orderby
。虽然您很可能对要显示的帖子数量设置了不同的全局设置,但您不太可能修改默认的排序。
文档:posts
因此,假设我想输出第三个帖子的标题,我可以这样做:
// let's be sure we have a third post.
if ( isset( $latest_posts[2] ) ) {
echo $latest_posts[2]->post_title; // remember arrays have a zero-based index.
}
https://stackoverflow.com/questions/43590859
复制相似问题