アバターが「いしい」ばかり

疲れていたからだろう。今は元に戻してあるが、/wp/wp-includes/link-template.php の4550行あたりを変更したまま、 に教わったことを試していた。そして、久しぶりに設定のディスカッションのアバターの所を見たら、「いしい」のアイコンだらけになっていた。

今は/wp/wp-includes/link-template.php の4550行あたりを元に戻したので直ってる。

少し頭を冷やす。

未分類
管理人のマストドンアカウントへのリンクなど

コメント

  1. ishii ishii より:

    設定画面のディスカッション欄のアバターが「いしい」だらけになる、functions.phpに記入するコードを #Gemini に作ってもらった。「ひとりネズミ」でログインすると「ひとりネズミ」だらけになり、ログインせずにコメントすると、今は「ミステリーパーソン」のアバターになる。ただ、マストドンでのアイコンは変わってない。
    ところで、$avatarはURLとか、その他の情報が詰まった配列だと思っていたのだが、htmlのコードだったのか?希望のものとは違う気がするので、後で作り直してもらう。

    function custom_avatar($avatar, $id_or_email, $size, $default, $alt) {
    $user_id = 0;

    if (is_numeric($id_or_email)) {
    $user_id = $id_or_email;
    } elseif (is_string($id_or_email) && ($user = get_user_by('email', $id_or_email))) {
    $user_id = $user->ID;
    } elseif (is_object($id_or_email) && !empty($id_or_email->user_id)) {
    $user_id = $id_or_email->user_id;
    }

    // ユーザーが存在し、カスタムアバターが設定されている場合のみ処理を行う
    if ($user_id && get_user_by('id', $user_id)) {
    $custom_avatar_url = get_user_meta($user_id, 'upladed_avatar', true);
    if ($custom_avatar_url) {
    $avatar = '<img src="' . esc_url($custom_avatar_url) . '" alt="' . esc_attr($alt) . '" class="avatar avatar-' . esc_attr($size) . ' photo" width="' . esc_attr($size) . '" height="' . esc_attr($size) . '" />';
    return $avatar;
    }
    }

    // デフォルトのアバターを表示しない
    return $avatar;
    }
    add_filter('get_avatar', 'custom_avatar', 10, 5);

  2. ishii ishii より:

    新たに、設定画面のディスカッション欄のアバターが「いしい」だらけになるコードを作った。「ひとりネズミ」でログインすると「ひとりネズミ」だらけになる。

    function custom_activitypub_actor_url( $url, $id_or_email, $args ) {
    $user_id = 0;

    if ( is_numeric( $id_or_email ) ) {
    $user_id = (int) $id_or_email;
    } elseif ( is_string( $id_or_email ) && ( $user = get_user_by( 'email', $id_or_email ) ) ) {
    $user_id = $user->ID;
    } elseif ( $id_or_email instanceof WP_User ) {
    $user_id = $id_or_email->ID;
    }

    if ( $user_id ) {
    $upladed_avatar_url = get_user_meta( $user_id, 'upladed_avatar', true );

    if ( ! empty( $upladed_avatar_url ) ) {
    // URLを適切にエスケープ
    $url = esc_url_raw( $upladed_avatar_url );
    }
    }

    return $url;
    }
    add_filter( 'get_avatar_url', 'custom_activitypub_actor_url', 10, 3 );

タイトルとURLをコピーしました