Bara laterală (sidebar-ul) este una dintre cele mai vizibile zone ale unui site WordPress, fiind frecvent utilizată pentru navigare secundară, widgeturi sociale, reclame și recomandări de articole. În mod obișnuit, majoritatea temelor afișează același sidebar pe întregul blog, însă personalizarea acestuia în funcție de categorie poate crește substanțial relevanța conținutului și rata de conversie.
Mecanismul de funcționare: get_sidebar() în WordPress
La fel ca în cazul antetului sau al subsolului, WordPress include bara laterală prin intermediul funcției standard get_sidebar(), care apelează în mod implicit fișierul sidebar.php.
Funcția permite însă transmiterea unui parametru: get_sidebar( $name ). Când este apelată cu un argument precum get_sidebar('tutoriale'), motorul temei va căuta fișierul dedicat sidebar-tutoriale.php. În situația în care fișierul specific nu există, tema revine la fișierul de bază sidebar.php.
Modificarea șablonului de temă
Pentru a afișa o bară laterală distinctă, deschide fișierul șablon relevant (de exemplu index.php, category.php sau single.php) și înlocuiește apelul clasic <?php get_sidebar(); ?> cu următoarea secvență de cod condițional:
<?php
if (is_category('tutoriale') || in_category('tutoriale')) {
get_sidebar('tutoriale');
} else {
get_sidebar();
}
?>
Practic, această instrucțiune verifică contextul curent: dacă utilizatorul explorează categoria „tutoriale” sau citește un articol din acea categorie, se va încărca fișierul sidebar-tutoriale.php. Pentru toate celelalte secțiuni, se păstrează bara laterală standard.
Adaptarea pentru categorii multiple
Dacă deții un blog complex cu mai multe secțiuni principale, poți extinde structura folosind elseif sau verificând tablouri (array-uri) de categorii:
<?php
if (is_category('tutoriale') || in_category('tutoriale')) {
get_sidebar('tutoriale');
} elseif (is_category('stiri') || in_category('stiri')) {
get_sidebar('stiri');
} else {
get_sidebar();
}
?>
Diferența dintre is_category() și in_category()
is_category(): se utilizează pe paginile de arhivă pentru a verifica ce categorie listează articolele în acel moment.in_category(): se utilizează în șablonul articolelor individuale (single.php) pentru a afla dacă postul afișat aparține categoriei indicate.
Pașii pentru crearea fișierului dedicat de sidebar
- Accesează directorul temei tale active (preferabil child theme) prin FTP sau File Manager.
- Copiază fișierul
sidebar.phpexistent și redenumește-l în conformitate cu slug-ul categoriei tale (de pildă,sidebar-tutoriale.php). - Personalizează noul fișier: poți introduce conținut HTML static, bannere dedicate sau poți apela o zonă de widgeturi înregistrată separat cu funcția
dynamic_sidebar('sidebar-tutoriale'). - Salvează fișierul și testează afișarea în browser atât pe pagina categoriei, cât și pe un articol din cadrul acesteia.