如何获取帖子的用户元数据?

时间:2017-07-27 作者:Sylar

我试图从帖子中获取用户元数据,但仅获取一个用户:

$args = array(
    \'numberposts\' => 10,
    \'offset\' => 0,
    \'category\' => 0,
    \'orderby\' => \'post_date\',
    \'order\' => \'DESC\',
    \'post_type\' => \'post\',
    \'post_status\' => \'publish\',
    \'suppress_filters\' => true
  );

  $recent_posts = wp_get_recent_posts( $args, ARRAY_A );

foreach ($recent_posts as $post) {
 $user_id = get_the_author_meta(\'ID\', true) // is this correct
 // Is there a function that I need to pass the post ID ($post["ID"])?
 var_dump($user_id);
}
当其他用户发表帖子时,我无法获取他们的元数据。怎么做?

1 个回复
最合适的回答,由SO网友:Johansson 整理而成

您可以将帖子的作者作为参数传递给get_the_author_meta:

get_the_author_meta(\'ID\', $post->post_author);
第二个参数是用户ID。它存储在循环中的post对象中,您可以使用$post->post_author.

原因您当前代码不起作用的原因是get_the_author_meta():

if ( ! $user_id ) {
    global $authordata;
    $user_id = isset( $authordata->ID ) ? $authordata->ID : 0;
} else {
    $authordata = get_userdata( $user_id );
}
如果将第二个参数设置为true(即$user_id ), 它将触发else, 通过触发else,您将通过trueget_userdata(), 这显然行不通。

看看this 更多详细信息,请参阅代码参考页。

结束

相关推荐

create shortcodes for posts

$query = new WP_Query(array( \'post_type\' => \'my_posttype\', \'post_status\' => \'publish\', \'posts_per_page\' => -1, \'orderby\' => \'title\', \'order\' => \'ASC\' )); while ($query->have_posts()) {&#