kansiho's memo

ruby, python, javascript. Rails, wordpress, OpenCV, heroku...

Wordpressで独自のユーザー項目を追加し表示する

https://s.w.org/images/backgrounds/wordpress-bg-medblue.png

ユーザー項目の追加

functions.phpにて、

$wb['フィールド名'] = '表示名';

の規則に従い、追加していく。

// ユーザープロフィールの項目のカスタマイズ
function my_user_meta($wb)
{
    //項目の追加
    $wb['twitter'] = 'twitter';
    $wb['facebook'] = 'facebook';
    $wb['position'] = '役職';

    return $wb;
}
add_filter('user_contactmethods', 'my_user_meta'); //追加するには、user_contactmethods フィルターフックを使用。user_contactmethodsという文言は変えないこと!

ユーザー項目の表示

「the_author_meta」というテンプレートタグを利用する。 このタグをループの中で使った場合、ユーザー ID を指定する必要はなく、表示されるデータは現在の投稿の作成者のものになる。

<?php echo get_the_author_meta( 'twitter' ); ?>

ループの外で使う場合、ユーザー ID を指定する必要がある。

<?php echo get_the_author_meta( 'twitter', $userID ); ?>

デフォルトのユーザー項目のフィールド名

既存のユーザー項目のフィールド名を参考までにあげておく。 (例: <?php the_author_meta( 'user_email', $userID ); ?>)

user_login
user_pass
user_nicename
user_email
user_url
user_registered
user_activation_key
user_status
display_name
nickname
first_name
last_name
description
jabber
aim
yim
user_level
user_firstname
user_lastname
user_description
rich_editing
comment_shortcuts
admin_color
plugins_per_page
plugins_last_view
ID

the_author_meta() は wp-includes/author-template.php 内で定義されている。

表示しているテンプレートがどこかわからない時

ja.wordpress.org

で表示してみる。

参考にしたサイト

テンプレートタグ/the author meta - WordPress Codex 日本語版

whitebear-seo.com