再調査してみた
以前、Social を有効にすると、zenbackウィジェットが表示されなくなるという件について、記事を書きました。
[WordPress] Twitter Toolsの後継プラグイン「Social plugin」を有効化すると、zenbackウィジェットが表示されなくなる?
僅かながら反応があり、何かしら解決策が提示できればなぁ、と思いつつも放置プレイ…あれよあれよと時間が過ぎ、年をまたいでしまった今日この頃。
記事へのアクセス自体も結構あるので、このままではzenbackの中の人にも何か悪い。
というわけで、今回改めて調べてみました。
Socialを有効にするとできること
Socialを有効にすると、WordPressアカウントに加え、Twitter、facebookアカウントで記事へのコメントできるようになります。
そういった意味では、コメント投稿の敷居が少し下がるのではないかと。
たぶん。おそらく。きっと。
あと記事投稿時に、Twitter、facebookアカウントで自動ポストできるようになります。僕の場合、この機能は別プラグインで代替しているので、説明は割愛させていただきます。
解決編
結論から言うと、Social と zenbackウィジェットを、無事に共存させることができました。調査の経緯を含め、対応策を記載しておきます。
現状把握
ウチのブログでは zenbackのコードを、comments.php の先頭に入れていました。
人によっては comments.php に入れても動作せず、single.php に入れたら動いたとか、プラグイン入れたら動いたとか、色々なパターンがあるみたいです。ブログの構成とかに依存するのでしょうか?
調査
まずは Social を有効にした状態で、comments.php を色々いじってみました。
comments.php で単純に echo しても、何も出力されなかったり、有効状態では何も変化がないことが分かりました。おそらくコメント機能一式を、Social が取って代わるような挙動をしている。
そう考えると、comments.php にコードを入れている限り、zenbackウィジェットが表示されないというのも、辻褄が合うかと。
ひとまずこの仮定の元、解決策を講じてみました。
zenbackコードを入れる場所を変えてみた
というわけで、zenbackのコードを別のファイルに移して、動作を見ることにしました。
ちなみに理想形は以下の並びです。
- 記事本文
- zenbackウィジェット
- コメント欄
解決
試行錯誤した挙句、post-single.php に zenbackのコードを入れると、上記の並びでウィジェットが表示できるようになりました。
具体的には、post-single.php 内のコメントテンプレートの出力前に、zenbackのコードを入れるようにしました。
post-single.php
</div><! – Post ID <?php the_ID(); ?> – > <! – ここに zenbackのコードを入れる – > <?php if(comments_open( get_the_ID() )) { comments_template('', true); } ?>
使用しているテーマや構成によっては、post-single.php で解決できないかもしれません。とりあえず、ウチの環境ではこれで解決できました、という報告です。
もし同じ現象で困っている方が居らっしゃいましたら、試してみてください。
もちろん、バックアップはしておいてくださいね。
まとめ
共存できたのは良いけど、実用的かどうかはまた別の話。
ちょっとゴチャゴチャし過ぎかな…
ソーシャルボタンや関連記事の表示周りは、最終的には自作できるようになりたいですね。
WordPressデザインブック3.x対応posted with amazlet at 13.01.17エビスコム
ソシム
売り上げランキング: 17,954
コメント