2012年6月4日月曜日

twitterのアバター画像を取得する

WordPressとTwitterの連携を試行錯誤中。
function yk_query_twitter($handle) {
    $url = 'http://api.twitter.com/1/users/show/'. $handle .'.json';
    $data = json_decode(wp_remote_retrieve_body(wp_remote_get($url)));

    return $data;
}

function yk_get_profile_image($twitterID, $comment_id) {
    $image = get_comment_meta($comment_id, 'yk_avatarimage', true);

    if (!$image) {
        $data = yk_query_twitter($twitterID);
        $image = $data->profile_image_url;
        add_comment_meta($comment_id, 'yk_avatarimage', $image, true);
    }
    return $image;
}

function yk_get_avatar($avatar, $data) {
    // not a tweet                                                                             
    if (!isset($data->comment_agent) || strstr($data->comment_author_url, "twitter.com") == fa\
lse) {
        return $avatar;
    }

    // get the url of the avatar                                                               
    $url = yk_get_profile_image(substr($data->comment_author, 1), $data->comment_ID);

    return preg_replace("/http:\/\/([^']*)/", $url, $avatar);
}

add_filter( 'get_avatar', 'yk_get_avatar', 10, 2);

0 件のコメント:

コメントを投稿