前提・実現したいこと
記事を新着順に並べることはできましたが、
さらにはじめに投稿した記事を除いて並べるにはどうしたらいいでしょうか?
(現時点での記事のidは調べ方がわかりません)
イメージはこうです
現在
5
4
3
2
1
やりたいこと
1←これを常に先頭に
5
4
3
2
下記関数で書いています。
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');
どう改修すればいいか、ご教授いただけますと幸いです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
回答が重複したので、書き換えておきます
投稿2019/08/12 01:10
編集2019/08/12 02:41総合スコア2
0
自己解決
解決しました。
bbpressのフォーラムから記事を探し、コピペですがやりたいコメントのみ逆順ができましたので共有します。
// Reverse forum replies order from newer to older
function custom_bbp_has_replies() {
$args['order'] = 'DESC'; // ‘ASC’ (Ascending, Default), 'DESC' (Descending)
return $args;
}
add_filter('bbp_before_has_replies_parse_args', 'custom_bbp_has_replies' );
function custom_bbp_show_lead_topic( $show_lead ) {
$show_lead[] = 'true';
return $show_lead;
}
add_filter('bbp_show_lead_topic', 'custom_bbp_show_lead_topic' );
こちらをfunction.phpに貼りました。
参考記事:
https://bbpress.org/forums/topic/redirection-when-newest-replies-are-at-the-top/
よろしくお願いします!
投稿2019/08/12 01:08
総合スコア2
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
メインクエリなのかサブクエリなのかわからないし、bbp_has_replies_queryを使ってるということは、bbPressを使っているって事だから、bbPressでどうなるのかわからないので一般的なサブクエリを使うとして書きます。
この1件だけを先頭に表示させてって時々見る質問なのですが、カスタムフィールドで「先頭に表示させる記事」と言うのを作り、先頭に表示させたい記事で1を保存した上で後はWP_Queryなり、get_postsなりの引数に
PHP
1$args['meta_key'] = '先頭に表示させる記事'; 2$args['orderby'] = array( 'meta_value_num' => 'DESC', 'date' => 'DESC' );
を突っ込めばいいんじゃないかなという気がします。
【追記】特定のページのメインクエリを書き換えるなら
※エラーが出ても大丈夫なように、FTPでアップロードしてくださいね!
PHP
1//functions.phpに追記 2add_filter( 'pre_get_posts', 'my_order' ); 3function my_order( $query ) { 4 5 //管理画面だったり、サブクエリの場合は無難にデフォルトのままで 6 if( is_admin() || !$query->is_main_query() ) return $query; 7 8 // 管理画面以外のメインクエリで、表示順を変えたい部分の条件を設定ここではis_archive 9 if($query->is_archive()) { 10 //クエリを書き換えて 11 $query->set( 'orderby' , array( 'meta_value_num' => 'DESC', 'date' => 'DESC' ) ); 12 $query->set( 'meta_key' , '先頭に表示させる記事' ); 13 } 14 15 return $query; 16 }
投稿2019/08/08 03:07
編集2019/08/08 03:22総合スコア797
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/08 04:50
2019/08/08 08:31
2019/08/08 10:18
2019/08/08 11:55
2019/08/08 13:02
2019/08/08 13:29
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。