私はこの投稿タイプの一種のカテゴリとして機能するcustom-post-typeのカスタム分類を作成しました。
私の分類法のメタボックスには2つのタブがあります。通常の投稿の通常のカテゴリと同じように、私のカテゴリ用のタブと「よく使用される」という2番目のタブがあります。
この「最もよく使われる」タブを取り除く方法はありますか?
前もって感謝します?
はい - まずWordPressが自動的に作成するメタボックスを「登録解除」する必要があります。
add_action( 'admin_menu', 'myprefix_remove_meta_box');
function myprefix_remove_meta_box(){
remove_meta_box('my-tax-metabox-id', 'post', 'normal');
}
my-tax-metabox-id
はメタボックスのIDです。その後、メタボックスを「再登録」して、出力に生成される独自のコールバック関数を提供します。
//Add new taxonomy meta box
add_action( 'add_meta_boxes', 'myprefix_add_meta_box');
function myprefix_add_meta_box() {
add_meta_box( 'mytaxonomymetabox_id', 'My Taxonomy','myprefix_mytaxonomy_metabox','post' ,'side','core');
}
function myprefix_mytaxonomy_metabox( $post ) {
//This function determines what displays in your metabox
echo 'This is my taxonomy metabox';
}
それからそれは単に 'default'階層メタボックスマークアップを模倣するが、タブを削除することの問題です。 私が書いたこの記事を見つけることができるかもしれません 。要するに、 http://core.trac.wordpress.org/browser/tags/3.3/wp-admin/includes/meta-boxes.php#L307
それが階層メタボックスの出力を担当する関数です - それをわずかに変更したいでしょう(タブを削除し、$taxonomy
変数を定義するなど)。
より単純な解決策を探している人のために、例えば、問題の分類法が "eventtype"であると仮定して、以下のCSSをバックエンドに追加することができます。
/* make sure tabs and the popular div itself are not shown */
#eventtype-pop,#eventtype-tabs{
display: none !important;
}
/* make sure the All Terms div is always shown, and remove extra spacing and styles */
#eventtype-all,#eventtype-all,#eventtype-all ul,#eventtype-all ul{
display: block !important;
padding:0;
margin:0;
background: transparent;
border:0;
}
このCSSを既存の管理CSSに追加するか、単純な管理フックを使用して追加できます。
add_action('admin_head', 'adminCSS');
function adminCSS(){
?><style type='text/css'>
/* make sure tabs and the popular div itself are not shown */
#eventtype-pop,#eventtype-tabs{
display: none !important;
}
/* make sure the All Terms div is always shown, and remove extra spacing and styles */
#eventtype-all,#eventtype-all,#eventtype-all ul,#eventtype-all ul{
display: block !important;
padding:0;
margin:0;
background: transparent;
border:0;
}
</style><?php
}
この例ではインラインCSSを示していますが、必要なすべての規則を含む外部CSSを追加することもできます。