コメントに使用されるアバターをカスタムフィールドで指定した画像に変更:WordPress
最終更新日:
コメントに使用されるアバターをカスタムフィールドで指定した画像に変更する方法をご紹介します。
今回はACFを使用してユーザープロフィールにアバター画像用のカスタムフィールドを追加して説明します。
ACFでカスタムフィールドを追加
普通に画像用のカスタムフィールドを追加するだけですが、
戻り値の形式は「画像ID」に指定します。
今回はprofile_imageというフィールド名で作成します。
functions.php
次に、functions.phpに
add_filter( 'get_avatar_data', 'cm_get_avatar_data', 10, 2 ); function cm_get_avatar_data( $args, $id_or_email ) { if( is_object($id_or_email) && isset( $id_or_email->user_id ) && $id_or_email->user_id !== "0" ) { $id = $id_or_email->user_id; $profile_image_id = get_field( "profile_image", "user_" . $id ); if( $profile_image_id ) { $src = wp_get_attachment_image_src($profile_image_id, "thumbnail", false); if ($src) { $args["url"] = $src[0]; } } } return $args; }
と追加します。
フィールド名が違う場合やACFを使用しない場合は
$profile_image_id = get_field( "profile_image", "user_" . $id );
↑この部分を書き換えてください。
※画像IDが取得されるように
あとはカスタムフィールドに画像をアップして保存することでコメント欄のアバターが書き換わります。
WordPressのおすすめ参考書
bookfan 1号店 楽天市場店
¥3,300 (2024/11/27 16:53時点 | 楽天市場調べ)
ポチップ
ポチップ