Verifică dacă o postare are vreun termen în această taxonomie personalizată?

18 dec. 2016, 13:40:05
Vizualizări: 24.9K
Voturi: 10

Aceasta,

if( has_term( 'jazz', 'genre' ) ) {
    // execută ceva
}

va verifica dacă o postare are termenul jazz din taxonomia personalizată genre. Dar cum să verificăm dacă o postare aparține unei taxonomii personalizate genre? Indiferent ce termen are, atâta timp cât are ceva din taxonomia genre, va verifica.

Deci ceva de genul acesta,

if ( has_taxonomy('genre') ) {
    // fie că e jazz, blues, rock and roll; nu contează atâta timp cât postarea are oricare dintre ele.
}
1
Comentarii
Toate răspunsurile la întrebare 2
0
19

Puteți lăsa câmpul termen gol, de exemplu:

if( has_term( '', 'genre' ) ) {
    // fă ceva
}

pentru a verifica dacă obiectul postului curent are vreun termen în taxonomia "genre".

Funcția utilizează is_object_in_term() unde:

Termenii dați sunt verificați împotriva termenilor obiectului (term_ids, nume și slug-uri). Termenii dați ca numere întregi vor fi verificați doar împotriva term_ids-urilor termenilor obiectului. Dacă nu sunt dați termeni, se determină dacă obiectul este asociat cu orice termeni din taxonomia dată.

18 dec. 2016 14:38:28
2
if ( has_term('', 'genre') ) {
    // indiferent dacă e jazz, blues, rock and roll; nu contează atâta timp cât postarea are oricare dintre ele.
}

va returna true dacă postarea conține orice termen din taxonomia genre

18 dec. 2016 14:38:21
Comentarii

Nu cred că funcția has_taxonomy() există în nucleul WordPress.

birgire birgire
18 dec. 2016 16:47:28

Scuze, a fost o greșeală. Am schimbat has_taxonomy în has_term

Tunji Tunji
18 dec. 2016 17:15:19