Массив в конце двух для каждого цикла пуст - PullRequest
0 голосов
/ 08 апреля 2020

Я сделал следующую функцию для темы WordPress:

function spacepress_get_menu() {
if ( has_nav_menu( 'header' ) ) {

    $navbar_items = wp_get_nav_menu_items( 'header' );
    $child_items  = [];

    foreach ( $navbar_items as $key => $item ) {
        if ( $item->menu_item_parent ) {
            array_push( $child_items, $item );
            unset( $navbar_items[ $key ] );
        }
    }

    foreach ( $navbar_items as $item ) {
        foreach ( $child_items as $key => $child ) {
            if ( $child->menu_item_parent == $item->post_name ) {
                if ( ! $item->child_items ) {
                    $item->child_items = [];
                }

                array_push( $item->child_items, $child );
                unset( $child_items[ $key ] );
            }
        }
    }

    echo htmlspecialchars( json_encode( $child_items ), ENT_QUOTES, 'UTF-8' );
   }
}

Однако отображение массива в конце пусто. Это почему? Я чувствую, что мне нужно «дождаться» окончания цикла foreach до 100 *, но я не знаю, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...