2018.07.17 2018.08.02

[bbpress]トピックのコメント一覧を新着順に並び替える方法

こんにちは、ゾノ( @ozonosho )です。

今回の記事ではwordpressの掲示板プラグイン「bbpress」においてトピックのコメント一覧を新着順に並び替える方法をご紹介します。

bbpressの標準設定だとコメント一覧は古い順に並ぶようになっていて、並び順を変更する機能や設定は備わっていないんですよね。

そんなわけで、コメント一覧を新着順に並び替えたい方は今回紹介する方法を試してみてください。

bbpressでトピックのコメント一覧を新着順に並び替える方法

実装は下記の2段階でおこないます。

  1. functions.phpにて並び順変更の処理を追加する
  2. コメント投稿後のリダイレクト先を変更する

それぞれ見ていきましょう。

①functions.phpにて並び順変更の処理を追加する

コメント一覧の並び順を変更するには、function.phpに下記のような関数を用意してください。

これでトピックページのコメント一覧が新着順に変更されます。

②コメント投稿後のリダイレクト先を変更する

コメント一覧を新着順に変更したら、次にコメント投稿後のリダイレクト先を変更します。

たとえばコメント一覧が3ページに及ぶ場合、bbpressの元々の機能だとコメント投稿後はコメント一覧の3ページ目が表示されるトピックページに飛びます。コメントが古い順でしたら3ページ目に飛ぶことで自分が投稿したコメント(=最新のコメント)を確認できるのでそれで良いのですが、今回コメントを新着順に変更したので3ページ目に飛ばされてしまうと自分が投稿したコメントを確認できないんですよね。

実装方法は簡単で、プラグイン内の下記ファイルを編集します。

/wp-content/plugins/bbpress/includes/replies/functions.php

関数「bbp_new_reply_handler」においてコメント投稿の処理が記述されているので、この関数の最後らへんにあるリダイレクト先を変更します。

具体的には、444行目ぐらいにあるwp_safe_redirect( $reply_url )の直前に下記のソースを追記してください。

これでコメント投稿後に新着コメントが表示されるページへリダイレクトされます。

おわりに

以上、今回の記事ではwordpressの掲示板プラグイン「bbpress」においてトピックのコメント一覧を新着順に並び替える方法を紹介させていただきました。

bbpressはとても便利なプラグインですが日本語のマニュアルがほとんど無いので・・・カスタマイズに困っている方のお役に立てば幸いです。

▽bbpressのまとめ記事はこちら
http://ozonosho.net/1067/

ゾノについて

絶賛募集中の企画

このブログと一緒によく読まれているブログ