Certo, basta usare CSS e il 'admin_head'
gancio per farlo scomparire. Credo che questo sia quello che stai cercando?
(fonte: mikeschinkel.com )
Aggiungi semplicemente quanto segue al functions.php
file del tuo tema o al .php
file di un plugin che potresti scrivere. Nota che ho incluso un 'init'
hook per definire il tipo di post "Home" e la tassonomia "Bath" in modo che altri possano seguire più facilmente l'esempio. Nota inoltre che se la tua tassonomia è denominata Baths " dovrai cambiare il selettore CSS in modo che sia #newbaths_parent
invece di #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' ),
)
);
}
AGGIORNARE
Quindi sembra che mi sia sfuggito il pulsante di opzione della domanda. Sfortunatamente WordPress non lo rende facile, ma puoi realizzarlo utilizzando il buffering dell'output PHP (tramite le funzioni ob_start()
e ob_get_clean()
.) Basta trovare un hook prima che il metabox sia output ( 'add_meta_boxes'
) e un hook dopo che sia output ( 'dbx_post_sidebar'
) e quindi cercare il catturato HTML per 'checkbox'
e sostituirlo con 'radio'
, echo sullo schermo e il gioco è fatto! Il codice segue:
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 le prove:
(fonte: mikeschinkel.com )