web-dev-qa-db-fra.com

Personnaliser <en-tête> dans la page de catégorie

Je travaille dans un blog avec mon propre modèle. Lorsque je fais un lien vers une page de catégorie (c'est-à-dire mydomain.com/category/mycategory), Wordpress génère ce code HTML juste après le header.php:

<!-- HTML rendered by header.php -->

<!-- This 2 lines belong to index.php -->
<div id="primary" class="content-area">
  <main id="main" class="site-main" role="main">

<!-- HTML rendered by content.php -->
<header class="page-header">
  <h1 class="page-title">Category: My Category</h1>
</header>
<!-- .page-header --> <!-- this comment is also generated by content.php -->
<div id="post-292" class="grid-item">
  <!-- The rest of content.php -->
</div>

Mon fichier content.php est le suivant:

<?php
/**
 * The template part for displaying content
 *
 * @package WordPress
 * @subpackage Twenty_Sixteen
 * @since Twenty Sixteen 1.0
 */
?>

<div id="post-<?php the_ID(); ?>" class="grid-item">
...

La question est donc: où la balise <header> est-elle générée et comment puis-je la personnaliser? Je veux changer le contenu rendu <h1> Catégorie: Ma catégorie pour n'être que/ Ma catégorie , par exemple.

Toute aide ou guide est apprécié. Merci d'avance pour vos réponses.

2
Alvaro Pedraza

Examinez la hiérarchie template du Codex pour mieux comprendre quels fichiers sont lus quand. Cela vous aidera à comprendre comment on appelle dans quelle situation (tag/catégorie/page de garde/etc).

Content.php n'est jamais mentionné dans la documentation car il ne fait pas partie de la hiérarchie des modèles. Les développeurs de thèmes utiliseront différents noms de fichiers et les référenceront dans la boucle.

La plupart des thèmes d'Automattic utilisent cette technique pour appeler les différentes parties afin de créer le contenu. Examinez votre index.php, page.php ou post.php pour voir si content.php y est utilisé.

3
Greg McMullen
  1. Créez un autre fichier sous la forme header.php et nommez-le ainsi: header-{category-name}.php.
  2. Faites votre changement nécessaire sur header-{category-name}.php.
  3. Ensuite, dans votre category.php, appelez ce fichier par get_header( 'category-name' ).
  4. Si vous n'avez pas le fichier category.php, créez-en un en copiant le modèle archive.php puis suivez les instructions ci-dessus.

Suivez les étapes ci-dessus et vous obtiendrez le résultat souhaité.

1
CodeMascot