Advanced Custom Fieldで作成した日付書式のカスタムフィールドをCustom Post Type UIで作成したカスタム投稿に追加した際、管理画面のカスタム投稿一覧にカスタムフィールドを表示するようにしました。
通常、管理画面の投稿一覧は投稿日の日付でソートされています。これを日付書式のカスタムフィールドでソート出来るようにソートリンクを追加しましたが、出来ればカスタム投稿一覧を表示した時点で最初からソートされているようにしたい…という事で調べてみた際、通常の”投稿”で可能なやり方はありましたが、それだとカスタム投稿では使用出来ないことが分かりました。
そこで、コミュニティに質問したところ有効な回答が得られましたので、こちらにもメモとして書いておきます。
// 管理画面での表示リスト順変更
add_action( 'pre_get_posts', 'custom_post_sort' );
function custom_post_sort( $query ) {
if ( ! $query->is_main_query() )
return;
elseif ( is_admin()
&& ( isset( $query->query_vars['post_type'] ) && $query->query_vars['post_type'] == 'カスタム投稿タイプ名' ) ) {
$query->set( 'meta_key', 'カスタムフィールド名' );
$query->set( ‘orderby’, ‘カスタムフィールド名' );
$query->set( 'order', 'DESC' ); // 降順
}
}