Como obter o termo de taxonomia da página atual e preencher as consultas no modelo


16

Eu tenho tentado descobrir como obter um termo de taxonomia específico da página atual para que eu possa preencher consultas na página para outros tipos de post que compartilhem o mesmo termo.

Basicamente:

  • Página 1 tem termo de taxonomia - política de educação
  • O page.php possui quatro partes:
    1. loop padrão que gera a página, mas depois tem três consultas subseqüentes
    2. loop para eventos com termo de taxonomia - política de educação
    3. loop para relatórios com termo de taxonomia - política de educação
    4. loop para pessoas com termo de taxonomia - política educacional

Eu criei modelos específicos de página onde eu poderia codificar o termo em loops extras, mas preciso descobrir como fazê-lo dinamicamente (o que originalmente deveria ser quatro ou cinco páginas agora é quarenta ou cinquenta).

Encontrei algumas perguntas semelhantes, mas nenhuma que eu realmente consegui encontrar através da implementação.

Obtenha a taxonomia da página atual que era um pouco confusa a seguir em termos do que realmente estava sendo solicitado.

Obtenha o ID do termo pertencente à taxonomia customizada em uma página de modelo customizada single-post-type.php

Espero que isso faça sentido e muito obrigado.

Respostas:


25

Hum, se você registrou uma taxonomia para o tipo de objeto "página" corretamente e depois atribuiu um termo dessa taxonomia a uma página ... Eu acredito que você pode acessar a taxonomia e os termos slugs da seguinte maneira:

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

Se você print_r($wp_query)vir todos os parâmetros existentes ao gerar uma página atual que é exibida. Com o código acima, você acessa esses parâmetros em$wp_query .

Para obter o termo objeto com informações completas, você pode usar a função get_term_by , como

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

Isso imprimirá o nome "legal" do termo.

Eu acredito que se você usa get_query_var('term')ou$term->slug (depois de obter o termo objeto), poderá usar essa lesma em todas as outras consultas.

Espero que ajude. Eu nunca usei taxonomia para páginas. Deixe-me saber como você se sai.


2

Basta copiar e colar o código abaixo

Isso imprimirá o nome e a descrição da taxonomia da página atual (opcional)

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

-2

Pode ser que você precise ativar a pesquisa para ativar a paginação

Ao declarar taxonomia customizada, você deve desativar a exclusão de pesquisa.

exclude_from_search => false

Isso resolveu o meu problema.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.