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 precumcategory.php,archive.phpsauindex.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:
- Utilizează întotdeauna o temă copil (child theme) pentru a nu pierde modificările la viitoarele actualizări ale temei principale.
- Creează o copie a fișierului
header.phpși denumește-oheader-design.php(înlocuind „design” cu slug-ul categoriei tale). - În noul fișier, poți modifica stilurile CSS încărcate, imaginea de fundal din antet, elementele de navigare sau structura meniului.
- 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.