Personalizare WordPress: afișarea unui antet (header) dinamic în funcție de categorie

Antetul (header-ul) reprezintă cartea de vizită a oricărui site web, conținând elemente fundamentale precum logoul, meniul principal de navigare și imaginea de fundal (hero banner). În proiectele mai complexe, poate apărea necesitatea de a afișa un antet personalizat pentru anumite categorii de articole, permițând o diferențiere vizuală sau funcțională clară.

Cum funcționează funcția get_header() în WordPress

În mod prestabilit, WordPress încarcă antetul paginii prin intermediul funcției get_header(), care include fișierul de bază header.php din tema curentă.

Sistemul de șabloane WordPress permite însă transmiterea unui parametru: get_header( $name ). Când este utilizat cu un nume specific (de exemplu, get_header('design')), motorul va încerca să încarce fișierul header-design.php. Dacă acest fișier nu există în temă, WordPress va apela automat fișierul implicit header.php, prevenind apariția erorilor.

Implementarea codului condițional

Pentru a schimba dinamic antetul în funcție de categoria accesată, înlocuiește apelul standard din fișierul principal de șablon (cum ar fi index.php, category.php sau single.php) cu structura condițională următoare:

<?php
if (is_category('design') || in_category('design')) {
    get_header('design');
} else {
    get_header();
}
?>

Prin acest cod, WordPress va verifica dacă pagina curentă este arhiva categoriei „design” sau un articol atribuit acesteia, încărcând în consecință fișierul header-design.php.

Distincția dintre is_category() și in_category()

Alegerea funcției condiționale depinde de pagina pe care dorești să aplici modificarea:

  • is_category('slug'): verifică dacă vizitatorul se află pe o pagină de arhivă de tip categorie. Se folosește în fișiere precum category.php, archive.php sau index.php.
  • in_category('slug'): verifică dacă articolul individual curent aparține categoriei specificate. Se utilizează în șablonul articolelor individuale (single.php).

Cum creezi și personalizezi fișierul header-nume.php

Pentru a implementa modificările în siguranță, urmează acești pași recomandați:

  1. Utilizează întotdeauna o temă copil (child theme) pentru a nu pierde modificările la viitoarele actualizări ale temei principale.
  2. Creează o copie a fișierului header.php și denumește-o header-design.php (înlocuind „design” cu slug-ul categoriei tale).
  3. În noul fișier, poți modifica stilurile CSS încărcate, imaginea de fundal din antet, elementele de navigare sau structura meniului.
  4. Atenție: Asigură-te că păstrezi intact apelul funcției <?php wp_head(); ?> chiar înainte de tagul de închidere </head>. Această funcție este esențială pentru încărcarea stilurilor, scripturilor și metatagurilor generate de WordPress și de pluginurile active.

Lasă un comentariu