Cómo obtener el término de taxonomía de la página actual y generar consultas en la plantilla

19 jun 2011, 18:15:30
Vistas: 72.9K
Votos: 20

He estado tropezando tratando de descubrir cómo obtener un término específico de taxonomía de la página actual para posteriormente generar consultas en la página para otros tipos de publicaciones que comparten el mismo término.

Básicamente:

  • La Página 1 tiene un término de taxonomía - política educativa
  • page.php tiene cuatro partes:
    1. bucle estándar que muestra la página, pero luego tiene tres consultas subsiguientes
    2. bucle para eventos que tienen término de taxonomía - política educativa
    3. bucle para informes que tienen término de taxonomía - política educativa
    4. bucle para personas que tienen término de taxonomía - política educativa

Hice plantillas específicas para páginas donde podía codificar manualmente el término en los bucles adicionales, pero necesito averiguar cómo hacerlo dinámicamente (lo que originalmente iba a ser cuatro o cinco páginas ahora son cuarenta o cincuenta).

He encontrado algunas preguntas similares, pero ninguna que realmente pudiera entender cómo implementar.

Obtener la taxonomía de la página actual que fue un poco confuso de seguir en términos de lo que realmente se estaba preguntando.

Obtener el ID del término perteneciente a una taxonomía personalizada en una plantilla single-post-type.php personalizada

Espero que esto tenga sentido y muchas gracias.

0
Todas las respuestas a la pregunta 3
0
33

Hmm, si registraste una taxonomía para el tipo de objeto "page" correctamente y luego asignaste un término de esa taxonomía a una página... creo que puedes acceder a los slugs de la taxonomía y del término de la siguiente manera:

get_query_var( 'taxonomy' )
get_query_var( 'term' )

Si haces print_r($wp_query) verás todos los parámetros que existen al generar la página actual que se está mostrando. Con el código anterior estás accediendo a esos parámetros desde $wp_query.

Luego, para obtener el objeto término con toda la información puedes usar la función get_term_by, así:

$term = get_term_by( 'slug', get_query_var('term'), get_query_var('taxonomy') );
echo $term->name;

Esto imprimirá el nombre "bonito" del término.

Creo que si usas get_query_var('term') o $term->slug (después de obtener el objeto término) puedes usar ese slug en todas las demás consultas.

Espero que te ayude. Nunca he usado taxonomías para páginas. Déjame saber cómo te va.

28 jun 2011 12:32:50
0

Solo copia y pega el siguiente código

Esto imprimirá el nombre de la taxonomía de tu página actual y la descripción (opcional)

<?php 
   $tax = $wp_query->get_queried_object();
   echo ''. $tax->name . '';
   echo "<br>";
   echo ''. $tax->description .''; 
?>
31 ago 2017 18:48:09
0
-2

Puede que necesites habilitar la búsqueda para habilitar la paginación

Al declarar una taxonomía personalizada, deberías deshabilitar la exclusión de búsqueda.

exclude_from_search => false

Esto solucionó mi problema.

28 dic 2015 21:09:32