web-dev-qa-db-ja.com

カテゴリスタイル(階層)分類メタボックスをどのように削除しますか。

誰かがこれを手伝ってくれるかどうか疑問に思いました。私は現在、分類選択を含むカスタムメタボックスの作成についてのShibashakeのチュートリアルをここで行っています: http://shibashake.com/wordpress-theme/wordpress-custom-taxonomy-input-panels 。これらは、remove_meta_box関数を使用して、Wordpressが分類用に自動的に作成する標準メタボックスを削除する方法を示しています。唯一の問題は、何らかの理由で、この機能がカテゴリとして機能する分類法、つまり階層オプションがtrueに設定されている分類法では機能しないように思われることです。タグとして設定されたものは簡単に消えるので、私は機能していると思います。それが単に不可能であるか、またはそれを機能させるためにパラメータの1つに追加する必要がある特別な何かがあるかどうか私はできません。

例:

$args = array( 
    'hierarchical' => false,  
    'label' =>'People',  
    'query_var' => true,  
    'rewrite' => true       
);
register_taxonomy('people', 'post',$args);

remove_meta_box('tagsdiv-people','post','side');

それはうまくいきます。ただし、hierarchyをtrueに設定すると、メタボックスはそのまま残ります。

誰かが光を当てることはできますか?

4
Manny Fleurmond

タグのような非階層的分類法はtagsdiv-{$tax_name}を使います。階層分類法(カテゴリなど)では{$tax_name}divを使用します。

これは歴史的な理由によるものです。カテゴリはcategorydivに、タグはtagsdivに配置されています。 複数の非階層的分類法のサポートが追加された とき、tagsdivの名前はtagsdiv-{$tax_name}に拡張されました。 最後に複数の階層的分類法が可能になったとき 、それらはcategorydiv{$tax_name}divに一般化することを選択します。

7
Jan Fabry