2012-08-24 25 views
2

我一直在修改爲Wordpress提供Stackoverflow靈感徽章系統的已久廢棄插件項目。我已經升級了它的代碼,所以它的功能與新的WordPress版本。顯示WP作者和未登錄用戶的PHP代碼

如果有興趣你可以在這裏查看整個代碼: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代碼示例,以便顯示作者的徽章而不是登錄用戶的徽章

回答

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

+0

如果代碼在循環中呢? –

+0

我只是試了一下這段代碼,它似乎也在循環中工作。 –

+1

太棒了,很高興爲你工作。如果遇到問題,Codex頁面還有其他樣本。 – Mark