Atunci când dezvolți sau personalizezi o temă WordPress, pot exista situații în care nu dorești să afișezi întreaga listă de categorii existente pe site, ci doar o selecție anume – fie în bara laterală (sidebar), fie în antet, în subsol sau pe prima pagină.
Soluția nativă și cea mai eficientă în WordPress constă în utilizarea funcției template wp_list_categories(), căreia îi poți transmite ca argument parametrul include urmat de ID-urile categoriilor dorite, separate prin virgulă.
Cum utilizezi funcția wp_list_categories
Poți introduce următorul fragment de cod direct în fișierul șablon corespunzător (de exemplu, în sidebar.php, index.php sau într-un fișier parțial de template):
<?php
wp_list_categories( array(
'orderby' => 'name',
'include' => '7,9,19,16,1,5,17,23',
'title_li' => '<h2>' . __( 'Categorii recomandate', 'textdomain' ) . '</h2>',
) );
?>
Dacă preferi sintaxa clasică sub formă de șir de parametri (query string), apelul poate fi simplificat astfel:
<?php wp_list_categories('orderby=name&include=7,9,19,16,1,5,17,23'); ?>
Cum afli ID-ul fiecărei categorii în WordPress
Pentru a ști ce numere să treci în lista parametrului include, mergi în panoul de administrare la Articole > Categorii. Treci cu cursorul mouse-ului peste categoria dorită și observă bara de stare a browserului: linkul de editare va conține parametrul tag_ID=X, unde X reprezintă ID-ul numeric al acelei categorii.
Alternativă: excluderea categoriilor nedorite
Dacă ai multe categorii și dorești să le afișezi pe majoritatea, ascunzând doar câteva, este mult mai convenabil să utilizezi parametrul opus, exclude:
<?php wp_list_categories('orderby=name&exclude=3,12'); ?>
În acest fel, lista de navigare rămâne curată, relevantă pentru vizitatori și ușor de administrat chiar și la schimbările de structură ale blogului.