Taxonomía personalizada como casilla de verificación o menú desplegable

10

He registrado un impuesto personalizado a mi CPT. En la pantalla de edición, aparece el cuadro meta de impuestos con un campo de autocompletar.

¿Es posible mostrarlo como casillas de verificación o desplegable en su lugar?

Julian F. Weinert
fuente

Respuestas:

15

Probablemente no estableció el argumento 'jerárquico' en verdadero en su register_taxonomy. Esto significaría que su valor predeterminado es falso, lo que le brinda una interfaz similar a una etiqueta.

Añadir 'hierarchical' => truea su registro_taxonomía.

Vancoder
fuente
Oh si ... Gracias! PERO ¿Ahora sería posible cambiarlo a casilla de verificación o incluso seleccionar? Quiero poder poner esto como configuración en la configuración de mis complementos.
Julian F. Weinert
1
Cambiar jerárquico a verdadero debería cambiar la interfaz a casillas de verificación en su pantalla de edición para el CPT.
vancoder
Sí, pero quiero poder cambiar entre estas opciones. No creo que sea una buena práctica cambiar entre jerárquico y no. No cambia SOLO la interfaz, ¿estoy en lo cierto?
Julian F. Weinert
Bueno, jerárquico lo hace ... jerárquico :) No puedo cambiar entre las 2 interfaces que yo sepa.
Vancoder
Esta solución no crea una casilla de verificación ni un menú desplegable.
Dev
17

A partir de WP 3.7 ( https://core.trac.wordpress.org/ticket/14206 ) puede agregar este argumento a register_taxonomy:

'meta_box_cb' => 'post_categories_meta_box'

para obtener el metabox de estilo de categoría de casilla de verificación incorporado sin tener que hacer que su taxonomía sea jerárquica.

También podría proporcionar su propia función de devolución de llamada para crear su propio metabox (es decir, con un menú desplegable).

Justin Foell
fuente
Genial, esto es exactamente lo que necesitaba sin tener que hacer que la taxonomía sea jerárquica. Gracias
Alexander Holsgrove
El problema con esto es que las taxonomías no jerárquicas y jerárquicas tienen una estructura de datos diferente que debe guardarse. Para saber cómo solucionar este problema, consulte aquí gist.github.com/gschoppe/…
P. Galbraith
Esta solución no crea una casilla de verificación ni un menú desplegable.
Dev
¡Esto es enorme! Gracias ... nunca supe que existía
Sam Holguin
-1

si desea cambiar el término del complemento existente a la casilla de verificación, debe editar el register_taxonomy () existente.

add_action( 'init', 'change_room_term_to_checkbox', 999);
function change_room_term_to_checkbox()
{
    $tax = get_taxonomy('roomtype');
    $tax->meta_box_cb = 'post_categories_meta_box';
    $tax->hierarchical = true;
}

'roomtype' es el nombre del término utilizado en register_taxonomy ('roomtype', array (.....

Nicola
fuente