管理ページで カスタム投稿タイプの デフォルトの並び順 を 変更する!!
この記事は 2017年 8月 11日 に書かれた記事です。
この記事は WordPress Version 4.8 の時の記事です。
今日 カスタム投稿タイプ で news を 作ってたら デフォルト の 並び順 が 公開日順 じゃなかった …
というわけで 並び順 を 変えてみる
$query の 中身を 調べてみた
とりあえず 現状 どのようになってるか 調べてみた
add_action( 'pre_get_posts', function( $query ) { if( $query->is_admin && $query->is_main_query() ) { if ( isset ( $_GET['query'] ) ) { var_dump( $query ); } } } );
~/edit.php?post_type=news
を ~/edit.php?post_type=news&query
って 追加して query を 表示してやると “orderby” が “memu_oeder title” に なってた
並び順を 投稿日順にする
ってなわけで 並び順を 変えたいのだが
標準でついている ソート機能を 殺さないようにしたい
浅はかな考えだけど ソートするとき ~/edit.php?post_type=news&orderby=title&order=asc
みたいになるので
$_GET[‘orderby’] が あるかどうか 調べて なければ 上書きしてしまうことにしました
add_action( 'pre_get_posts', function( $query ) { if( $query->is_admin && $query->is_main_query() ) { if ( ! isset( $_GET['orderby'] ) ) { if( $query->is_post_type_archive( 'news' ) ) { $query->query_vars['order'] = 'DESC'; $query->query_vars['orderby'] = 'date'; } } } } );
これで 公開日順 に 並びました
あと やたらめったら 「の」 で つなげる 癖なんとかしないといけないの!!