Есть ли способ, которым я могу предоставить каждому ребенку wordpress (подкатегории UL-списки) уникальные идентификаторы? Я создаю раскрывающийся список для подкатегорий, и я хочу разместить их, но :nth-child
еще не поддерживается всем.
насколько мне известно, все пункты меню уже имеют уникальные идентификаторы («menu-item-XX»), могут ли они быть первым или вторым уровнем. сам UL имеет другой класс: menu
для первого уровня и sub-menu
для второго. следовательно, в css, например .menu li
и .sub-menu li
, вы получите дифференциацию для стилизации. вы также можете сделать это без уникального идентификатора или классов, просто .menu UL LI
различные уровни меню .menu UL LI
для первого уровня .menu UL LI UL LI
для второй альтернативы Anotehr – использовать javascript или jQuery. Но я думаю это не то, что вы хотите здесь.
EDIT Я забыл упомянуть, что можно также добавить классы в редакторе меню на базе элементов, а также иметь аргументы класса. Не говоря уже о том, что вы можете создать 2 пользовательских меню с вашим именем *
EDIT II Если вам действительно нужна пользовательская функция (каждый в эти дни хочет ее …), то она добавит класс к каждому элементу меню, который будет равен названию меню.
add_filter('nav_menu_css_class', 'dl_menu_class_by_title', 10, 2 ); function dl_menu_class_by_title($classes, $item) { $classes[] = $item->title; return $classes; }
.. Но я по-прежнему остаюсь на своем первом ответе, что в 98% случаев – это лишний перебор.
Edit III – так как вы не можете реализовать ни один из вышеперечисленных способов решения (все действительны). Вот путь jQuery:
<script> $(function(){ var i =0; $('ul.sub-menu').addClass (function(idx) { return "item-" + idx; }); }); </script>