Claro, basta usar CSS e o 'admin_head'
gancho para fazê-lo desaparecer. Eu acredito que é isso que você está procurando?
(fonte: mikeschinkel.com )
Basta adicionar o seguinte ao functions.php
arquivo do seu tema ou ao .php
arquivo de um plug-in que você possa estar escrevendo. Observe que incluí um 'init'
gancho para definir o tipo de postagem "Casa" e a taxonomia "Banho" para que outras pessoas possam seguir o exemplo com mais facilidade. Observe também que, se sua taxonomia se chama Baths ", será necessário alterar o seletor de CSS para o #newbaths_parent
lugar de #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' ),
)
);
}
ATUALIZAR
Parece que perdi a parte do botão de opção da pergunta. Infelizmente, o WordPress não facilita isso, mas você pode fazer isso usando o buffer de saída PHP (através das funções ob_start()
e ob_get_clean()
.) Basta encontrar um gancho antes da saída do metabox ( 'add_meta_boxes'
) e um gancho após a saída ( 'dbx_post_sidebar'
) e depois pesquisar HTML para 'checkbox'
e substitua por 'radio'
, faça eco na tela e pronto! O código a seguir:
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;
}
E a evidência:
(fonte: mikeschinkel.com )