Wprawdzie większość motywów – zwłaszcza tych bardziej rozbudowanych – do WordPressa ma zazwyczaj przynajmniej kilka miejsc na widżety i 1-2 miejsca na menu (choć czasem dziwnie rozmieszczonych), to warto wiedzieć, że w kilku prostych krokach możemy dodać dodatkowe miejsca tego typu, właściwie w dowolnym miejscu naszego motywu.

WordPress i dodatkowe pole na widżety

By dodać nowe miejsce na widżety musimy zarówno przygotować na nie miejsce w plikach związanych z motywem (w takich przypadkach polecam korzystać z motywów potomnych, by nie utracić wszelkich zmian wraz z aktualizacją motywu), oraz dodać odpowiednie opcje w panelu zarządzania stroną (WP-Admin).

Zaczynamy od dodania odpowiedniego pola na widżety (sidebar) w panelu zarządzania WordPressem, w tym celu w pliku functions.php dodajemy kod:

function webinsider_wp_custom_widget01() {
    register_sidebar(
        array(
            'name' => __( 'Dodatkowy sidebar', 'extra' ),
            'id' => 'webinsider-wp-custom-sidebar01',
            'description' => __( 'Dodatkowy sidebar', 'extra' ),
            'before_widget' => '<div class="webinsider-wp-custom-sidebar01 widget-content">',
            'after_widget' => "</div>",
            'before_title' => '<h3 class="webinsider-wp-custom-sidebar01 widget-title">',
            'after_title' => '</h3>'
        )
    );
}
add_action( 'widgets_init', 'webinsider_wp_custom_sidebar01' );

W następnym kroku – w właściwie dowolnym miejscu w plikach odpowiedzialnych za wyświetlanie strony – wstawiamy kod, który będzie odpowiedzialny za wyświetlanie zawartości naszego pola na widżety:

<?php
if ( is_active_sidebar( 'webinsider-wp-custom-sidebar01' ) ) {
    dynamic_sidebar( 'webinsider-wp-custom-sidebar01' );
}
<?

Być może (zapewne) będzie potrzebne jeszcze jakieś „ostylowanie”, ale to już zostawiam Wam (można skorzystać z klas które są używane przez inne – domyślne – pola na widżety).

WordPress i dodatkowe menu

W przypadku definiowania dodatkowe menu sytuacja wygląda właściwie identycznie, czyli korzystamy z motywu potomnego i definiujemy nowe menu w pliku functions.php np. za pomocą takiego kodu:

function webinsider_wp_custom_menu01() {
    register_nav_menu('webinsider-wp-custom-menu01',__( 'Dodatkowe Menu' ));
}
add_action( 'init', 'webinsider_wp_custom_menu01' );

Oraz wstawiamy kod odpowiedzialny za wyświetlenie menu w wybranym miejscu strony:

<?php
wp_nav_menu(
    array(
        'theme_location' => 'webinsider-wp-custom-menu01',
        'container_class' => 'webinsider-wp-custom-menu01-class'
    )
);
?>

I tak jak w przypadku pola na widżety, tak i w przypadku „ostylowanie” menu zostawiam Wam, ale tu również możecie posiłkować się m.in.klasami przypisywanymi przez motyw standardowemu menu.

(!) Zgłoś błąd na stronie

Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!

Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.

Patryk

CEO Webinsider.pl, a do tego CTO, CIO, CFO, CMO, CSO, COO i CRO ;-)
Pasjonat nowych technologii - od sprzętu po oprogramowanie, od serwerów po smartfony i rozwiązania IoT. Potencjalnie kiepski bloger, bo nie robi zdjęć "talerza" zanim zacznie jeść.

Dumny przyjaciel swoich psów :-)