Come ottenere il termine di tassonomia della pagina corrente e popolare le query nel modello


16

Mi sono imbattuto nel tentativo di capire come ottenere un termine di tassonomia specifico della pagina corrente in modo da poter successivamente compilare query sulla pagina per altri tipi di post che condividono lo stesso termine.

Fondamentalmente:

  • La pagina 1 ha il termine tassonomia - politica dell'istruzione
  • page.php ha quattro parti:
    1. loop standard che restituisce la pagina, ma presenta tre query successive
    2. loop per eventi che hanno un termine tassonomico - politica dell'istruzione
    3. ciclo per i report che hanno un termine tassonomia - politica educativa
    4. ciclo per le persone che hanno termine tassonomia - politica dell'istruzione

Ho creato modelli specifici per le pagine in cui ho potuto semplicemente codificare il termine nei loop extra, ma ho bisogno di capire come farlo dinamicamente (ciò che originariamente doveva essere di quattro o cinque pagine ora è quaranta o cinquanta).

Ho trovato alcune domande simili, ma nessuna che potrei davvero trovare la mia strada attraverso l'implementazione.

Ottieni la tassonomia della pagina corrente che è stato un po 'confuso da seguire in termini di ciò che è stato effettivamente chiesto.

Ottieni il termine id appartenente alla tassonomia personalizzata su una pagina di modello personalizzata a singolo post-tipo.php

Spero che abbia senso e molte grazie.

Risposte:


25

Hm, se hai registrato correttamente una tassonomia per il tipo di oggetto "pagina" e poi hai assegnato un termine di quella tassonomia a una pagina ... Credo che puoi quindi accedere alla tassonomia e alle lumache di termine nel modo seguente:

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

Se print_r($wp_query)vedrai tutti i parametri presenti durante la generazione di una pagina corrente visualizzata. Con il codice sopra accedete a questi parametri da $wp_query.

Quindi per ottenere il termine oggetto con informazioni complete è possibile utilizzare la funzione get_term_by , in questo modo

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

Questo stamperà il nome "carino" del termine.

Credo che se usi get_query_var('term')o $term->slug(dopo aver ottenuto il termine oggetto) puoi usare quella lumaca in tutte le altre query.

Spero possa aiutare. Non ho mai usato la tassonomia per le pagine. Fammi sapere come vai avanti.


2

Basta copiare incolla sotto il codice

In questo modo verrà stampato il nome e la descrizione della tassonomia della pagina corrente (opzionale)

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

-2

Potrebbe essere necessario abilitare la ricerca per abilitare l'impaginazione

Durante la dichiarazione di tassonomia personalizzata è necessario disabilitare la ricerca esclusa.

exclude_from_search => false

Ciò ha risolto il mio problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.