KH-WEBLOG TOP > WEBメモ > WordPress > コメントに使用されるアバターをカスタムフィールドで指定した画像に変更:WordPress

コメントに使用されるアバターをカスタムフィールドで指定した画像に変更:WordPress

最終更新日:

コメントに使用されるアバターをカスタムフィールドで指定した画像に変更する方法をご紹介します。

今回はACFを使用してユーザープロフィールにアバター画像用のカスタムフィールドを追加して説明します。

コーディング・WordPress化作業を代行します

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化作業を代行します

WordPressのおすすめ参考書

楽天Kobo電子書籍ストア
¥3,278 (2024/11/27 16:53時点 | 楽天市場調べ)

TAGS

.htaccess ActionScript All in one seo pack Contact Form 7 CSS CSS3 EC-CUBE Flash HTML HTML5 JavaScript jQuery LightBox PHP RSS SEO WordPress アイキャッチ画像 アクセス解析 カスタムフィールド カテゴリー カラーミーショップ カート コメント ショートコード テンプレートタグ ドロップダウンメニュー パーマリンク フォーム フルスクリーン ブログカード プラグイン ページテンプレート ページナビ ページ分割 マウスイベント リダイレクト リンク リンクカード レンタルサーバー ロールオーバー 携帯サイト 条件分岐 正規表現 関連記事