Simplicityのトップページのスタイルを本文表示にしたときにSNSボタンを表示する方法

Simplicity

WordPressのThemeであるSimplicityは見た目のカスタマイズが楽ちんにできます。例えば、「カスタマイズ」というメニューから「スキン」を選ぶと、デザインや色、フォントなどセットになっていて、好みのものを選べますし、自分でスキンを作ることもできます。

また、トップページのレイアウトも自由に変えることができます。例えば、エントリーカードやサムネイルのサイズ、配置などです。

問題の所在

Simplicityでは、通常トップページは各記事の要約やサムネイルの一覧を表示しますが、ツッコミ可能なWeb日記システムtDiaryのようにいきなり本文を一覧して表示させることもできます。その場合は、「カスタマイズ」→「レイアウト(全体・リスト)」→「一覧リストのスタイル」から「本文表示」を選ぶだけです。

しかし、この場合、標準では記事の下部にTwitterなどのSNSシェアボタンが表示されません。SNSシェアボタンは個別の記事ページに遷移してから表示されるものというSimplicityの仕様によるものですが、書いている方としては、せっかくトップページで記事を全文読んでもらえるなら、ついでにSNSでシェアしてもらいたいと思うのは自然なことです。

解決方法

Simplicityのソースコードを直接書き換えてしまうことになりますので、あくまで自己責任と言うことになりますが、以下のように entry-body.php というファイルをちょっと変更するだけで対応可能です。

【変更前】

<div id=”sns-group” class=”sns-group sns-group-bottom”>
<?php if ( is_single() ) get_template_part(‘sns-buttons’); //SNSシェアボタンの取得?>

【変更後】

<div id=”sns-group” class=”sns-group sns-group-bottom”>
<?php get_template_part(‘sns-buttons’); //SNSシェアボタンの取得?>

標準のソースコードを直接書き換えていますので、Simplicityのアップデートのたびに書き換える必要がありますし、将来コードが大きく変更されたときには通用しなくなる可能性もあることにご注意ください。

あと、蛇足ですが、トップページに表示される記事の件数は標準で10件になっていますが、全文表示されるのであれば3件から5件程度にしておいた方がよさそうです。これは、ダッシュボードの「設定」→「表示設定」から変更します。

追記

Simplicity ver.2.6.6では以下のように修正が必要です。

【変更前】

<div id="sns-group" class="sns-group sns-group-bottom">
 <?php if ( is_single() && is_bottom_share_btns_visible() )
 get_template_part('sns-buttons'); //SNSシェアボタンの取得?>

【変更後】

<div id="sns-group" class="sns-group sns-group-bottom">
 <?php if ( is_bottom_share_btns_visible() )
 get_template_part('sns-buttons'); //SNSシェアボタンの取得?>