HoBoFoTo

Hobo everyday foto.

日本語 English

bbPress でトピックの返信を日付の逆順にする方法

 今回はbbPress でトピックの返信を日付の逆順にする方法を探したのですが、なかなか見つからず大変な思いをしたので、なんとか手助けになればと思って書いてみます。

bbPressとは

 bbPressはフォーラム(掲示板)作成プラグインです。

ja.wordpress.org
自作品の告知 | WordPress.org 日本語
のようにトピックごとに返信を行うことが出来ます。非常に多機能なプラグインなんですが、少し使いづらいところがあります。

トピックの表示について

 bbPressのトピックの表示は、デフォルトで最近返信がついた(アクティビティがあった)順に並んでいます。この表示順をを並べ替えるには

WordPress.org 日本語
bbp style pack
For bbPress - Lets you style bbpress, and add display features
の「Topic Order」に「Display Order」があるのでそこで並べ替えればいいのですが、そのトピック内の返信については、新しい返信が下に来るように設定されています。そして、これはbbp style packでは変更することが出来ません。
 なんとか変更することが出来ないかとプラグインを探したところ
WordPress.org 日本語
bbPress – Sort topic replies
Sort topic replies in ascending or descending order for each bbPress Topic.
という物を見つけました。
 ダウンロードして有効化してみるも思うような動きになりません。更新が2年前からとまっているのでその辺で不具合が生じているのではないかと思われます。

bbPress でトピックの返信を日付の逆順にする

 では、どうすれば日付の逆順になるのでしょうか。色々と調べてみましたが、なかなか答えが見つからず苦労をしました。
 最終的に

bbpress.org
Topic: Change "posting order" · bbPress.org
Forums, made the WordPress way
に行き着きました。
 ここで書かれている方法に少しアレンジをいれて使うと上手くいくようです。
 ということで、自分のテーマのfunctions.phpに以下のソースを記入して保存しサーバーへアップロードしてください。

/**bbpressの表示を逆順にする**/
function rew_date_topic_order( $args= array() ) {
                $args['orderby']='date';
                $args['order']='DESC';  //表示を新しい方から順に並べる
                return $args;
}
add_filter('bbp_has_replies_query','rew_date_topic_order');

これで、トピックの返信の表示がきちんと新しい日付順になっていると思います。
 

よかったらクリックしてください。
にほんブログ村 IT技術ブログ WordPressへ

共有:

コメント一覧

  1. bbpressのトピック返信の日付を逆順にする方法について、こちらの情報を試してみて、うまくできました。
    しかし、問題が一つあります。
    返信が複数ページになった場合、新しく返信をすると、その直後の表示は、最終ページになってしまいます。
    しかし、返信の表示は最新が1ページ目なので、1ページ目に移動しないと投稿した返信が見られません。
    投稿直後の表示を最終ページでなく、1ページ目にする方法を茣蓙音字であれば、教えて下さい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です