Jetpackの共有ボタンを好きな所に表示させる方法(WordPress.com Likesも一緒にね)

Jetpack非常に便利ですね。とりあえず、これ入れておけばほとんど欲しい機能は網羅できる感じです。
記事のSNS共有ボタンも然りなんですが、これはデフォルトで記事下に表示されるようにフックされています。

そのまま使ってもいいんですが、表示をカスタマイズしたいという時に使える方法を紹介します。
検索すると共有ボタンは外す方法は簡単に見つかりますが、WordPress.comのいいねボタンを外す方法がなかなか見つからないので、併せて紹介します。

 

まずは共有ボタンといいねボタンを表示しないようにする方法から。
下記のプログラムをfunctions.phpに加えれば、全てのページから共有&いいねボタンを消すことができます。

function jetpack_share_button_remove() {
    remove_filter( 'the_content', 'sharing_display',19 );
    remove_filter( 'the_excerpt', 'sharing_display',19 );
    remove_filter( 'the_content', array( Jetpack_Likes::init(), 'post_likes' ), 30, 1 ); 
}
add_action( 'loop_end', 'jetpack_share_button_remove' );

それぞれのボタンを表示させているフィルターを記事表示のループ終わりに消しているんですね。

次に好きな部分に共有ボタンを表示させる方法。
下記のコードをテンプレートの表示させたい部分に挿入します。

if (function_exists( 'sharing_display' )) sharing_display( '', true );

共有ボタンを表示する関数が定義されていたら、ここに表示するというコードです。

次はいいねボタン。同様に下記のコードをテンプレートの表示させたい部分に挿入します。

if (class_exists( 'Jetpack_Likes' )) {
    $custom_likes = new Jetpack_Likes;
    echo $custom_likes->post_likes( '' );
}

これもいいねボタンを表示する関数が定義されていたら、ここに表示するというものです。

自分で忘れそうなので、ブログに残しておきました(・∀・)
仕様が変わればコードも変わるかもしれないです。

参考リンク(Jetpackの公式・英語です)
Moving Sharing Icons