WordPressに最近登録したメンバーのアバターを列記する方法
<ul> <?php $usernames = $wpdb->get_results("SELECT user_nicename, user_url FROM $wpdb->users ORDER BY ID DESC LIMIT 5"); foreach ($usernames as $username) { echo '<li>' .get_avatar($username->comment_author_email, 45).'<a href="'.$username->user_url.'">'.$username->user_nicename."</a></li>"; } ?></ul>
元ネタはHow To Display Recently Registered Users on WordPress
LIMIT 5 となっているところの数字は出力するアイテムの数、45はアバターのサイズ。このマークアップだとアバターの横にプロフィール欄に記入されたリンクつきのnicenameが表示されるというもの。杉並区おた助でやっているようなリンクつきアバターのみで、imgのaltにnicenameというものにするには、
<ul> <?php $usernames = $wpdb->get_results("SELECT user_nicename, user_url, ID FROM $wpdb->users ORDER BY ID DESC LIMIT 5"); foreach ($usernames as $username) { echo '<li><a href="'.$username->user_url.'" target="_blank">'.get_avatar($username->ID, 45,"",'.$username->user_nicename.')."</a></li>"; } ?></ul>
とします。Twit Connectとの兼ね合いでget_avatarの第一引数をemailでなくIDにしています。第四引数でaltを指定できるはずですが、現状作動しません。原因はTwit Connectによるget_avatar関数のフィルターのせい、独自のものに置き換えているせいだと思われます。
twitconnect.phpのtwc_get_avatarという関数を見るとそう感じます。altが空白のままだからです。ここをいじればなんとかなりそうですが手を付けていません。nicenameではなくdisplay_nameを選べばtwitterの名前、machiikuでなくまちいくが表示されるでしょうから実現したいのですが。Twit Connectを入れていなければ上記のコードで表示されるのではないでしょうか。