@Legal2019
Всё в имени моём... и радость и печаль...

Как реализовать меню в WP?

Как реализовать меню? Какие будут советы, рекомендации? Весьма интересно понять как проще сделать и чтобы была минимальная нагрузка на сервер.

Пример 1: https://notarius-moscow.ru/katalog/okrug/1/
Пример 2: https://mnotaries.ru/739

Смысл такой:
Есть страница, скажем "игрушки", при переходе по адресу:
https://example.ru/igrushki/
мы видим меню:
<ul>
<li><a href="">игрушки 1</a></li>
<li><a href="">игрушки 2</a></li>
<li><a href="">игрушки 3</a></li>
</ul>

переходим в Игрушки 1, и видим снова меню по адресу: https://example.ru/igrushki/igrushki_1/
<ul>
<li><a href="">игрушки 1.1</a></li>
<li><a href="">игрушки 1.2</a></li>
<li><a href="">игрушки 1.3</a></li>
</ul>

переходим в игрушки 1.1, и видим снова меню по адресу: https://example.ru/igrushki/igrushki_1.1/
<ul>
<li><a href="">игрушки 1.1.1</a></li>
<li><a href="">игрушки 1.1.2</a></li>
<li><a href="">игрушки 1.1.3</a></li>
</ul>

переходим в игрушки 1.1.1, и видим кастомную запись по адресу:
https://example.ru/igrushki/igrushki_1.1/igrushki_1.1.1/super_igrushki/
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Aricus
Я - не большой специалист в wordpress, но, так как других ответов нет, приведу свой код из темы. Тут меню на странице рубрики 2 уровня, включающий соседние рубрики и записи данной рубрики:
$current_cat_id = get_query_var('cat');
	$parent_cat = get_category(get_category($current_cat_id)->parent);
	$categories = get_categories(array(
		'orderby' => 'id',
		'parent' => $parent_cat->term_id,
		'hide_empty' => false,
	));
	echo '<nav class="aside-panel"><ul>';
	foreach ($categories as $category) {
		if ($category->term_id == $current_cat_id) $isThisCat = true;
		else $isThisCat = false;
		echo '<li class="panel-item';
			if ($isThisCat) echo ' is-active';
		echo '">
			<a href="' .get_category_link ($category->term_id). '" class="label">' .writeTitle($category->name). '</a>';
			if ($isThisCat) {
				echo '<ul class="drop-menu">';
					if ( have_posts() ){
						while (have_posts()) { the_post();
							echo '<li><a href="' .get_the_permalink(). '" class="link">' .nobrArticle(get_the_title()). '</a></li>';
							
						}
					}
				echo '</ul>';
			}
		echo '</li>';
	}
	echo '</ul></nav>';
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы