我正在尝试获取当前作者档案的作者姓名:
if (is_author()) return AUTHOR_NAME;
但是我怎样才能得到当前的作者姓名呢?
这实际上有一个有趣的技巧。在作者档案中,您对查询中的所有帖子了解的一件事是它们都出自您想要的作者。无论如何,您想要的功能是get_the_author()。
如果您在进入(甚至退出)循环之后想要作者姓名,则加载的最后一篇文章将由作者撰写,使用get_the_author()就足够了。
另一方面,如果您在进入循环之前想要作者姓名,则需要加载第一篇文章的数据,然后在进入循环之前回退查询,如下所示:
if ( have_posts() ) {
the_post();
$author = get_the_author();
rewind_posts();
}
如果您根本不需要循环,则可以跳过倒带。
如果查询中没有帖子,您的工作会稍微艰难一些。
你可以这样做:
the_post();
$author_name = get_the_author();
rewind_posts();
global $wp_query;
$author = get_user_by('slug', $wp_query->query_vars['author_name']);
这将显示当前页面/帖子的作者:
<?php echo get_the_author() ; ?>
无需rewind_posts()
技巧:
$qo = get_queried_object();
$author = $qo->data->display_name;