使用循环返回博客详细信息

时间:2019-05-09 作者:J patel

我想返回有关博客的信息。它可以是,作者姓名,标题,日期,国家,任何只是为了测试。

<?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.

2 个回复
最合适的回答,由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>\';
    }
?>