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 ページのループの前にこれを使用できます。

<?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 に答える