W tym artykule przedstawię zamieszczenie dwóch menu o różnych funkcjach na stronie typu one page. O co w tym chodzi? 


Przykładowo mamy stronę typu one page, w której odnośniki w menu prowadzą bezpośrednio do sekcji – aby niepotrzebnie nie przeładowywać strony. Zaś jedna ze stron tu dla przykładu “Blog” prowadzi nie do sekcji lecz do oddzielnej strony. Na blogu w menu nadal pozostają odnośniki do sekcji strony głównej czyli jednym słowem na Blogu nie będą działały. W związku z czym potrzebujemy drugiego tak samo wyglądającego menu, ale z innymi odnośnikami. Rozwiązaniem staje się drugie menu.

Pierwszą czynnością jaką dokonujemy jest włączenie drugiego menu w panelu administracyjnym w pliku functions.php. W kodzie:

register_nav_menus( array(
'primary-menu' => __( 'Primary Menu', 'mytheme' ),

dodajemy

'secondary-menu' => __( 'Secondary Menu', 'mytheme'),

Spowoduje to dodanie ustawień drugiego menu w panelu administracyjnym, które ustawiamy na secondary tj. na zamieszczonym poniżej obrazku. Oczywiście secondary to drugie utworzone menu, pierwsze to primary.

 

menu

Kolejnym krokiem to wykorzystanie funkcji is_page() z parametrem w pętli warunkowej if, w pliku header.php. Przykładowy kod:

<?php
if (is_page(15) ) &lt;!-- numer strony głównej --&gt;
{
wp_nav_menu( array(
'menu' =&gt;'Menu', &lt;!-- Nazwa menu primary, taka jaką nadaliśmy w panelu administracyjnym - tu strony głownej --&gt;
'theme_location' =&gt; 'primary', &lt;!-- wskazanie na menu typu primary --&gt;
);
}
 
&lt;!-- druga pętla, wyświetlająca drugie menu w przypadku gdy wyświetlana strona nie posiada numeru 15, czyli na wszystkich pozostałych, które nie są stroną główną--&gt;
 
if (!is_page(15) ) &lt;!--  tu numer strony głównej, w przeciwieństwie do górnej pętli ta zaprzecza --&gt;
{
wp_nav_menu( array(
'menu' =&gt;'Menu Blog', &lt;!-- Nazwa menu secondary, taka jaką nadaliśmy w panelu administracyjnym - tu Bloga --&gt;
'theme_location' =&gt; 'secondary', &lt;!-- wskazanie na menu typu secondary --&gt;
);
}
?>

Numer strony głównej zobaczymy wchodząc do panelu administracyjnego, zakładka strony, wybieramy naszą główną stronę i w pasku przeglądarki spoglądamy na adres np: www.strona.pl/wp-admin/post.php?post=15&action=edit ,post=15 to numer naszej strony.

Wykonanie powyższych czynności pozwoli nam na korzystanie z dwóch tak samo wyglądających stron ale z różnymi odnośnikami. 


2016-06-05 21:00:00 Presented by Martin S