- 2008年09月02日 (火)
- Tweet
SBM Popular Entryのdelicious.comのカウント数を表示する
ブロガーにとってモチベーションを保つライフハック3本柱の一つ、被ブクマ数。私のブログも記事の末尾に表示するようにしていました。
ところが8月上旬のファンキーなドメインのソーシャルブックサービスのdel.icio.usがdelicious.comというフツーなドメインに変わってしまい、同時にスクレイピングしていたカウント数が取得されなくなってしまいました。この切なさは【閃光的網站・弛緩複合体 -Review Division-】さんのところで語られているのに通じるものがあります。
私はプラグインのPHPを修正して直してみる事にしました。調べながら修正したので30分、以下の説明があれば10分くらいで使えるようになると思います。
1.作者のページからプラグインをDL
[WP:Plugin] 被ブックマーク数表示+ランキング生成プラグイン | AOINA.COM
既に導入されている人は特にDLしなくて大丈夫です
2.ドメインを一括置換
DreamWeaverなどのコーディングソフトで一括置換します。
del.icio.us ー> delicious.com
対象は以下のファイル
- wp-sbm_popular_entry.php
3.delicous.comのカウント数制御のロジック変更
オリジナル (wp-sbm_popular_entry.php 129行目)
[source:javascript]
$new_meta[‘delicious’] = $this->socket_results(‘http://del.icio.us/url/’.md5($permalink), ‘/this url has been saved by ([d]+?) (person|people)/’);
[/source]
修正後
[source:javascript]
$new_meta[‘delicious’] = $this->socket_results(‘http://badges.del.icio.us/feeds/json/url/blogbadge?hash=’.md5($permalink), ‘/”total_posts”:([d]+?),/’);
[/source]
詳しく説明すると、オリジナルはHTMLページをスクレイピング(正規表現を使ってページの特定文字列を抜き出す技術)しているのに対し、修正版はdelicous.comのAPIを叩いて必要な情報を抜き出しているところです。JSONパースすればよいのですが、面倒なので実はJSONを正規表現で抜き出してます(汗)
以上で終了です。ぜひお試しあれ〜。
2009年10月14日(水) 02:28
[…] のコメント数をとれない。SBM Popular Entryのdelicious.comのカウント数を表示する | ClockMaker Blog を参考にプラグインを修正する必要がある (*)WordPress 2.7 で表示崩れアリ […]