• 20
  • 06
  • 2010
  • 0

Navigarea in wordpress 3.0

Web, Wordpress

Navigarea in wordpress 3.0 thumbs menu submenuDeja lansarea WP 3.0 nu mai este o noutate pentru nimeni, dar multe din inbunatatiriile aduse nu sunt pentru utilizatorul final, mai mult pentru adminstratorul blog-ului/site-ului si creatoriilor de teme wordpress.
Am sa prezint pagina de Menus, noua functie wp_nav_menu, precum si o modalitate de rezerva pentru versiuni de wordpress anterioare.

WP_NAV_MENU noul cod de meniu in wordpress 3.0

Poate una din cele mai asteptate functii din wordpress, posibilitatea de a crea meniuri cu absolut orice link/pagina/categorie/tag dorim, direct din adminstrare, fara nici o linie de cod in plus, posibilitatea de a lasa clientul/userul sa modifice link-urile, fara a cunoaste prea mult html.

Localizare: In primul rand trebuie sa adaugati urmatorul cod in funtions.php din tema voastra, daca nu aveti functons.php, creati-l manual, adaugand urmatorul cod intre taguri php.

Codul de mai jos adauga o locatie.

add_action('init', 'meniul_nou');

function meniul_nou() {
	register_nav_menu( 'primul-meniu', __( 'Meniu' ) );
}

Codul de mai jos adauga mai multe locatii.

add_action('init', 'meniuri_noi');

function meniuri_noi() {
         register_nav_menus(
		array(
			'primul-meniu' => __( 'Meniul Principal' ),
			'al-doilea-meniu' => __( 'Meniul secundar' )
 			//adaugati cate randuri vreti pentru cate meniuri vreti.
		)
         );
}

Localizare: La Appereance/Menus in boxul “Theme Locations” gasiti noua locatie creata, in cazul in care nu apare nimic, sau totul este sters, trebuie sa creati un meniu din panoul alaturat, doar adaugati un nume si dati un click pe create menu.

Navigarea in wordpress 3.0 new menu
Navigarea in wordpress 3.0 menus
Navigarea in wordpress 3.0 create menu

Modificarea in tema, unde aveti wp_list_pages, sau vechiul meniu.

De obicei, meniul plasat in fisierul header.php, se poate inlocui cu urmatorul cod, care va afisa primul meniu creat, daca userul nu are creat nici un meniu, acesta va arata paginile create, la fel ca vechiul wp_list_pages

<?php wp_nav_menu(); ?>

Dar daca avem mai multe meniuri, sau vrem un control mai bun, putem specifica parametri adaugati, cand am creat locatiile.

<?php wp_nav_menu( array( 'theme_location' => 'primul-meniu' ) ); ?>

Urmatorii parametri sunt permisi:

* theme_location: Meniul de adaugat care este asociat cu locatia specificata.
* menu: Specifica meniul dupa ID, slug, sau nume.
* container: Elementul care inconjoara lista. Cel default este div, se poate specifica orice se doreste.
* container_class:Clasa css a elementului care inconjoara lista.
* menu_class: Clasa css a liste neordonate (ul). Default este menu.
* fallback_cb: O functie ce poate fi specificata in caz ca nu exista nici un meniu. Default este wp_list_pages().
* before: Text inaintea link-ului dar in interiorul lui.
* after: Text dupa link-ului dar in interiorul lui.
* link_before: Text inaintea link-ului.
* link_after: Text dupa link.
* depth: Nivelul meniului care sa fie aratat, folositor pentru drop down. Default este 0, adica toate.
* walker Navigarea in wordpress 3.0 icon razz ermite o clasa PHP walker sa fie specificata (nam idee ce inseamna).
* echo: Sa arate codul php sau sa listeze meniul. Default este true, sa listeze meniul.

Un exemplu ar fi:

<?php wp_nav_menu( array(
    'theme_location' => 'primul-meniu',
    'container' => 'nav', //asta este pentru html5, default este div.
    'container_class' => 'navigation',
    'menu_class' => 'menu-1',
    'depth' => '1' //fara virgula dupa ultima valoare.
) );
?>

Under the hood tips.

Navigarea in wordpress 3.0 default settings menuIn poza alaturata aveti pagina Menus cu setarile default, dar pe langa acele panouri, si setarile link-ului se mai ascund cateva, care nu sunt activate default pentru a nu zapacii utilizatorul prea mult.

In partea de sus – dreapta, aveti un buton Screen Options, un clik pe el va dezvalui inca cateva optiuni, printre care posts, post tags si cateva optiuni avansate ale link-urilor, nui asa ca-i tare Navigarea in wordpress 3.0 icon smile .

Navigarea in wordpress 3.0 screen options menus

Nu va pot spune cat de mult am asteptam acest meniu si functii superbe, pentru mine si pentru multi dezvoltatori de situri cu ajutorul wordpress este …….. pur orgasm Navigarea in wordpress 3.0 icon smile , numai priviti la playtech.ro cate meniuri si submeniuri sunt, mereu m-am temut sa nu vrea un link care nu face parte din categorii in meniu, numai gandul ma inspaimanta.

Sper sa va ajute specificatiile mai pe romaneste, a si sa nu uit de credite, nimeni altul decat Justin Tadlock.

*UPDATE*Si binenteles ca am uitat esentialul, cum sa faci codul compatibil cu versiuni mai vechi de wordpress.

<?php  if (function_exists('wp_nav_menu' )) { ?> // Daca wp_nav_menu exista il afiseaza, valabil numai in wordpress 3.0
	<?php wp_nav_menu(); ?>
<?php  } else {  ?> // Daca nu, afiseaza vechiul meniu...
<ul>
          <li class="page_item <?php if (is_home()) echo'current_page_item' ?>"><a href="<?php echo get_option('home'); ?>/" title="Acasa">Acasa</a></li>
          <?php wp_list_pages('depth=1&title_li='); ?>
 </ul>
<?php  }  ?>

Tags: , , , , , , , , , ,