更新しても管理画面のカテゴリー構造をそのままにする

ブログなど投稿カテゴリーを階層にすることがあります。
投稿する際に階層状態にあるカテゴリーの小カテゴリーをチェックし、更新するとチェックを入れた小カテゴリーが選択箇所の上部に来てしまい、階層が崩れたような見た目になってしまいます。

階層が階段状になったままの状態に保つためには、WordPressのフィルターフック機能を使用する必要があります。

テーマのfunctions.phpに以下の記述をします。

// functions.php
function stay_wp_terms_checklist_args( $args, $post_id ){
   if ( $args['checked_ontop'] !== false ){
        $args['checked_ontop'] = false;
   }
   return $args;
}
add_filter('wp_terms_checklist_args', 'stay_wp_terms_checklist_args',10,2);

こうすることで小カテゴリーだけにチェックを入れて更新してもカテゴリー階層をそのままの状態に保つことが出来ます。

 

 

参考:WordPressの投稿画面で入れ子になったカテゴリ選択ボックスの階層を保つ方法