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

12

Eu tenho andado por aí tentando 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 postagem que compartilham o mesmo termo.

Basicamente:

  • Página 1 tem termo de taxonomia - política de educação
  • page.php tem quatro partes:
    1. loop padrão que gera a saída da página, mas tem três consultas subsequentes
    2. loop para eventos que possuem 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 que têm termo de taxonomia - política de educação

Eu fiz page templates específicos onde eu poderia simplesmente codificar o termo nos loops extras, mas eu preciso descobrir como fazer isso dinamicamente (o que originalmente deveria ser quatro ou cinco páginas é agora quarenta ou cinquenta). / p>

Eu encontrei algumas perguntas semelhantes, mas nenhuma que eu realmente poderia encontrar meu caminho através da implementação.

Veja a taxonomia da página atual que foi um pouco confuso para seguir em termos do que realmente estava sendo perguntado.

Obtém o termo id pertencente à taxonomia personalizada em uma página personalizada de modelo single-post-type.php

Espero que isso faça sentido e muito obrigado.

    
por Christopher 19.06.2011 / 17:15

3 respostas

21

Hm, se você registrou uma taxonomia para o tipo de objeto "página" corretamente e, em seguida, atribuiu um termo dessa taxonomia a uma página ... Acredito que você possa acessar as taxonomias e termo slugs da seguinte maneira:

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

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

Em seguida, 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.

Acredito que, se você usar get_query_var('term') ou $term->slug (depois de obter o objeto term), poderá usar esse slug em todas as outras consultas.

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

    
por dashaluna 28.06.2011 / 11:32
1

Basta copiar a pasta abaixo do código

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

<?php 
   $tax = $wp_query->get_queried_object();
   echo ''. $tax->name . '';
   echo "<br>";
   echo ''. $tax->description .''; 
?>
    
por Varsha Dhadge 31.08.2017 / 17:48
-2

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

Ao declarar a taxonomia personalizada, desative a pesquisa.

  

exclude_from_search = > falso

Isso resolveu meu problema.

    
por ShoveItUpYour____ 28.12.2015 / 20:09