wp-hatenaを改造して設置。
ふと気付いたら Yahoo!ニュースにも「ソーシャルブックマークへ投稿」という項目ができていました。SBS の一般への広がりを再認識。先日 wp-hatena を色々な SBS に対応させてみましたが、今日はさらに Yahoo!ニュースで並んでいた SBS の中でまだ wp-hatena に追加していなかった SBS を追加してみました。
wp-hatena にさらに追加、合計 10 個の SBS に対応 - Numb.
この記事で見た「wp-hatena」なるプラグインに、はてな・livedoor・Buzzurlのブックマーク登録ユーザ数を表示するコードを追加して、このブログに設置してみた。
うーん。
なんか、ユーザ数が入る予定の場所がバレバレだな。表示はちょっと改善の余地アリかも。
ところで、ちょっと誰かテストのために登録してくれんかね。
ちなみに、やったことは以下のような感じ。
1.makeBookmarkURL関数を変更
ユーザ数画像は各サービスから取ってくるので、imgタグのsrc属性に「$this->plugin_path . 」があると邪魔。なのでどける。あと、幅と高さも明記されるとまずいので、0だったら書かないようにする。
/**
* Bookmark URL maker.
*
* @param $sitename (サイト名称文字列)
* @param $url (URL)
* @param $iconfile (画像ファイル URL)
* @param $width (画像 width)
* @param $height (画像 height)
* @param $ext_url (その他の追加 URL)
* @return $tag (画像リンクタグ)
*/
function makeBookmarkURL($sitename, $url, $iconfile, $width, $height, $ext_url) {
$tag = '<a ';
$tag .= ' href="' . $url . $ext_url . '"';
$tag .= ' style="margin-right: 8px;" ';
$tag .= '>';
$tag .= '<img ';
/* この部分を変更し、「$this-/>plugin_path . 」を削除 */
$tag .= ' src="' . $iconfile . '"';
$tag .= ' alt="このエントリを' . $sitename . 'に追加"';
$tag .= ' title="このエントリを' . $sitename . 'に追加"';
/* width、heightに0を指定したらHTML中からは省略するように変更 */
if ( $width> 0 ) {
$tag .= ' width="' . $width . '"';
}
if ( $height> 0 ) {
$tag .= ' height="' . $height . '"';
}
$tag .= ' style="border: 0; margin: 0; padding: 0; vertical-align: middle;" ';
//$tag .= ' onmouseover="wpHatenaPopup()"';
$tag .= '/>';
$tag .= '</a>';
return $tag;
}
* Bookmark URL maker.
*
* @param $sitename (サイト名称文字列)
* @param $url (URL)
* @param $iconfile (画像ファイル URL)
* @param $width (画像 width)
* @param $height (画像 height)
* @param $ext_url (その他の追加 URL)
* @return $tag (画像リンクタグ)
*/
function makeBookmarkURL($sitename, $url, $iconfile, $width, $height, $ext_url) {
$tag = '<a ';
$tag .= ' href="' . $url . $ext_url . '"';
$tag .= ' style="margin-right: 8px;" ';
$tag .= '>';
$tag .= '<img ';
/* この部分を変更し、「$this-/>plugin_path . 」を削除 */
$tag .= ' src="' . $iconfile . '"';
$tag .= ' alt="このエントリを' . $sitename . 'に追加"';
$tag .= ' title="このエントリを' . $sitename . 'に追加"';
/* width、heightに0を指定したらHTML中からは省略するように変更 */
if ( $width> 0 ) {
$tag .= ' width="' . $width . '"';
}
if ( $height> 0 ) {
$tag .= ' height="' . $height . '"';
}
$tag .= ' style="border: 0; margin: 0; padding: 0; vertical-align: middle;" ';
//$tag .= ' onmouseover="wpHatenaPopup()"';
$tag .= '/>';
$tag .= '</a>';
return $tag;
}
この変更に併せて、各関数のアイコン画像のURLを引数に渡す部分を、このように変更。
$this->plugin_path . 'hatena.gif'
2.表示関数追加
以下の3つの関数を追加。
/**
* WP interface.
*
* @param none
* @return none (エントリーをはてなブックマークに登録しているユーザ数をecho)
*/
function addHatenaUsers() {
echo
$this->makeBookmarkURL(
'はてなブックマーク',
'http://b.hatena.ne.jp/append?',
'http://b.hatena.ne.jp/entry/image/' . get_permalink() ,
0,0,
''
);
}
/**
* WP interface.
*
* @param none
* @return none (エントリーをLivedoor Clipに登録しているユーザ数を echo)
*/
function addLivedoorUsers() {
$title = $this->utf8_encode(get_the_title());
echo
$this->makeBookmarkURL(
'Livedoor Clip',
'http://clip.livedoor.com/clip/add?link=' . get_permalink(),
'http://image.clip.livedoor.com/counter/' . get_permalink(),
0, 0,
'&title=' . urlencode($title) . '&jump=ref'
);
}
/**
* WP interface.
*
* @param none
* @return none (エントリーをbuzzurlに登録している人数を echo)
*/
function addBuzzurlUsers() {
$title = $this->utf8_encode(get_the_title());
echo
$this->makeBookmarkURL(
'Buzzurl(バザール)',
'http://news.ecnavi.jp/config/add/confirm?url=' . get_permalink(),
'http://api.buzzurl.jp/api/counter/' . get_permalink(),
0, 0,
'&title=' . urlencode($title)
);
}
* WP interface.
*
* @param none
* @return none (エントリーをはてなブックマークに登録しているユーザ数をecho)
*/
function addHatenaUsers() {
echo
$this->makeBookmarkURL(
'はてなブックマーク',
'http://b.hatena.ne.jp/append?',
'http://b.hatena.ne.jp/entry/image/' . get_permalink() ,
0,0,
''
);
}
/**
* WP interface.
*
* @param none
* @return none (エントリーをLivedoor Clipに登録しているユーザ数を echo)
*/
function addLivedoorUsers() {
$title = $this->utf8_encode(get_the_title());
echo
$this->makeBookmarkURL(
'Livedoor Clip',
'http://clip.livedoor.com/clip/add?link=' . get_permalink(),
'http://image.clip.livedoor.com/counter/' . get_permalink(),
0, 0,
'&title=' . urlencode($title) . '&jump=ref'
);
}
/**
* WP interface.
*
* @param none
* @return none (エントリーをbuzzurlに登録している人数を echo)
*/
function addBuzzurlUsers() {
$title = $this->utf8_encode(get_the_title());
echo
$this->makeBookmarkURL(
'Buzzurl(バザール)',
'http://news.ecnavi.jp/config/add/confirm?url=' . get_permalink(),
'http://api.buzzurl.jp/api/counter/' . get_permalink(),
0, 0,
'&title=' . urlencode($title)
);
}



