確かに、CSSと'admin_head'
フックを使用して非表示にします。これがあなたが探しているものだと思いますか?
(ソース:mikeschinkel.com)
テーマのfunctions.php
ファイルまたは作成している.php
可能性のあるプラグインのファイルに次を追加するだけです。「Home」投稿タイプと「Bath」分類法'init'
を定義するフックを含めたことで、他の人がより簡単に例に従うことができることに注意してください。また、分類法の名前がBathsである場合は、CSSセレクターを次のように変更する必要があることに注意してください。#newbaths_parent
#newbath_parent
add_action('admin_head','remove_bath_parents');
function remove_bath_parents() {
global $pagenow;
if (in_array($pagenow,array('post-new.php','post.php'))) { // Only for the post add & edit pages
$css=<<<STYLE
<style>
<!--
#newbath_parent {
display:none;
}
-->
</style>
STYLE;
echo $css;
}
}
add_action('init','add_homes_and_baths');
function add_homes_and_baths() {
register_post_type('home',
array(
'label' => 'Homes',
'public' => true,
'rewrite' => array('slug' => 'homes'),
'hierarchical' => false,
)
);
register_taxonomy('bath', 'home', array(
'hierarchical' => true,
'label' => 'Baths',
'rewrite' => array('slug' => 'baths' ),
)
);
}
更新
だから、質問のラジオボタンの部分を見逃したようです。残念ながら、WordPressは簡単にこれを行うことはありませんが、あなたは使用してそれを実現することができますPHPの出力バッファリングを (経由ob_start()
してob_get_clean()
機能します。) metaboxが出力(ある前にだけフックを見つける'add_meta_boxes'
)とフックは、それが出力である(後'dbx_post_sidebar'
)、その後、捕獲検索しますのHTMLを'checkbox'
に置き換え'radio'
、画面にエコーし、完了です!コードは次のとおりです。
add_action('add_meta_boxes','mysite_add_meta_boxes',10,2);
function mysite_add_meta_boxes($post_type, $post) {
ob_start();
}
add_action('dbx_post_sidebar','mysite_dbx_post_sidebar');
function mysite_dbx_post_sidebar() {
$html = ob_get_clean();
$html = str_replace('"checkbox"','"radio"',$html);
echo $html;
}
そして証拠:
(ソース:mikeschinkel.com)