管理ページで カスタム投稿タイプの デフォルトの並び順 を 変更する!!
この記事は 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';
}
}
}
} );
これで 公開日順 に 並びました
あと やたらめったら 「の」 で つなげる 癖なんとかしないといけないの!!