Intereting Posts
Получите всех детей пользовательского типа сообщений, используя get_pages Изменение пароля при первом входе пользователя в систему Как остановить wordpress от изменения разрешений по умолчанию .htaccess для 444 Немедленно опубликованные сообщения планируются и публикуются через 2 часа Как условно проверить архив автора, когда is_author () не работает, потому что у автора нет сообщений Неопределенный индекс: custom_sidebars Установка кода Google Analytics на WordPress блоге Мета-бокс в пользовательском типе сообщения не сохраняется Деактивировать плагины только для мобильных устройств Подсчет полей сообщений Сложный strcuture как CPT или таксономия для использования в вариациях продукта woocommerce Сохранение пользовательских сообщений через jquery или javascript Могу ли я сделать роль пользователя, которая может получить доступ только к типу содержимого certian? Есть ли функция wordpress для чистого удаления записи в таблице регистрации? Защита загрузок не работает

Количество уровней 1 ребенка для пользовательского Nav Walker WordPress

У меня есть три уровня моего меню, созданных в пользовательском классе walker. Результат выглядит следующим образом:

  • домашний (родительский)
  • о (родительском)
    • пункт 1 (ребенок 1-го уровня)
      • пункт 1-1 (ребенок второго уровня)
      • пункт 1-2 (ребенок второго уровня)
  • услуги (родительские)
    • пункт 1 (ребенок 1-го уровня)
      • пункт 1-1 (ребенок второго уровня)
      • пункт 1-2 (ребенок второго уровня)
    • пункт 2 (ребенок 1-го уровня)
      • пункт 2-1 (ребенок второго уровня)
      • пункт 2-2 (ребенок второго уровня)

Я хочу считать только «дочерние уровни 1» внутри start_lvl () для каждого родительского элемента отдельно.

В приведенном выше примере вывод должен быть примерно для (1) и служб (2), потому что «около» имеет только 1 ребенка для уровня 1, а службы имеют 2 ребенка для уровня 1

Пожалуйста, помогите кому-нибудь, я много искал и пробовал почти все доступные методы на Stack Exchange, Overflow и т. Д. …

Solutions Collecting From Web of "Количество уровней 1 ребенка для пользовательского Nav Walker WordPress"

Я пытаюсь сделать свою логику следующим образом:

вызов под кодом внутри

function start_el( &$output, $item, $depth, $args ) { $this->sub_items = 0; // declared variable as private $sub_items = 0 above inside class if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $args->theme_location ] ) ) { $menu = wp_get_nav_menu_object( $locations[ $args->theme_location ] ); $menu_items = wp_get_nav_menu_items($menu->term_id); foreach( $menu_items as $menu_item ) { if( $menu_item->menu_item_parent == $item->ID ) { $this->sub_items++; } } } } 

Я предполагаю, что каждый раз $ this-> sub_items возвращает вычисленное значение для дочерних элементов первого уровня, и я могу получить доступ к нему внутри

 function start_lvl( &$output, $depth ) { echo $this->sub_items; } 

Но, к сожалению, он не выводит правильно 🙁