web-dev-qa-db-ja.com

一人でグラビアのURLを取得する方法

ボタンの背景画像としてグラバター画像を使いたいのですが。私がget_avatar関数を使うとき、それは高さ幅srcパラメータで戻ります。

しかし、私はグラバターURLだけが必要です。 http://gravatar.com/.../...のような意味

誰もが私に言うことができますか?ありがとう

2
Giri

URLを自分で生成するだけです。ユーザーのメールアドレスをハッシュしたものです。

function get_gravatar_url( $email ) {
    $hash = md5( strtolower( trim ( $email ) ) );
    return 'http://gravatar.com/avatar/' . $hash;
}

この機能を使用するには、ユーザーの電子メールアドレスを渡す必要があります。ただし、ユーザーのアドレスをプログラム的に取得するために必要なことは何でもできます。

5
EAMann

それがどのように実装されているかを見てください。

http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/pluggable.php#L1578

さらに、非常に単純なGravatar APIも調べてください。

http://en.gravatar.com/site/implement/images/

get_avatarフィルタとpreg_match'src'に対してフックするように試みることができます。

add_filter( 'get_avatar', function( $avatar ) {
    if ( preg_match( '# src=\'(.*)\' #U', $avatar, $matches ) )
        $some_globally_accessible_var = $matches[1];
    return $avatar;
} );

some_globally_accessible_varは、インスタンス変数または何らかの静的変数globalになります。

2
soulseekah