web-dev-qa-db-ja.com

デフォルトのアバターを置き換える

私はかなりグーグルを検索しました、そしてすべてのサイトは同じフィルタを持っています、しかしそれは私のために働いているようには見えません。それが私の設定なのか古いコードなのかわからない。

私はこれを試しています:

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"プラグインを使っていますが、無効にしても同じように見えます。

1
Bjorn

私はこれを考え出しました。私が取り組んでいるサーバーは外部にアクセスできません。そのため、画像が私のテンプレートフォルダに入っていても、画像パスの前にあるgravatar.comの呼び出しでエラーが発生していました。

2
Bjorn

画像が存在しないため、エラーが発生しています。それを次のように変更してみます。

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

0
westondeboer