2

我一直在修改一个长期废弃的插件项目,该项目为 Wordpress 提供了一个受 Stackoverflow 启发的徽章系统。我已经升级了它的代码,所以它可以在新的 Wordpress 版本中运行。

如果有兴趣,可以在这里查看整个代码:http: //pastebin.com/kCWWLPL2

我想在 author.php 页面中添加一个代码来列出作者获得的徽章。到目前为止,我只设法使用此工作代码显示登录用户的徽章:

<?php
$user_id = get_current_user_id();
if ($user_id != 0) {
  rhb_list_badges(array('user_ID' => $user_id));
}
?>

我被告知使用此代码来显示作者的徽章:

<?php
$author = get_user_by( 'slug', get_query_var( 'author_name' ) ); 
if ($author->ID > 0) {
  rhb_list_badges(array('user_ID' => $author->ID));
}
?>

但它不会在页面上返回任何内容。为什么?我在这里做错了什么?如何更改正在工作的 get_current_user_id 代码示例,以便它显示作者的徽章而不是登录用户的徽章

4

1 回答 1

1

您可以在 author.php 页面上的 Loop 之前使用它。

<?php
$curauth = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author));
rhb_list_badges(array('user_ID'=>$curauth->ID));
?>

取自WordPress Codex

于 2012-08-24T14:03:17.723 回答