Tassonomia personalizzata come checkbox o menu a discesa

7 ago 2013, 20:34:39
Visualizzazioni: 35.5K
Voti: 15

Ho registrato una tassonomia personalizzata al mio CPT. Nella schermata di modifica, il meta box della tassonomia appare con un campo di autocompletamento.

È possibile visualizzarlo come checkbox o menu a discesa invece?

0
Tutte le risposte alla domanda 3
7
25

A partire da WP 3.7 (https://core.trac.wordpress.org/ticket/14206) puoi aggiungere questo argomento a register_taxonomy:

'meta_box_cb' => 'post_categories_meta_box'

per ottenere il metabox integrato con lo stile a checkbox delle categorie senza dover rendere la tua tassonomia gerarchica.

In alternativa, puoi fornire la tua funzione di callback per creare un metabox personalizzato (ad esempio con un dropdown).

16 giu 2016 00:34:29
Commenti

Fantastico, questo è esattamente ciò di cui avevo bisogno senza dover rendere la tassonomia gerarchica. Grazie

Alexander Holsgrove Alexander Holsgrove
29 dic 2016 23:20:35

Il problema con questo approccio è che le tassonomie non gerarchiche e gerarchiche hanno una struttura dei dati diversa che deve essere salvata. Per vedere come risolvere questo problema, consulta qui https://gist.github.com/gschoppe/29ba81a1f676d7802cb8#file-cat-like-custom-taxonomy-php

P. Galbraith P. Galbraith
27 feb 2017 08:18:32

Questa soluzione non crea una casella di spunta o un menu a discesa.

Brad Dalton Brad Dalton
12 set 2017 12:28:59

È incredibile! Grazie... Non sapevo esistesse

Sam Holguin Sam Holguin
10 feb 2019 22:00:55

Dove posso modificare le informazioni come suggerito da Justin Fowell? Scusate se è una cosa ovvia per voi, sto ancora imparando. Emily

Emily Wilding Emily Wilding
23 giu 2021 14:43:47

Nella chiamata register_taxonomy() che hai fatto per la tua tassonomia personalizzata. Come hai configurato la tassonomia?

Rup Rup
23 giu 2021 17:57:26

Non sembra più funzionare? L'ho impostato come nel tuo esempio, ma non vedo un campo di selezione.

Loosie94 Loosie94
11 gen 2022 17:07:36
Mostra i restanti 2 commenti
5
23

Probabilmente non hai impostato l'argomento 'hierarchical' a true nella tua register_taxonomy. Ciò significa che per default è false, il che ti dà un'interfaccia simile ai tag.

Aggiungi 'hierarchical' => true alla tua register_taxonomy.

7 ago 2013 20:37:48
Commenti

Oh sì... Grazie! MA Sarebbe ora possibile cambiarlo in checkbox o anche select? Vorrei poterlo inserire come impostazione nelle opzioni del mio plugin.

Julian F. Weinert Julian F. Weinert
7 ago 2013 20:51:25

Impostare hierarchical a true dovrebbe cambiare l'interfaccia in checkbox nella schermata di modifica del CPT.

vancoder vancoder
7 ago 2013 21:06:24

Sì, lo fa – ma vorrei poter alternare tra queste opzioni. Non penso che sia una buona pratica passare da hierarchal a non hierarchal. Non cambia SOLO l'interfaccia, ho ragione?

Julian F. Weinert Julian F. Weinert
7 ago 2013 21:09:00

Beh, gerarchico lo rende... gerarchico :) Per quanto ne so, non puoi passare tra le 2 interfacce.

vancoder vancoder
7 ago 2013 21:33:32

Questa soluzione non crea una casella di controllo o un menu a discesa.

Brad Dalton Brad Dalton
12 set 2017 12:28:47
0
-1

Se vuoi modificare il termine esistente di un plugin in una checkbox, devi modificare la funzione register_taxonomy() esistente.

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' è il nome del termine utilizzato in register_taxonomy('roomtype', array(.....

29 mar 2017 11:34:00