ようやく、マストドンでの @ishii と @hitorinezumi のアイコンがGravatarロゴでなくなった。mastodon.socialの方で見ると変わってないのだけど、それはmastodon.socialのキャッシュの問題だろうと思って、mstdn.jpの方で検索して確認してみた。


そのためにfunctions.phpに記入したコードは次の通り。
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 );
この結果、設定のディスカッションのデフォルトのアバターはログインしたユーザーのアイコンだらけになる。
アバターが「いしい」ばかり | いしい@試行錯誤
https://ishii00141.stars.ne.jp/20250315-1715-1859/
その前に、プラグイン「Simple Local Avatars」を入れて「ローカルのアバターのみを許可します (デフォルトのアバターには引き続き Gravatar を使用します) 」にチェックしてみたのだけど、これでマストドンのアイコンを変えることができたかどうかは検証してない。
https://ishii00141.stars.ne.jp/20250313-1308-1808/#comment-477
既に #WordPress のテーマ #Cocoon で #WordPress 内ではauthorアイコンを変えることができていたので、重複するから、プラグイン「Simple Local Avatars」は無効にした。プラグイン「Simple Local Avatars」だけでマストドンの方のアイコンが変わるのなら、設定のディスカッションのデフォルトのアバターがそのまま残るから、そっちの方が良いのかもしれない。 #Cocoon の設定で、マストドンのアイコンもアップロードした画像にできるのなら、それが一番良いが、今のところ、その方法は見つけてない。見つけたら、functions.phpのコードは削除する。
コメント