Comment obtenir le terme de taxonomie de la page en cours et renseigner les requêtes dans le modèle

12

Je suis tombé sur l'idée d'essayer de trouver un terme de taxonomie spécifique pour la page en cours afin de pouvoir ensuite renseigner des requêtes sur la page pour d'autres types d'article qui partagent le même terme.

Fondamentalement:

  • La page 1 contient un terme de taxonomie - politique éducative
  • page.php comprend quatre parties:
    1. boucle standard qui sort la page, mais a ensuite trois requêtes suivantes
    2. boucle pour les événements comportant un terme de taxonomie - politique éducative
    3. boucle pour les rapports comportant un terme de taxonomie - politique éducative
    4. boucle pour les personnes ayant un terme de taxonomie - politique d'éducation

J'ai créé des modèles spécifiques à des pages où je pouvais simplement coder le terme dans les boucles supplémentaires, mais je dois trouver un moyen de le faire de manière dynamique (ce qui devait initialement être de quatre ou cinq pages équivaut maintenant à quarante ou cinquante).

J'ai trouvé quelques questions similaires, mais aucune que je puisse vraiment trouver dans la mise en œuvre.

Obtenir la taxonomie de la page actuelle ce qui était un peu déroutant à suivre en termes de ce qui était réellement demandé.

Obtenir le terme id appartenant à la taxonomie personnalisée sur une page de modèle personnalisée à post-type-type.php

J'espère que cela a du sens et merci beaucoup.

    
posée Christopher 19.06.2011 - 17:15

3 réponses

21

Hm, si vous avez correctement enregistré une taxonomie pour le type d'objet "page", puis affecté un terme de cette taxonomie à une page ... Je pense que vous pouvez alors accéder à la taxonomie et aux termes "slug" de la manière suivante:

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

Si vous print_r($wp_query) vous verrez tous les paramètres présents lors de la génération d’une page courante affichée. Avec le code ci-dessus, vous accédez à ces paramètres à partir de $wp_query .

Ensuite, pour obtenir le terme objet avec les informations complètes, vous pouvez utiliser la fonction get_term_by , comme si

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

Ceci affichera le "joli" nom du terme.

Je pense que si vous utilisez get_query_var('term') ou $term->slug (après avoir récupéré le terme objet), vous pouvez utiliser ce slug dans toutes les autres requêtes.

J'espère que ça aide. Je n'ai jamais utilisé la taxonomie pour les pages. Faites-moi savoir comment vous vous en sortez.

    
réponse donnée dashaluna 28.06.2011 - 11:32
1

Il suffit de copier coller en dessous du code

Ceci imprimera le nom de taxonomie de votre page actuelle & description (facultatif)

<?php 
   $tax = $wp_query->get_queried_object();
   echo ''. $tax->name . '';
   echo "<br>";
   echo ''. $tax->description .''; 
?>
    
réponse donnée Varsha Dhadge 31.08.2017 - 17:48
-2

Peut-être devez-vous activer la recherche pour activer la pagination

Lorsque vous déclarez une taxonomie personnalisée, vous devez désactiver la recherche, à l'exception de.

  

exclude_from_search = > faux

Ceci a résolu mon problème.

    
réponse donnée ShoveItUpYour____ 28.12.2015 - 20:09

Lire d'autres questions sur les étiquettes