Существует много аналогичных вопросов, но я не мог найти решение, так что здесь. Я создаю пользовательскую тему Wordpress, и у меня есть гармошка на боковой панели, которая является меню. Расширение списка инициируется флажком.Установите флажок в соответствии с текущим адресом
<div>
<input id="ac-1" name="accordion-1" type="checkbox" />
<label for="ac-1">Menu category 1</label>
<ul>
<li class="ac-small first"><a href="li-1">List item 1</a></li>
<li class="ac-small first"><a href="li-2">List item 2</a></li>
<li class="ac-small first"><a href="li-3">List item 3</a></li>
</ul>
</div>
<div>
<input id="ac-2" name="accordion-1" type="checkbox" />
<label for="ac-2">Menu category 2</label>
<li class="ac-small first"><a href="li-4">List item 4</a></li>
<li class="ac-small first"><a href="li-5">List item 5</a></li>
<li class="ac-small first"><a href="li-6">List item 6</a></li>
</div>
Это все работает хорошо, даже на мобильных телефонах и планшетах, но проблема в том, что всякий раз, когда посетитель изменяет страницу, любые проверяемые опции будут удалены. То, что я хочу достичь, следующее: Если пользователь находится на странице списка № 1, будет установлен флажок родителя (в этом случае категория меню 1 будет расширена при загрузке страницы), так как страница относится к этой категории. Мне нужен способ проверить определенное поле на основе текущего URL-адреса. Я нашел возможность кэшировать боковую панель с помощью AJAX, но это действительно не работает для меня, потому что, если все элементы были расширены на предыдущей странице, они останутся неизменными на новой странице, и я хочу, чтобы только соответствующий родитель был расширен. Кроме того, кеш-файл выглядит как перебор. Я нашел PHP шорткод, чтобы сохранить метки на обновления,
<?php if($_POST['check'] == 'checked'): ?>checked="checked"<?php endif; ?>
, но это не работает на изменения URL-адреса, только обновить.
Готовьте, что я использую короткий код PHP для WP, а не статический ul li, как показано в этом вопросе. Я разрабатываю локально, поэтому не могу предоставить ссылку
Thaks, я дам ему выстрелили и доложить :) – user3026261
я actualy есть проблема, поскольку я использую довольно ссылки в WP, поэтому я не могу добавить #. Но у меня есть лучшая идея. Могу ли я сравнить URL и ссылку в ли? Поэтому, если текущий url example.com/page-1/ и имеет ссылку в меню/page-1 /, установите флажок. Я думаю, что это можно сделать, у меня просто недостаточно знаний jQuery, чтобы сделать это. Не могли бы вы дать мне руку? Я провел некоторое исследование, но я не могу заставить его работать. Я нашел что-то подобное [link] (http://css-tricks.com/snippets/jquery/add-active-navigation-class-based-on-url/) – user3026261
@ user3026261, посмотрите мой обновленный ответ. Я предоставил способ использования URL. – TheCarver