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

16

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

Básicamente:

  • Page 1 tiene término de taxonomía - política educativa
  • page.php tiene cuatro partes:
    1. bucle estándar que genera la página, pero luego tiene tres consultas posteriores
    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 de página en las que podía codificar el término en los bucles adicionales, pero necesito descubrir cómo hacerlo dinámicamente (lo que originalmente se suponía que eran cuatro o cinco páginas ahora es cuarenta o cincuenta).

Encontré algunas preguntas similares, pero ninguna que realmente pude encontrar a través de la implementación.

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

Obtenga el término id que pertenece a la taxonomía personalizada en una página de plantilla personalizada de un solo tipo post.php

Espero que esto tenga sentido y muchas gracias.

Christopher
fuente

Respuestas:

25

Hm, si registró una taxonomía para el tipo de objeto "página" correctamente y luego asignó un término de esa taxonomía a una página ... Creo que puede acceder a la taxonomía y las babosas de término de la siguiente manera:

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

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

Luego, para obtener el término objeto con información completa, puede 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 "agradable" del término.

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

Espero que ayude. Nunca utilicé la taxonomía para las páginas. Déjame saber cómo te va.

dashaluna
fuente
2

Simplemente copie pegar debajo del código

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

<?php 
   $tax = $wp_query->get_queried_object();
   echo ''. $tax->name . '';
   echo "<br>";
   echo ''. $tax->description .''; 
?>
Varsha Dhadge
fuente
-2

Es posible que necesite habilitar la búsqueda para habilitar la paginación

Al declarar una taxonomía personalizada, debe deshabilitar la búsqueda excluyente.

exclude_from_search => false

Esto solucionó mi problema.

ShoveItUpYour____
fuente