投稿画面でカテゴリーをソートしない

管理画面の投稿画面にカテゴリーを選択するリストボックスがあり、いったんチェックをつけたカテゴリーは次回から上に表示される。CMSとして利用する場合はカテゴリーに2、3の階層を持たせることがほとんどなので、これをやられるとあとからカテゴリーの階層がわからなくなって困る。
この並べ替えをしない方法。

/wp-admin/includes/meta-boxes.php の
function post_categories_meta_box() から
wp_category_checklist() を呼ぶ箇所で、

<?php wp_category_checklist($post->ID, false, false, $popular_ids) ?>

となっているところに、引数を追加するとよい。

<?php wp_category_checklist($post->ID, false, false, $popular_ids, '', false) ?>

6番目のパラメータがチェックされているカテゴリーを上にもってくるかどうかのフラグである。デフォルトでtrueとなっているのを、falseに指定する。5番目のパラメータは不明だが、デフォルトのNULLを指定しておく。こうすることで、カテゴリーのリストが常に同じ順番で表示される。

このようにWordPressの本体コードを修正すると、バージョンアップ時に上書きされてしまうのでおすすめできない。パラメータがあるということは、どこかに設定画面があるのだろうか?
とりあえず自分用にメモ。

コメントを残す

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>