我有一个静态页面,其中有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; ?>
提前致谢,感谢您提供的任何帮助。
答案 0 :(得分:1)
我只需将WP_Query
的号码替换为get_posts()
,这将提供一系列帖子对象。
$latest_posts = get_posts( array(
'category_name' => 'Allgemein',
'posts_per_page' => 10,
) );
我在上面的示例中删除了order
和orderby
。虽然您可能对要显示的帖子数量有不同的全局设置,但您不太可能修改默认排序。
文档:https://codex.wordpress.org/Template_Tags/get_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.
}