Fast Blogテーマにzenbackを組み込む

zenbackを使用するには、zenbackのコードをwordpressのテーマのテンプレートに書き加えなければならない。
場所は、たいていのテーマの場合、single.phpの中の、記事欄(contents)の下、あるいはコメント欄(comments)の上下、あたりはないかと思う。各テーマによって、微妙に違うので、テーマ毎の覚え書き記す。

【Fast Blogの場合】

CONSA DE CONSAラボで使用しているFasBlogテーマの場合。

このテーマのテンプレートは、少し普通のと違ってて、single.php(単一記事の投稿)ファイルがない。

loop.phpといわれるテンプレートが有り、これが本分(投稿記事、タグ、コメントなど)を表示する仕組みになっている。記事を単独で表示する際は、loop.phpを使って、一つだけ表示。index.phpがインデクス表示する際は、loop.phpが、ループによって複数の記事を表示するような構造になっている。

インデクス表示と、単一記事表示時にloop.phpが表示する内容が異なっているが、それは、loop.php内のphp if文により、条件分岐させている。

最初、このloop.php内に、zenbackのコードを組み込もうとしたのだが、そのまま書き込むと、インデクス表示と単一記事表示時の両方共にzenbackが表示されてよろしくない。
そこで、php if文で条件分岐させようとしたのだが、うまくできなかった。

仕方がないので、コメント用のphpファイル内に書き足すことにした。ラボには、コメント機能拡張のdisqusを導入しているので、ディスカスのプラグインのソースコードに組み込むことにした。

書き換えたのは、disqus-comment-system/disqus.phpファイル。
ソースの末尾の方にzenbackのコードを貼り付けた。

ちゃんとzenbackが表示されていたのだが、disqusのプラグインがアップデートした際に消えていた。このままだと、アップデートの都度、書き加える必要有り、めんどくさいことに。

そこで、最初に戻ってしまうが、loop.phpを書き換えることに。php if文について、ウェブ上の説明をあちこち読み、とりあえず下記の様にすれば、うまくいくことがわかった。

loop.phpの文末の下記のコードの直後に、php if文を追加。ちなみに下記のコードは、投稿記事を個別表示したときに、タグと、コメントを表示する、という意味の条件分岐。

追加したphp if文は下記の通り。