Daca esti interesat sa dezvolti o tema custom creata de tine, va trebui sa sti inca de la inceput ca anumite functionalitati nu apar implicit. Acestea sunt solicitate prin intermediul functiilor specifice WordPress. Unei teme nou create ii va fi necesara implementarea catorva functii PHP (adaugate de regula in fisierul functions.php) care sa solicite CMS-ului activarea anumitor functionalitati sau piese precum: bara laterala, meniu (pentru header, si footer) etc.
Acest lucru nu este neaparat si greu de realizat. In acest articol va vom arata cum sa introduceti un meniu, folosind codul urmator:
if ( ! function_exists( 'meniu_custom' ) ) {
function meniu_custom() {
$locations = array(
'numele meniului' => __( 'Meniu', 'text_domain' ),
);
register_nav_menus( $locations );
}
add_action( 'init', 'meniu_custom' );
}
Explicarea codului pe scurt:
- Se creeaza o declaratie conditionala (if) prin care se specifica ca functia cu numele meniu_custom() sa fie creata in cazul in care aceasta nu exista. Denumirea functiei meniu_custom() poate fi inlocuita cu orice altceva doriti dvs..
- Functia meniu_custom() inregistreaza prin intermediul unei alte functii implicite WordPress (register_nav_menus()) un nou meniu denumit in exemplul dat “numele meniului” .
- Pentru a fi activat noul meniu, fom folosii un Hook de actiune WordPress, respectiv add_action () care va contine cel putin doua argumente: primul va spune ce tip de actiune este invocata (in cazul nostru „init”) iar al doilea va specifica functia in care a fost creat meniul.
Acest cod poate fi folosit in fisierul functions.php al temei si personalizat dupa necesitatile site-ului dvs.
Acum am creat un meniu care poate fi gasit si configurat in panoul de control WordPress. In continuare va trebui sa il afisam in pagina header.php a temei prin intermediul functiei wp_nav_menu(). Cum facem asta? folosind urmatorul cod:
wp_nav_menu( array(
'theme_location' => 'numele meniului',
'menu_id' => 'primary-menu',
'depth' => 0,
'container_class' => 'nav navbar',
) );