it-swarm-eu.dev

Kontrola, zda stránka má přidružené období?

Hledám způsob, jak udělat nějakou podmíněnou logiku na termíny spojené s příspěvkem.

V podstatě jsem vytvořil vlastní taxonomii pro „věkové skupiny“ a vytvořil jsem pro ně tři termíny. Děti, dospívající, dospělí ... V oblasti admin chci zkontrolovat podmínky, které se vztahují na konkrétní příspěvek a na frontend stránky v rámci šablony mé stránky. nebo jiný, pokud tento termín nebyl spojen.

Má někdo řešení pro toto ... Myslel jsem, že následující příklad kódu bude fungovat, ale ne. (BTW - to, co tady dělám, je změna obrazu na základě css).

<li id="kids-<?php if ( is_term( 'Kids' , 'age_groups' ) ) {
   echo 'on';
} else {echo 'off';} ?>">Kids Programs</li>
2
NetConstructor.com

Ahoj @ NetConstructor:

První věc, za předpokladu, že vaše logika funguje , můžete použít ternární operátor pro zjednodušení příkladu:

<li id="kids-<?php echo is_term('Kids','age_groups') 
   ? 'on' : 'off'; ?>">Kids Programs</li>

Zdá se, že problém je, že is_term() se používá ke kontrole, zda existuje termín, ne pokud je spojen s konkrétním příspěvkem. Myslím, že to, co opravdu chcete, je is_object_in_term() (což předpokládá, že jste v smyčce , tj. $post má odpovídající hodnotu):

<li id="kids-<?php echo is_object_in_term($post->ID,'age_groups','Kids') 
   ? 'on' : 'off'; ?>">Kids Programs</li>

P.S. Za předpokladu, že is_term() byla správná funkce, byla ve skutečnosti zastaralá ; term_exists() nahrazuje is_term(); jen fyi.

6
MikeSchinkel