Есть эта функция:
class my_walker extends Walker_Nav_Menu {
function start_el(&$output, $item, $depth, $args) {
global $wp_query;
$indent = ( $depth ) ? str_repeat("\t", $depth) : '';
$class_names = $value = '';
$classes = empty($item->classes) ? array() : (array) $item->classes;
$classes[] = 'menu-item-' . $item->ID;
$class_names = join(' ', apply_filters('nav_menu_css_class', array_filter($classes), $item));
$class_names = ' class="' . esc_attr($class_names) . '"';
$id = apply_filters('nav_menu_item_id', 'menu-item-' . $item->ID, $item, $args);
$id = strlen($id) ? ' id="' . esc_attr($id) . '"' : '';
$output .= $indent . '<li' . $id . $value . $class_names . '>';
$attributes = !empty($item->attr_title) ? ' title="' . esc_attr($item->attr_title) . '"' : '';
$attributes .= ! empty($item->target) ? ' target="' . esc_attr($item->target) . '"' : '';
$attributes .= ! empty($item->xfn) ? ' rel="' . esc_attr($item->xfn) . '"' : '';
$attributes .= ! empty($item->url) ? ' href="' . esc_attr($item->url) . '"' : '';
$item_output = $args->before;
$item_output .= '<a' . $attributes . '>';
$item_output .= $args->link_before . apply_filters('the_title', $item->title, $item->ID) . $args->link_after;
$item_output .= '</a>';
$item_output .= $args->after;
$output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args);
}
}
Мне нужно добавить свой собственный счетчик вместо item->ID, чтобы добавить $myCounter (который будет увеличиваться).
Этот :
$id = apply_filters('nav_menu_item_id', 'menu-item-' . $item->ID, $item, $args);
К этому :
$id = apply_filters('nav_menu_item_id', 'menu-item-' . $myCounter, $item, $args);
Я хочу настроить сумасшедшее меню css. Как мне это сделать?
Заранее спасибо.
Привет , @ user1147. Не могли бы вы изменить заголовок этого поста, чтобы описать, о чем вопрос? Ответы на сайте принесут пользу гораздо большему количеству людей, если они увидят из названий вопросов, совпадает ли вопрос с проблемой, с которой они сталкиваются, или нет. Основываясь на вашем текущем заголовке, я действительно понятия не имею, о чем этот вопрос, и сейчас у меня нет времени читать код, чтобы понять это. Заранее спасибо.
Извините, MikeSchinkel, я меняю название, извините за мой плохой английский.
@ user1147 — Спасибо и извините, я не знал, что вы ESL.
Мне также нужно изменить ходок, нужно убрать подменю из меню ul. Попробую ваш код. Спасибо.
У меня есть способ сделать это, но изменить ходок?
Вам нужен один глобальный счетчик или он сбрасывается для каждого подменю? Последнее кажется сложным…
не нужно для подменю,только для верхнего меню,и нужно поставить подменю из верхнего меню ul.наконец-то начал понимать как это работает,спасибо.
У меня был обновленный ответ о том, как это может работать для ходока. Перед использованием проверьте правильность установки.
Вам нужно модифицировать ходок или подключиться к нему без изменений?
Поскольку для этого идентификатора предусмотрен фильтр, его легко подключить. Попробуй это:
Обновление Смена ходока
а также
Я попытался исключить подменю, проверив текущую глубину, и я думаю, что это должно работать правильно с несколькими меню, потому что каждое из них получит новый экземпляр объекта ходунков.