WordPressで個別ページのはてブ数をPHPで取得する方法

はてな

以前、はてブAPIでwebサービスを作りたい全ての人に向けて書きましたという記事にはてブAPIの使い方がわかりやすく書いてありました。

今回はそれの中の、「個別ブックマーク数をPHPで取得するサンプル」の方法を、Wordpressで使うのを想定して書き直してみました。

というか、自分が使うために書いたのを載せておきます。

photo by Norio NAKAYAMA

スポンサーリンク
レクタングル(大)広告

functions.phpの編集

functions.phpに以下を追記します。

function the_hatebu_count($url){
    //取得するURL(ついでにURLエンコード)
    $url = rawurlencode($url);
    //カウント(空の場合は0扱い)
    $count = @file_get_contents("http://api.b.st-hatena.com/entry.count?url={$url}");
    if(!$count) return;//0のときは何も表示しない
    $url = preg_replace('/https?:\/\//', '', $url);//http://などを外す
    echo "<span class='hatebu'><a href='http://b.hatena.ne.jp/entry/{$url}' target='_blank'>{$count} users</a></span>";
}

この関数は、ブックマークが無い場合は、何も表示しません。ブックマークがあるときだけ、ブックマーク数表示用のタグを書き出します。

style.cssの編集

ブックマーク数をはてなっぽくするためにスタイルを変更します。

こんな感じになります。

はてなスタイル

.hatebu a{
    background-color: #FFD5D5 !important;
    color: #FF7979 !important;
    font-weight: bold;
    font-size: 12px;
    margin-left: 8px;
    padding: 1px;
}

はてブ数を表示したいところにコードを挿入

あとはブクマ数を表示させたいところに以下のコードを挿入してください。

<?php the_hatebu_count(get_the_permalink()) ?>

これでこんな感じでブックマークが表示されて、記事に対するブックマーク数がわかりやすくなります。

ブックマーク数の表示

まとめ

ブクマ数はサイドバーの人気記事などのところに表示している人は結構いますね。

0は、表示しないようにしてあるので、当ブログのような、そんなにブクマ数が無いブログで使っても、そこまでは寂しい感じにならないと思います。