web-dev-qa-db-fra.com

Liste des taxonomies à partir d'un type d'article personnalisé

J'ai un type de message personnalisé contenant plusieurs taxonomies

Par exemple. le type de message s'appelle campsites et les taxonomies sont diverses counties: cheshire, staffordshire, etc.

Ce que je veux faire, c'est: lister tous les comtés et lorsque vous cliquez sur un comté, il est relié à une page qui répertorie tous les messages de ce comté. Comment puis je faire ça.

2
Chris

Il existe de nombreuses fonctions pour récupérer les données dont vous avez besoin. Un rapide coup d'œil à la référence de fonction Codex révèle de nombreuses fonctions utiles que vous pouvez utiliser pour créer ceci.

Utilisez get_term_link pour obtenir le lien vers cette archive de termes et wp_get_object_terms pour obtenir les termes d’un objet/post.

Pour obtenir tous les termes d'une taxonomie, utilisez get_terms

Vous trouverez des exemples sur chaque page de fonction, par exemple. afficher tous les termes dans une taxonomie et y créer un lien:

$args = array( 'taxonomy' => 'my_term' );

$terms = get_terms('my_term', $args);

$count = count($terms); $i=0;
if ($count > 0) {
    $cape_list = '<p class="my_term-archive">';
    foreach ($terms as $term) {
        $i++;
        $term_list .= '<a href="/term-base/' . $term->slug . '" title="' . sprintf(__('View all post filed under %s', 'my_localization_domain'), $term->name) . '">' . $term->name . '</a>';
        if ($count != $i) $term_list .= ' &middot; '; else $term_list .= '</p>';
    }
    echo $term_list;
}

Bien que cet exemple puisse être grandement amélioré en remplaçant le code de lien hypertexte par un code utilisant get_term_link.

Il existe d'autres fonctions utiles telles que wp_list_categories, mais cette fonction n'est pas aussi flexible et vous limite à une liste déroulante ou à une liste plutôt qu'à un balisage quelconque que vous préférez.

1
Tom J Nowell