WordPressでカテゴリーを選択して記事を保存した際、デフォルトだとカテゴリー選択部分の並び順が変更されて選択したカテゴリーが上に移動してしまいますが、この動きを無効化してカテゴリーを選択した記事保存後も並び順を維持させる(上に移動させない)ようにする方法です。
実装にはfunctions.php
に下記を記述し、記述後に再度投稿画面を確認するとカテゴリーが上に移動してしまっている動きが無効化され、新規記事投稿時などと同様に本来の並び順で表示されているのを確認できます。
functions.php
add_action( 'wp_terms_checklist_args', 'disable_checked_ontop' );
function disable_checked_ontop( $args ) {
$args['checked_ontop'] = false;
return $args;
}
上記の場合はすべての投稿タイプが対象となりますが、これを特定の投稿タイプのみで適用させたい場合は、下記のようにget_current_screen()
を組み合わせることで実装できます。
このサンプルコードの場合は「news」というカスタム投稿タイプでのみ並び順が維持されるようになります。
functions.php
add_action( 'wp_terms_checklist_args', 'disable_checked_ontop' );
function disable_checked_ontop( $args ) {
$screen = get_current_screen();
if ( 'news' == $screen->post_type ) {
$args['checked_ontop'] = false;
}
return $args;
}