Эта функциональность действительно должна быть в ядре WordPress!
В любом случае, я взглянул на источник шаблона меню, который вы отправили в комментарии к другому ответу, и нашел (довольно хакерский) способ добавить класс для пунктов меню с детьми. Это в основном подклассы обходчика по умолчанию, чтобы расширить его поведение по умолчанию. Возможно, будет лучше, если вы добавите это в functions.php
вашей темы. Вот код:
<?php
class Arrow_Walker_Nav_Menu extends Walker_Nav_Menu {
function display_element($element, &$children_elements, $max_depth, $depth=0, $args, &$output) {
$id_field = $this->db_fields['id'];
if (!empty($children_elements[$element->$id_field])) {
$element->classes[] = 'arrow'; //enter any classname you like here!
}
Walker_Nav_Menu::display_element($element, $children_elements, $max_depth, $depth, $args, $output);
}
}
?>
Чтобы вызвать его, вам нужно добавить аргумент walker
при вызове wp_nav_menu()
в вашей теме, например:
<?php
wp_nav_menu(array('walker' => new Arrow_Walker_Nav_Menu, [other arguments...]))
?>
Надеюсь, что это работает для вас! Я только поверхностно протестировал, но, похоже, работает. Дайте мне знать, если есть какие-либо крайние случаи, когда добавление класса не удается.