位置固定型のブックマークボタンの設置方法(主にWordPress向け)

この記事が良ければ、ぜひシェアお願いします

前回、WordPressのインクルードを使った機能の部品化について記事を投稿させてもらいましたが、それと同じようにWordPressのインクルードを使って、ブックマークボタンの位置固定型を設置する方法について、ご紹介したいと思います。私の場合、選択したブックマークボタンは『はてな』『Twitter』『Facebook』『Google +1』の4つです。 

このページを見てもらえればすぐに分かると思うのですが(笑)、このようにブログWrapper部分の外側に固定する形で配置しています。

ブックマークボタンイメージ

設置の仕方

インクルードするファイルはPHPなので、WordPressの関数を呼び出すことができます。ですので、同じところに貼っているからと言って、TOPページにブックマークされる訳ではなく、それぞれの記事でブックマークさせるようにできます。その分、インクルードファイルは2つになってしまいますが、PHPに詳しい方であればif文なりで条件分岐を書き加えれば、一つに纏めることができるとは思います。

ここでは、TOPページ向けのものと各記事向けのPHPをご紹介したいと思います。

■TOPページ向け

<ul id="social_box">
    <!-- はてなブックマーク -->
    <li>
    <a href="http://b.hatena.ne.jp/entry/置き換えてください" class="hatena-bookmark-button" data-hatena-bookmark-title="置き換えてください" data-hatena-bookmark-layout="vertical" title="このエントリーをはてなブックマークに追加">
    <img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a>
    <script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>
    </li>

    <!-- Twitter -->
    <li><a href="https://twitter.com/share" class="twitter-share-button" data-via="置き換えてください" data-lang="ja" data-count="vertical">ツイート</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
    </li>

    <!-- Facebook -->
    <li><div class="fb-like" data-href="置き換えてください" data-send="true" data-layout="box_count" data-width="55" data-show-faces="true"></div>
    </li>

    <!-- Google+ -->
    <li>
    <g:plusone size="tall"></g:plusone>
    </li>
</ul>

<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/ja_JP/all.js#xfbml=1&appId=置き換えてください";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

■各記事向け

<ul id="social_box">
    <!-- はてなブックマーク -->
    <li>
    <a href="http://b.hatena.ne.jp/entry/<?php the_permalink(); ?>" class="hatena-bookmark-button" data-hatena-bookmark-title="置き換えてください" data-hatena-bookmark-layout="vertical" title="このエントリーをはてなブックマークに追加">
    <img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a>
    <script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>
    </li>

    <!-- Twitter -->
    <li>
    <a href="https://twitter.com/share" class="twitter-share-button" data-via="置き換えてください" data-lang="ja" data-count="vertical">ツイート</a>
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
    </script>
    </li>

    <!-- Facebook -->
    <li>
    <div class="fb-like" data-href="<?php the_permalink(); ?>" data-send="true" data-layout="box_count" data-width="55" data-show-faces="true">
    </div>
    </li>

    <!-- Google+ -->
    <li>
    <g:plusone size="tall"></g:plusone>
    </li>
</ul>

<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/ja_JP/all.js#xfbml=1&appId=置き換えてください";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

“置き換えてください”と書いてある部分については、あなたのサイトに合わせて置き換えてください。あとは、これらのファイルをWordpressのテンプレートファイルの好きなところにインクルードとして追加してあげてください。

CSSのサンプル

参考になりますが、私がこのブックマークボタンの設置方法で使っているCSSのサンプルをご紹介します。どの辺に配置したいか調整する場合には、”margin-left”や”top”プロパティの値をいじって調整してください!(あと、”position”プロパティを外せば、位置固定にしないこともできますよ)

#social_box {
    background: none repeat scroll 0 0 #F5F5F5;
    border: 1px solid #FFFFFF;
    border-radius: 5px 5px 5px 5px;
    list-style: none outside none;
    margin-left: -110px;
    padding: 15px;
    position: fixed;
    text-align: center;
    top: 125px;
    width: 65px;
}
スポンサーリンク

この記事が良ければ、ぜひシェアお願いします

もぐ
年齢 : 30代半ばの1児の新米パパ。ITネットワークから始まり、WEBディレクター、WEBシステム系のプロマネ、データ分析など色々やってるエンジニアです。WordPress、Webサービス構築、BIツール、IoTなどがトレンド。新しくて面白い仕事募集中。
スポンサーリンク