web-dev-qa-db-fra.com

Comment obtenir des données sur la catégorie dans category.php

Je dois créer un modèle category.php personnalisé, mais comment puis-je obtenir des données sur la catégorie dans category.php? J'ai besoin de ceux-ci:

  • Nom de la catégorie et identifiant
  • Nom et identifiant de la catégorie
  • Tous les articles de la catégorie

Supposons que notre lien est www.website.com/category/sub-category et que nous souhaitons afficher la catégorie et la sous-catégorie nom complet + tous les éléments de sous-catégorie.

1

OK, il y a donc plusieurs façons de résoudre ce problème. Vous pouvez utiliser des balises de modèle spéciales pour certaines d'entre elles (par exemple, the_archive_title pour afficher le titre de la catégorie actuelle, etc.).

Mais pour atteindre tous ces objectifs, vous devrez obtenir get_queried_object .

Si vous visualisez une catégorie, cette fonction renverra l’objet de la catégorie actuelle.

Donc après:

$current_cat = get_queried_object();

Vous pouvez obtenir son nom en utilisant:

echo $current_cat->name;

Et son identifiant en utilisant:

echo $current_cat->term_id;

Pour obtenir son parent:

if ( $current_car->parent ) {
    $parent = get_category( $current_car->parent ); 
    echo $parent->name;
    echo $parent->term_id;
}

Et pour obtenir toutes les sous-catégories de $parent:

$categories = get_categories( array('parent' => $parent->term_id) );
foreach($categories as $category) { 
    echo $category->name;
}
1