ソーシャルブックマークの情報を取得するWPプラグイン「WP SBM Info」
先日作ったServices_SBM_Infoを利用して、ソーシャルブックマークのカウントやコメントを取得するWordPressのプラグインを作ってみました。
対応サービスや取得できる情報についてはServices_SBM_Infoと同じです。
概要
URLに対するソーシャルブックマークの情報を取得するWordPressプラグインです。
名称
WP SBM Info
ライセンス
GNU General Public License
取得できるSBMの情報
- ブックマーク数
- ブックマーク数の単位 (user|users|tweet|tweets)
- ブックマーク数のランク (色の変わるブックマーク数に応じたランク)
- ブックマークコメント (Deliciousを除く)
- エントリーページのURL
- 追加ページのURL
対応しているSBMサービス
ダウンロード
wp-sbm-info.zip - v0.1.0
オプション
[設定]メニューの[WP SBM Infoの設定]でオプションを設定できます。
- 有効にするサービス
- チェックしたサービスを取得します。
- キャッシュの有効期限
- 指定時間経過後、APIデータを再取得します。
- バックグラウンド実行
- APIデータの取得をバックグラウンドで行います。CGIモードで動いている場合のみ。
- Proxy
- APIデータの取得にProxyを使います。
使い方
個別ページ(ポスト、ページ)で使用する場合
<?php
$info = sbm_info_all();
// $infoに配列が入るのでprint_r($info);などで確認して下さい。
// foreachとprintfを使った例
foreach ($info as $name => $c) {
printf('<li class="%s"><a href="%s">追加</a> <a href="%s" class="count rank%s">%s%s</a></li>',
$name, $c['add_url'], $c['entry_url'], $c['rank'], $c['count'], $c['unit']);
}
?>
Homeなど個別ページ以外のURLを取得する場合
<?php $url = 'http://example.com/'; $title = 'Example Web Page'; sbm_info_execute($url, $title); $info = sbm_info_all($url, $title); // $infoの情報を適当に使う ?>
各サービスごとのスタイリング
このブログで使用しているスタイル(sbm.css)を参考にしてみて下さい。
定義されている関数
引数を省略して実行すると、$urlはget_permalink()、$titleはget_the_title()の値がそれぞれ代入されます。
- sbm_info_execute($url = null, $title = null)
- APIからデータを取得します。ポスト及びページ以外で使用する場合に使います。
- sbm_info_all($url = null, $title = null)
- 全ての情報を取得します。
- sbm_info_count($url = null)
- ブックマーク数を取得します。
- sbm_info_unit($url = null)
- ブックマーク数の単位を取得します。
- sbm_info_rank($url = null)
- ブックマーク数のランクを取得します。
- sbm_info_comments($url = null)
- ブックマークコメントを取得します。
- sbm_info_entry_url($url = null)
- ブックマークのエントリーページURLを取得します。
- sbm_info_add_url($url = null)
- ブックマークの追加ページURLを取得します。
更新履歴
- 2010-10-26 - v0.1.4
- APIデータの取得に失敗した場合、情報がリセットされる問題を修正。
- 2010-09-13 - v0.1.3
- 同時アクセスがあった場合、executeが複数走る問題を修正。
- 2010-09-12 - v0.1.2
- bugfix
- 2010-09-10 - v0.1.1
- Proxy対応
- 2010-09-09 - v0.1.0
- 公開
これはいけてるプラグインですね。
早速とあるサイトに実装しようと思ったんですがなんかエラー出るなと思ったら使い方のところの最後に
?>
が抜けててエラーがでました。
phpあんまり詳しくないので最初なにかなと思いましたが理由が分かってよかったんですけど、僕と同じように間違っちゃう人もいるかもしれないので使い方のコードの部分に最後をつけておいたほうがいいかもしれません。
しょうもない意見ですいません・・・。
言われてみれば確かにそうですね。修正しておきます。
ありがとうございました!