bbPress でトピックの返信を日付の逆順にする方法
今回はbbPress でトピックの返信を日付の逆順にする方法を探したのですが、なかなか見つからず大変な思いをしたので、なんとか手助けになればと思って書いてみます。
bbPressとは
bbPressはフォーラム(掲示板)作成プラグインです。のようにトピックごとに返信を行うことが出来ます。非常に多機能なプラグインなんですが、少し使いづらいところがあります。
トピックの表示について
bbPressのトピックの表示は、デフォルトで最近返信がついた(アクティビティがあった)順に並んでいます。この表示順をを並べ替えるにはの「Topic Order」に「Display Order」があるのでそこで並べ替えればいいのですが、そのトピック内の返信については、新しい返信が下に来るように設定されています。そして、これはbbp style packでは変更することが出来ません。
なんとか変更することが出来ないかとプラグインを探したところという物を見つけました。
ダウンロードして有効化してみるも思うような動きになりません。更新が2年前からとまっているのでその辺で不具合が生じているのではないかと思われます。
bbPress でトピックの返信を日付の逆順にする
では、どうすれば日付の逆順になるのでしょうか。色々と調べてみましたが、なかなか答えが見つからず苦労をしました。
最終的に
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');
これで、トピックの返信の表示がきちんと新しい日付順になっていると思います。
コメント一覧
bbpressのトピック返信の日付を逆順にする方法について、こちらの情報を試してみて、うまくできました。
しかし、問題が一つあります。
返信が複数ページになった場合、新しく返信をすると、その直後の表示は、最終ページになってしまいます。
しかし、返信の表示は最新が1ページ目なので、1ページ目に移動しないと投稿した返信が見られません。
投稿直後の表示を最終ページでなく、1ページ目にする方法を茣蓙音字であれば、教えて下さい。