WordPressのカテゴリーは、階層構造を取ることができます。カテゴリーを親子までにしたい(三階層は不要)、という場合もあるでしょう。標準では、子カテゴリーも、新規カテゴリーの親候補に表示されます。子カテゴリーを親とすると、孫カテゴリーが作られます。
今回は、間違って孫カテゴリーを作るのを避けるため、子カテゴリーを親候補から非表示にする管理画面カスタマイズを行います。
今回もユーザープロフィールでパスワード変更のみ表示するのように、スタイルシートを使用して非表示にします。(この方法は、子カテゴリーを選択候補のドロップダウンリストで表示しないようにするだけです。システム上は孫カテゴリーが存在可能です。)
add_action('admin_print_styles-edit-tags.php','hide_children'); function hide_children(){ ?> <style>option.level-1 {display:none;}</style> <?php }
CSS 追加フックは、admin_print_styles-ページ名
を使用します。カテゴリー一覧の管理画面ページは、edit-tags.php
(WP3.2.1の場合) なので、このページにスタイルシートを追加します。
ドロップダウンリストで、親カテゴリーは level-0
、子カテゴリーは level-1
というクラスが付与されています。なので、level-1
に display:none
を指定します。3階層まで(親子孫まで) にしたい場合は、孫カテゴリー level-2
クラスを非表示にすれば OK です。
図は、それぞれカスタマイズ前と、カスタマイズ後のものです。
固定ページの階層にも、同様の手法が可能です。固定ページの場合は、post.php
と post-new.php
にスタイルシートを追加してください。
add_action('admin_print_styles-post.php','hide_children'); add_action('admin_print_styles-post-new.php','hide_children');