私はかなりグーグルを検索しました、そしてすべてのサイトは同じフィルタを持っています、しかしそれは私のために働いているようには見えません。それが私の設定なのか古いコードなのかわからない。
私はこれを試しています:
add_filter( 'avatar_defaults', 'newgravatar' );
function newgravatar ($avatar_defaults) {
$myavatar = get_bloginfo('template_directory') . '/img/blog_noPhoto.jpg';
$avatar_defaults[$myavatar] = "Default Avatar";
return $avatar_defaults;
}
しかし、私が自分のテンプレートコードを見ると、それはの完全なURLの前に http://0.gravatar.com/avatar/?d= を追加しています。画像。私は "User Avatar"プラグインを使っていますが、無効にしても同じように見えます。
私はこれを考え出しました。私が取り組んでいるサーバーは外部にアクセスできません。そのため、画像が私のテンプレートフォルダに入っていても、画像パスの前にあるgravatar.comの呼び出しでエラーが発生していました。
画像が存在しないため、エラーが発生しています。それを次のように変更してみます。
add_filter( 'avatar_defaults', 'newgravatar' );
function newgravatar ($avatar_defaults) {
$myavatar = site_url() . '/img/blog_noPhoto.jpg';
$avatar_defaults[$myavatar] = "Default Avatar";
return $avatar_defaults;
}
そのため、画像ファイルへのリンクは、実際には次のようになります。 http://www.example.com/img/blog_noPhoto.jpg