WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Как вставить в начало меню (wp_nav_menu) ссылку на главную, чтобы её не было на главной?

Единственный способ добавить ссылку "На главную" в меню, которое выводится с помощью wp_nav_menu() - это добавить ссылку в настройках.

Но так ссылка будет отображаться и на главной странице. А мне нужно, чтобы ссылка "на главную" не отображалась на главной странице сайта.

Вопрос такой: как можно вставить в начало меню, которое выводится с помощью wp_nav_menu ссылку на главную страницу, так чтобы эта ссылка не отображалась на главной странице?

1
Danya
9.4 года назад 50
  • 1
    Kama9616

    Это можно сделать с помощью условного тега is_front_page() при помощи замены.

    Для этого при получении кода меню в шаблоне, указываем параметр echo = 0, чтобы меню не выводилось на экран и обрабатываем код: вставляем ссылку на главную:

    # получаем меню
    $args = array(
    	'theme_location'  => 'foo',
    	'menu'            => 'foo', 
    	'container'       => 'div', 
    	'container_class' => 'topbar',
    	'echo'            => 0
    );
    $menu = wp_nav_menu( $args );
    
    # вставляем ссылку везде кроме главной
    if( ! is_front_page() )
    	$menu = preg_replace('~<li~', '<li><a href="/">Главная</a></li><li', $menu, 1 );
    
    # выводим
    echo $menu;
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация