我想返回有关博客的信息。它可以是,作者姓名,标题,日期,国家,任何只是为了测试。
<?php
$post_id = get_the_ID();
while ($post_id != 0)
{
$queried_post = get_post($post_id);
$author_id = $queried_post->post_author;
echo get_the_author_meta(\'display_name\',$author_id);
$post_id++;
}
?>
在下面的代码中,我试图获取post\\u id 20到25之间的所有作者的名字。运行代码时,仅显示:
The author is:
The author is:
The author is:
The author is:
The author is:
The author is:
你能告诉我如何修复它,以便它返回有关博客的任何类型的信息(在本例中,是作者的姓名)。
THE UPDATED CODE DOESN\'T DISPLAY ANYTHING.
最合适的回答,由SO网友:Qaisar Feroz 整理而成
您需要重新排列代码。
<?php
$post_id = 20;
while($post_id <= 25) {
$queried_post = get_post($post_id);
$author_id = $queried_post->post_author;
echo get_the_author_meta(\'display_name\', $author_id);
$post_id++;
}
?>
内
while
在您的上方循环
$queried_post
这是类的对象
WP_Post
.
Member Variables of WP_Post 可用于显示有关每个帖子的数据。
我希望这会有所帮助。
UPDATE
如果我想循环应用到网站上的所有帖子,该怎么办。我需要做哪些改变才能申请所有的职位?
在这种情况下,您可以使用get_posts()
返回 对象
<?php
$arg = array( \'numberposts\' => -1 ); // get all posts
$queried_posts = get_posts( $arg);
// Now loop through $queried_posts
foreach( $queried_posts as $queried_post ) {
$author_id = $queried_post->post_author;
echo get_the_author_meta(\'display_name\', $author_id);
}
?>
SO网友:J.Bigham
您需要在循环中获取作者名称。一旦你进入圈内,你将一次处理一篇帖子,然后你可以访问任何你需要的帖子信息。https://codex.wordpress.org/Class_Reference/WP_Post
**Qaisar为您的while循环提供了合适的功能。在圈内,你必须拿到帖子$queryed\\u post=get\\u post($post\\u id);然后你可以找到作者。。。
再次更新
<?php
$args = [
\'post__in\' => range( 20, 25 ), //**get post in your range**
];
$queried_posts= get_posts( $args ); // **now you have the post you want**
foreach( $queried_posts as $queried_post ) { // **loop through**
$author_id = $queried_post->post_author;
echo get_the_author_meta(\'display_name\', $author_id) .\'</br>\';
}
?>