Claro, solo usa CSS y el 'admin_head'
gancho para hacerlo desaparecer. ¿Creo que esto es lo que estás buscando?
(fuente: mikeschinkel.com )
Simplemente agregue lo siguiente al functions.php
archivo de su tema o al .php
archivo de un complemento que podría estar escribiendo. Tenga en cuenta que incluí un 'init'
gancho para definir el tipo de publicación "Inicio" y la taxonomía "Baño" para que otros puedan seguir más fácilmente el ejemplo. También tenga en cuenta que si su taxonomía se llama Baños " , deberá cambiar el selector CSS para que sea en #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' ),
)
);
}
ACTUALIZAR
Parece que me perdí la parte del botón de radio de la pregunta. Desafortunadamente, WordPress no lo hace fácil, pero puede hacerlo usando el almacenamiento en búfer de salida de PHP (a través de las funciones ob_start()
y ob_get_clean()
). Simplemente encuentre un gancho antes de que se meta el metabox ( 'add_meta_boxes'
) y un gancho después de que se emita ( 'dbx_post_sidebar'
) y luego busque el capturado HTML para 'checkbox'
y reemplazar con 'radio'
, hacer eco en la pantalla y listo! El código sigue:
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;
}
Y la evidencia:
(fuente: mikeschinkel.com )