• Как сделать такое меню на Wordpress?

    @Otrivin
    junior full-stack сисадмин
    В чем проблема сделать это на js? При переходе на страницу получайте window.location.pathname, затем делаете выборку элементов из меню, содержащих ссылку, и делаете с элементом что угодно
    Ответ написан
    1 комментарий
  • Как сделать такое меню на Wordpress?

    @Lord_Dantes
    Увидев вопрос 2-й раз понял что у вас меню через вп устроено, да это правильно и т.д. Но лично мне удобно последнее время без этого, хотя в основном потому-что у меня проекты информационные или не требующие динамического меню в вп. Но вот небольшой способ как реализовать такое с обычным меню.
    Мысли вслух

    Мне кажется с ВП подойдет какой-то плагин ибо контролировать его нельзя - а значит выяснять на какой мы странице можно с помощью самих страниц, написав код в них, но тогда нужно еще добавить пунктам различные классы что понимать к кому обращатся.

    Способ

    Я буквально вчера реализовал это вот таким способом.
    Кратко об коде: получаем домен нашего сайта, объявляем переменные на нужные нам страницы заранее зная их адрес после домена. Далее мы делаем проверку на текущий URL + спрашиваем, есть ли там такое слово, если да показываем 1 код пункта меню с активным элементом, если нет то показываем обычный.
    Код

    <?php 
    	       $homeurl = home_url();
    		$aboutus_url = 'about-us';
    		$services_url = 'services';
    		$blog_url = 'blog';
    		$contact_url = 'contact';
    
    		$url = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') ? 's' : '') . '://';
    		$url = $url . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
    		define('URL', $url); 
    	?>
    	<?php if ( is_front_page() ) { ?>
    		<li class="header-item"><a class="header-link header-home header-active" href="/">Главная</a></li>
    	<?php } else { ?>
    		<li class="header-item"><a class="header-link header-home" href="/">Главная</a></li>
    	<?php } ?>
    	
    	<?php if (strpos($url, $aboutus_url)) { ?>
    		<li class="header-item"><a class="header-link header-aboutus header-active" href="/about-us/">О нас</a></li>
    	<?php } else { ?>
    		<li class="header-item"><a class="header-link header-aboutus" href="/about-us/">О нас</a></li>
    	<?php } ?>
    	
    	<?php if (strpos($url, $services_url)) { ?>
    		<li class="header-item"><a class="header-link header-service header-active" href="/services/">Услуги</a></li>
    	<?php } else { ?>
    		<li class="header-item"><a class="header-link header-service" href="/services/">Услуги</a></li>
    	<?php } ?>
    	
    	<?php if (strpos($url, $blog_url)) { ?>
    		    <li class="header-item"><a class="header-link header-blog header-active" href="/blog/">Блог</a></li>
    	<?php } else { ?>
    		<li class="header-item"><a class="header-link header-blog" href="/blog/">Блог</a></li>
    	<?php } ?>
    	
    	<?php if (strpos($url, $contact_url)) { ?>
    		<li class="header-item"><a class="header-link header-contact header-active" href="/contacts/">Контакты</a></li>
    	<?php } else { ?>
            <li class="header-item"><a class="header-link header-contact" href="/contacts/">Contacts</a></li>
    	<?php endif; ?>
    <?php } ?>


    Ответ написан
    1 комментарий