Pe măsură ce un blog crește și acumulează zeci sau sute de articole, structura tematică devine tot mai amplă. O listă clasică de categorii afișată în bara laterală (sidebar) poate deveni excesiv de lungă, afectând negativ aspectul vizual și navigarea pe pagină.
Cea mai curată și compactă soluție pentru a optimiza spațiul disponibil constă în gruparea acestor secțiuni într-un meniu derulant (drop-down) de tip <select>, care redirecționează vizitatorul automat la alegerea unei categorii.
Implementarea formularului cu wp_dropdown_categories()
WordPress oferă o funcție nativă flexibilă numită wp_dropdown_categories(). Pentru a crea un meniu derulant funcțional în bara laterală sau în subsolul paginii, puteți include următorul fragment de cod în fișierele temei (cum ar fi sidebar.php sau într-un widget personalizat):
<form action="<?php echo esc_url( home_url( '/' ) ); ?>" method="get">
<?php
$select = wp_dropdown_categories( array(
'show_option_none' => 'Selectează o categorie',
'show_count' => 1,
'orderby' => 'name',
'echo' => 0,
'name' => 'cat',
) );
// Adăugăm declanșatorul JavaScript pentru redirecționare automată la selecție
$select = preg_replace( '#<select([^>]*)>#', "<select$1 onchange='return this.form.submit()'>", $select );
echo $select;
?>
<noscript>
<input type="submit" value="Afișează" />
</noscript>
</form>
Cum funcționează această soluție
- Funcția
wp_dropdown_categories(): generează structura HTML a meniului. Parametrulshow_count=1afișează numărul de articole publicate în dreptul fiecărei categorii, iarorderby='name'le sortează alfabetic. Folosirea argumentuluiecho=0returnează rezultatul sub formă de șir de caractere în variabila$selectîn loc să îl afișeze direct. - Redirecționarea automată: funcția
preg_replace()injectează atributulonchange='return this.form.submit()'pe eticheta<select>, astfel încât utilizatorul este redirecționat imediat la pagina categoriei alese, fără a fi nevoie să apese un buton separat. - Accesibilitate prin eticheta
<noscript>: pentru utilizatorii care au JavaScript dezactivat sau pentru motoarele de căutare, este inclus un buton clasic de trimitere (Submit), garantând funcționalitatea completă a formularului în orice scenariu.
Prin această tehnică, mențineți bara laterală aerisită și oferiți o experiență de navigare rapidă și intuitivă pe întregul site.