@dvitline

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

Подскажите, как сделать такое меню для сайта на wordpress. Оно простое, но я уже третий день голову ломаю...
Подобное этому www.oaontc.ru/services/18

Заранее благодарю!
  • Вопрос задан
  • 212 просмотров
Пригласить эксперта
Ответы на вопрос 2
@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 } ?>


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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы