【WP bbPress】で通報機能にReportContactを使った際に起こる表示崩れを直す
コメントを開放している場合や投稿系サイトを制作する上でスパムの餌食となりやすいWordpressですのでサイトを健全に保つためにも通報機能は必須ですね。
それが簡単にできちゃうReportContactがおすすめです。
本題はこの便利なReportContactですが、bbPressだと表示崩れが起きちゃうんです。
原因は単純でCSS上でBBPとReportContactのliタグが拮抗しちゃってるだけなんですけど...それがわからなくて利用を諦める人がいると勿体無いと思いますので修正する箇所を落としておきます。
bbPress+ReportContact
プラグイン:ReportContact
詳細はこちらの方が分かりやすく説明されていました(ありがたいことに日本語翻訳版も用意してくれている)
WordPressでYahoo知恵袋などにある「違反通報」と同じ機能を追加できるプラグイン「Report Content」 | Knowledge Base
設定では【投稿、オート】でとりあえずbbPressのページを確認すると表示されていないことがわかります。
なので独自タグを通報を設置したい箇所に加えます。
通報ボタンのタグ
<?php wprc_report_submission_form(); ?>
これを本文の後に付け加える場合
wp-content\plugins\bbpress\templates\default\bbpress\loop-single-reply.php
の最後の方
<?php do_action( 'bbp_theme_after_reply_content' ); ?> </div><!-- .bbp-reply-content -->
↓
<?php do_action( 'bbp_theme_after_reply_content' ); ?> <?php wprc_report_submission_form(); ?><!--ここに通報ボタンを加えました--> </div><!-- .bbp-reply-content -->
このままでは表示が崩れていますので
wp-content\plugins\bbpress\templates\default\bbpress\loop-replies.php
40行目辺りのliタグをdivに変更すれば表示崩れが直ります。
<li class="bbp-body"> <?php if ( bbp_thread_replies() ) : ?> <?php bbp_list_replies(); ?> <?php else : ?> <?php while ( bbp_replies() ) : bbp_the_reply(); ?> <?php bbp_get_template_part( 'loop', 'single-reply' ); ?> <?php endwhile; ?> <?php endif; ?> </li><!-- .bbp-body -->
↓↓
<div class="bbp-body"> <?php if ( bbp_thread_replies() ) : ?> <?php bbp_list_replies(); ?> <?php else : ?> <?php while ( bbp_replies() ) : bbp_the_reply(); ?> <?php bbp_get_template_part( 'loop', 'single-reply' ); ?> <?php endwhile; ?> <?php endif; ?> </div><!-- .bbp-body -->
((o・д・)bGood Luck