概要
the_author_meta
フィルタは、WordPressにおいて投稿者情報を表示するための非常に便利なフィルタです。このフィルタは、投稿者のメタデータを取得したり、表示したりする際に活用されます。具体的には、以下のような場面でよく使用されます。
- 投稿者のTwitterアカウントを表示する
- 投稿者の説明文をカスタマイズする
- 投稿者のウェブサイトリンクを変更する
- 投稿者のプロフィール画像を表示するとき
- 投稿者の肩書きや役職を追加する
- 投稿者に関するSNSリンクをまとめて表示する
- カスタムフィールドから追加情報を取得する
- 投稿者情報のHTMLを装飾する
構文
the_author_meta( $field, $user_id );
パラメータ
$field
(string): 取得したいメタデータのキー名(例:’description’、’user_url’など)。$user_id
(int): ユーザーのID。省略すると、現在の投稿の著者IDが使用されます。
戻り値
指定されたフィールドに対応するユーザーメタデータの値。指定されたフィールドが存在しない場合は、null
が返されます。
関連する関数
the_author_metaは、他の関連関数とともに、ユーザーメタデータを操作するために使用されます。
使用可能なバージョン
the_author_meta
フィルタは、WordPressバージョン1.5以降で使用できます。
コアファイルのパス
このフィルタは、WordPressのコアファイルの /wp-includes/general-template.php
に含まれています。
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード1: 投稿者のTwitterアカウントを表示
add_filter('the_author_meta', function($value, $field) {
if ($field === 'twitter') {
return '<a href="https://twitter.com/' . esc_attr($value) . '">' . esc_html($value) . '</a>';
}
return $value;
}, 10, 2);
このコードは、投稿者のTwitterアカウントを表示し、リンクに装飾を加えます。
引用元: https://example.com/
サンプルコード2: 投稿者の説明文をカスタマイズ
add_filter('the_author_meta', function($description) {
return '投稿者について: ' . $description;
});
このコードは、投稿者の説明文をカスタマイズして「投稿者について: 」というプレフィックスを追加します。
引用元: https://example.com/
サンプルコード3: 投稿者のウェブサイトリンクを変更
add_filter('the_author_meta', function($user_url) {
return str_replace('http://', 'https://', $user_url);
}, 10, 1);
このコードは、投稿者のウェブサイトURLをHTTPからHTTPSに変更します。
引用元: https://example.com/
サンプルコード4: 投稿者のプロフィール画像を表示
add_filter('the_author_meta', function($avatar) {
return '<img src="' . get_avatar_url(get_the_author_meta('ID')) . '" alt="Profile Picture">';
}, 10, 1);
このコードは、投稿者のプロフィール画像を表示します。
引用元: https://example.com/
サンプルコード5: 投稿者の役職を表示
add_filter('the_author_meta', function($position) {
return '役職: ' . esc_html($position);
}, 10, 1);
このコードは、投稿者の役職情報を表示し、カスタマイズされたメッセージを添えます。
引用元: https://example.com/