オウンドメディア等でwordpressを使用してブログ構築をする際、記事を書いた人のプロフィール等を表示したいことがあると思いますが、wordpressの、デフォルトのプロフィール情報だけでは足りない場合、ユーザープロフィールの管理画面に項目を追加する必要が出てきます。
その場合の記述方法を調べましたので、メモしておきたいと思います。
まずは管理画面にユーザープロフィールの項目を新たに追加する。
例えば、「役職」「facebook」に項目を追加したい場合、下記のコードを「functions.php」に記述することで、項目の追加が可能になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// ユーザープロフィールの項目の追加 function my_user_meta($wb) { //項目追加 $wb['position'] = '役職'; $wb['facebook'] = 'faceboook'; return $wb; } add_filter('user_contactmethods', 'my_user_meta', 10, 1); |
項目をさらに追加したいときは
「役職」の項目を例にすると、
1 2 3 4 5 |
$wb['position'] = '役職'; |
下記のような形になりますので、
1 2 3 4 5 |
$wb['フィールド名'] = '表示名'; |
この1行を任意の項目に書き換えればOKです。
項目をサイト上に表示する方法
管理画面上に追加された項目を、次はサイト上で表示していきます。
「the_author_meta」というテンプレートタグを使用して、先ほど追加した項目を表示します。
下記のような記述を表示したい部分に記述します。
1 2 3 4 5 6 |
<?php the_author_meta('position'); ?> <?php the_author_meta('facebook'); ?> |
空欄の場合に非表示にする方法
もし空欄の場合に、非表示にしたいHTMLタグ等がある場合は、
下記のタグで囲い、入力があった場合にのみ表示させる記述を書きます。
1 2 3 4 5 6 7 8 9 |
<?php if(get_the_author_meta('フィールド名') != ""): ?> //ここに入力があった場合にのみ表示させる項目を入力します。 <?php endif; ?> |
例えば、役職名の場合だと、
1 2 3 4 5 6 7 8 9 |
<?php if(get_the_author_meta('position') != ""): ?> <div class="position"><?php the_author_meta('position'); ?></div> <?php endif; ?> |
と記述すると、HTMLタグを含んだ部分の、
1 2 3 |
<div class="position">内容</div> |
の表示・非表示の切り替えが可能になります。
まとめ
このように項目を追加し、著者情報を充実させる事で、記事を書いた人のプロフィールをより詳しく掲載することが可能になりますので、オウンドメディア等を運営されていてこれからこういった機能を追加したい人には非常に便利な機能です。
16.02.03 | WEBデザイン制作・IT関連