Taxonomie personalizată ca checkbox sau dropdown

7 aug. 2013, 20:34:39
Vizualizări: 35.5K
Voturi: 15

Am înregistrat o taxonomie personalizată pentru CPT-ul meu. Pe ecranul de editare, meta box-ul taxonomiei apare cu un câmp autocomplete.

Este posibil să o afișez ca checkbox-uri sau dropdown în schimb?

0
Toate răspunsurile la întrebare 3
7
25

Începând cu WP 3.7 (https://core.trac.wordpress.org/ticket/14206) puteți adăuga acest argument la register_taxonomy:

'meta_box_cb' => 'post_categories_meta_box'

pentru a obține caseta meta încorporată cu stilul checkbox pentru categorii, fără a fi nevoie să faceți taxonomia ierarhică.

De asemenea, puteți furniza propria funcție callback pentru a crea propria casetă meta (de exemplu, cu un meniu derulant).

16 iun. 2016 00:34:29
Comentarii

Excelent, exact asta aveam nevoie fără să fie nevoie să fac taxonomia ierarhică. Mulțumesc

Alexander Holsgrove Alexander Holsgrove
29 dec. 2016 23:20:35

Problema cu aceasta abordare este că taxonomiile neierarhice și cele ierarhice au o structură de date diferită care trebuie salvată. Pentru soluția la această problemă, vezi aici https://gist.github.com/gschoppe/29ba81a1f676d7802cb8#file-cat-like-custom-taxonomy-php

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

Această soluție nu creează o casetă de bifat sau un meniu derulant.

Brad Dalton Brad Dalton
12 sept. 2017 12:28:59

Este fantastic! Mulțumesc... Nu știam că există așa ceva

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

Unde pot schimba informațiile așa cum sugerează Justin Fowell? Îmi cer scuze dacă e ceva evident pentru toată lumea, eu abia învăț. Emily

Emily Wilding Emily Wilding
23 iun. 2021 14:43:47

În apelul register_taxonomy() pe care îl folosești pentru taxonomia personalizată. Cum ai configurat taxonomia?

Rup Rup
23 iun. 2021 17:57:26

Asta nu mai funcționează? L-am setat conform exemplului tău, dar nu văd un câmp de selectare.

Loosie94 Loosie94
11 ian. 2022 17:07:36
Arată celelalte 2 comentarii
5
23

Probabil nu ai setat argumentul 'hierarchical' la true în register_taxonomy. Acest lucru înseamnă că în mod implicit este false, ceea ce îți oferă o interfață asemănătoare cu etichetele.

Adaugă 'hierarchical' => true în register_taxonomy.

7 aug. 2013 20:37:48
Comentarii

Oh da... Mulțumesc! DAR Ar fi posibil acum să-l schimbăm în checkbox sau chiar select? Vreau să pot include asta ca setare în configurațiile pluginului meu.

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

Setarea hierarchical la true ar trebui să schimbe interfața în checkbox-uri pe ecranul de editare pentru CPT.

vancoder vancoder
7 aug. 2013 21:06:24

Da, așa se întâmplă – dar eu vreau să pot comuta între aceste opțiuni. Nu cred că este o practică bună să schimbi între hierarchical și non-hierarchical. Nu schimbă DOAR interfața, am dreptate?

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

Ei bine, ierarhic îl face... ierarhic :) Din câte știu eu, nu poți comuta între cele 2 interfețe.

vancoder vancoder
7 aug. 2013 21:33:32

Această soluție nu creează o casetă de bifat sau un meniu derulant.

Brad Dalton Brad Dalton
12 sept. 2017 12:28:47
0
-1

dacă dorești să modifici afișarea termenilor existente ai unui plugin în checkbox, trebuie să editezi funcția existentă register_taxonomy().

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' este numele termenului folosit în register_taxonomy('roomtype', array(.....

29 mar. 2017 11:34:00