標準の投稿タイプのカテゴリから、親子関係と説明を無効化したい
-
標準の投稿タイプ(post)のカテゴリ(category)から、親子関係の設定機能と説明の入力欄を無効化を、functions.phpから行いたいと考えています。
まず以下のようなコードを追加して、categoryの設定を上書きしようと試してみました。
その結果、親子関係設定のセレクトボックスは非表示になったのですが、カテゴリーという名前が入っていた箇所すべてが、なぜかタグに変わってしまいました。
さらに、新規タグを追加(本来は新規カテゴリーを追加と表示されてほしい)の上に、人気のタグといういらない項目も表示されてしまいました。function custom_default_post_type() { $args = array( 'hierarchical' => false, ); register_taxonomy("category", "post", $args); } add_action( 'init', 'custom_default_post_type', 10 );
タグをカテゴリーに戻すために、以下の方法でテキストの上書きをさせています。
function custom_default_post_type() { $name = "カテゴリー"; $labels = array( 'name' => $name, 'singular_name' => $name, 'search_items' => $name.'を検索', 'all_items' => '全ての'.$name, 'parent_item' => '親'.$name, 'parent_item_colon' => '親'.$name.':', 'edit_item' => $name.'を編集', 'update_item' => $name.'を更新', 'add_new_item' => '新規'.$name.'を追加', 'new_item_name' => '新規'.$name, 'menu_name' => $name, ); $args = array( 'labels' => $labels, 'hierarchical' => false, ); register_taxonomy("category", "post", $args); } add_action( 'init', 'custom_default_post_type', 10 );
また、説明の入力欄は、どうすれば無効化できるのかわかりませんでした。
そこで、解決内容と知りたいものとして、以下に挙げます。
- カテゴリーの親子関係を無効化した際に、名前がタグになってしまうのを止める方法はないでしょうか?
- もし名前が変わってしまうのを無効化できない場合、上記コードのように上書きするしか方法がないのでしょうか?
- 人気のタグを表示させない方法はないでしょうか?
- 説明の入力欄はどうすれば無効化できるのでしょうか?
一時的な対策として、以下のようなcssで親子と説明を見えないようにしています。
しかしこれでは消えたように見えるだけであって、実体は存在しているため、あまり良い方法と言えません。function admin_add_scripts() { wp_enqueue_style("style", get_stylesheet_directory_uri() . "/css/admin.css"); } add_action("admin_enqueue_scripts", "admin_add_scripts");
.form-field.term-parent-wrap, .form-field.term-description-wrap { display: none; }
もう一つの対策案としては、もう標準の投稿タイプなんて使用せず、カスタム投稿タイプを作成してしまうことなのですが、すでに標準の投稿タイプに対して記事が数件登録されてしまっているため、このまま標準の投稿タイプにするべきではと考えました。
- トピック「標準の投稿タイプのカテゴリから、親子関係と説明を無効化したい」には新たに返信することはできません。