WP Social Bookmarking Lightをショートコードで利用する方法

WordPressのソーシャルボタンを表示するのにWP Social Bookmarking Lightというプラグインを便利に使わせてもらっています。

↓ これ

sample

経緯

ときに、ページの上部・下部といったざっくりとした位置ではなく、投稿の途中にはさみたいときにショートコードにできると便利だなと思うのですが、ちょっとしたコードを書かないと上手く実現できなかったのでメモとして残しておきます。

ググっても見つからなかったので、同じことをしようとしている人のためにもw

こう書くの

functions.phpに以下のように定義すれば、上手く狙った位置にソーシャルボタンを表示することができます。

function show_social_buttons() {
  if (function_exists("wp_social_bookmarking_light_output")) {
    $services = wp_social_bookmarking_light_options()['services'];
    return wp_social_bookmarking_light_output($services);
  }
  return "";
}
add_shortcode('social_buttons', 'show_social_buttons');

プラグインの中にはwp_social_bookmarking_light_output_eという同じ処理をする関数があるのですが、こちらはhtmlをechoしてしまうので、先日の記事と同じように出力をバッファしておかないと投稿を表示するより先にソーシャルボタンが表示(ページの一番上に表示)されてしまうのです。