Comprobar si una página tiene un término asociado?
-
16-10-2019 - |
Pregunta
Estoy buscando una manera de hacer algo de lógica condicional en condiciones asociadas con un poste.
En esencia creé mi propia taxonomía personalizada para los "grupos de edad" y han creado tres términos para ellos. Niños, adolescentes, adultos ... En el área de administración que quieren comprobar los términos que se aplican a un puesto específico y en la interfaz del sitio dentro de mi plantilla de página que quiero mostrar una imagen específica si el término se asocia con el puesto o uno diferente si el término no se asoció.
¿Alguien tiene una solución para esto ... pensé que el siguiente ejemplo de código funcionaría pero no es así. . (Por cierto - lo que estoy haciendo aquí está cambiando la imagen en función de css)
<li id="kids-<?php if ( is_term( 'Kids' , 'age_groups' ) ) {
echo 'on';
} else {echo 'off';} ?>">Kids Programs</li>
Solución
Hola @NetConstructor:
Lo primero, asumiendo tu lógica trabajó se puede utilizar el operador ternario para simplificar su ejemplo:
<li id="kids-<?php echo is_term('Kids','age_groups')
? 'on' : 'off'; ?>">Kids Programs</li>
El problema parece ser que is_term()
se utiliza para comprobar si existe un plazo, no si se asocia con un determinado puesto. Creo que lo que realmente quiere es is_object_in_term()
(que se supone que está en href="http://codex.wordpress.org/The_Loop"> del bucle, es decir, que $post
tiene un valor adecuado ):
<li id="kids-<?php echo is_object_in_term($post->ID,'age_groups','Kids')
? 'on' : 'off'; ?>">Kids Programs</li>
P.S. Suponiendo is_term()
había sido la función correcta, ha sido obsoleta ; sustituye term_exists()
is_term()
; Para su información.