WordPressプラグイン「Jetpack」を使うと、上のような共有ボタンを簡単に設置できます。
ただ標準のままだとボタンを配置する場所を自由自在に選べるというわけではありません。
調べてみると、add_filter
にて「the_content
」「the_excerpt
」にフックされているようなので、テンプレート内でthe_content()
やthe_excerpt()
を使うと、その最後に追加されています。
//テンプレートのループ内で以下を使うとその直後に表示 the_excerpt(); the_content();
まずはデフォルト表示を消す
「表示したいのそこじゃない!」という場合には、まずはフックからremove_filter
ではずしてあげる必要があります。
プラグイン本家サイトのページ(英語)
Moving Sharing Icons — Jetpack for WordPress
上の英語ページではfucntion.php内に以下を追加するように書かれています。(Wordpressの「いいね」ボタンも含まれていますね)
function jptweak_remove_share() { remove_filter( 'the_content', 'sharing_display',19 ); remove_filter( 'the_excerpt', 'sharing_display',19 ); if ( class_exists( 'Jetpack_Likes' ) ) { remove_filter( 'the_content', array( Jetpack_Likes::init(), 'post_likes' ), 30, 1 ); } } add_action( 'loop_start', 'jptweak_remove_share' );
SNS共有ボタンだけならば、以下でもいけるんじゃないでしょうか。
if ( function_exists( 'sharing_display' ) ) remove_filter( 'the_content', 'sharing_display', 19 ); if ( function_exists( 'sharing_display' ) ) remove_filter( 'the_excerpt', 'sharing_display', 19 );
表示したい場所にコード追加
そして、表示させたい場所(テンプレート)に以下を追加するだけです。
if ( function_exists( 'sharing_display' ) ) { sharing_display( '', true ); }
sharing_display( '', true );
の引数の説明をしているページを見つけられなかったのですが、いろいろ試したところ、第1引数は「ラベル」テキストですね。デフォルトでは「共有:」となっている部分のようです。
第2引数は、どうやら「表示」するのか「取得」するのか、のようです。私のテスト環境ではtrue
で表示されました。