Personalizare WordPress: afișarea unui footer diferit în funcție de categoria articolului

Dacă dorești să personalizezi aspectul sau funcționalitățile site-ului tău, WordPress oferă o flexibilitate deosebită prin sistemul său de ierarhie a fișierelor șablon. O cerință frecventă a dezvoltatorilor și a deținătorilor de bloguri este afișarea unui subsol (footer) distinct în funcție de categoria vizualizată sau în care se încadrează un articol.

De ce am dori un footer personalizat pe categorii?

Există numeroase situații în care un footer universal nu este suficient:

  • Design și branding specific: o anumită categorie de conținut (de exemplu, un portofoliu sau o secțiune de știri) poate necesita culori, logo-uri sau o aranjare distinctă a coloanelor.
  • Widgeturi și linkuri dedicate: poți dori să afișezi meniuri specifice, categorii înrudite sau formulare de abonare la newsletter țintite pe o anumită nișă.
  • Scripturi de tracking și conversie: includerea unor coduri analitice, pixeli de remarketing sau scripturi de chat live doar pe secțiunile relevante.

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

În mod standard, WordPress include subsolul unei pagini apelând funcția simplă get_footer(), care încarcă fișierul principal footer.php din directorul temei active.

Totuși, funcția acceptă un parametru opțional de tip string: get_footer( $name ). Când specifici un parametru, WordPress va căuta mai întâi fișierul specializat footer-{$name}.php. Dacă acest fișier nu este găsit în temă, sistemul revine automat la fișierul de bază footer.php.

Implementarea codului condițional

Pentru a încărca dinamic subsolul potrivit, poți înlocui apelul standard din fișierul șablon (cum ar fi index.php, category.php sau single.php) cu o structură condițională:

<?php
if (is_category('Blogging') || in_category('Blogging')) {
    get_footer('blogging');
} else {
    get_footer();
}
?>

Practic, atunci când este îndeplinită condiția, WordPress va încărca fișierul footer-blogging.php. În caz contrar, se va apela subsolul prestabilit.

Diferența importantă dintre is_category() și in_category()

Pentru ca logica să funcționeze corect pe întregul site, este esențial să înțelegem rolul celor două funcții de verificare condițională:

  • is_category('Blogging') – verifică dacă vizitatorul se află pe o pagină de arhivă a categoriei respective (util în category.php, archive.php sau index.php). Parametrul poate fi ID-ul numeric, slug-ul sau denumirea categoriei.
  • in_category('Blogging') – verifică dacă articolul individual curent este alocat acelei categorii (util în single.php în interiorul buclei WordPress – The Loop).

Cum creezi fișierul de footer specializat

Pentru a pune în practică această modificare, urmează acești pași simpli:

  1. Conectează-te la fișierele temei tale (de preferat într-o temă copil – child theme) prin FTP sau managerul de fișiere din cPanel.
  2. Fă o copie a fișierului existent footer.php.
  3. Redenumește fișierul copiat în footer-blogging.php (sau înlocuiește „blogging” cu slug-ul categoriei tale).
  4. Editează noul fișier pentru a adăuga widgeturile, textele sau codul dorit.
  5. Asigură-te că păstrezi apelul obligatoriu <?php wp_footer(); ?> chiar înainte de tagul de închidere </body>, pentru a nu afecta funcționarea pluginurilor instalate.

Lasă un comentariu