Как исправить эту ошибку: Предупреждение: неверный аргумент для foreach ()?

Недавно я переместил установку wordpress из своего локального экземпляра в dev-сервер. Для перехода я установил чистую версию wordpress 3.4, переместил точные дубликаты файловой структуры и использовал функцию импорта / экспорта для ввода сообщений.

Затем я вошел и установил необходимые виджеты и настройки. Я делал это 100 раз, и у меня никогда не было этой проблемы. Вот ошибка:

Предупреждение : неверный аргумент, предоставленный foreach() в /home/content/46/9411746/html/dev/wp-admin/includes/plugin.php в строке 1285

Он отображается только в меню администратора. Я вижу это, когда пытаюсь добавить виджет, изменить настройки, работать с меню или обновлять метаданные для сообщения. Он всплывает по всему меню администратора.

Вот функция, вызывающая ошибку в include / plugin.php

 function remove_menu_page( $menu_slug ) { global $menu; foreach ( $menu as $i => $item ) { if ( $menu_slug == $item[2] ) { unset( $menu[$i] ); return $item; } } return false; } 

Я использую внешний вид> меню и два зарегистрировались здесь в functions.php здесь:

 add_action( 'init', 'register_my_menus' ); function register_my_menus() { register_nav_menus( array( 'header-nav' => __( 'Main Header Navigation', 'kyosay' ), 'footer-nav' => __( 'Footer Navigation', 'kyosay' ) ) ); } 

Я делаю некоторые другие настройки панели администратора, переупорядочивая некоторые пункты меню и устраняя другие, которые мои клиенты не нуждаются. Я могу включить этот код, если вы считаете его соответствующим.

Поскольку эта проблема вызвана в основном, я не понимаю, как ее исправить. ПРИМЕЧАНИЕ . Проблема не возникает в моей локальной сборке. Мысли?

Изменить: добавлен код remove_menu_items из functions.php для справки

 function remove_menu_items() { remove_menu_page('link-manager.php'); // Links remove_menu_page('edit-comments.php'); // Comments } add_action( 'admin_init', 'remove_menu_items' ); 

Обновить:
Я исключил functions.php как источник этой проблемы. Кажется, что это вызвано событиями Ajax (перетаскивание нового виджета на боковую панель, обновление мета-окна и т. Д.) Я собираюсь удалить и переустановить и посмотреть, все ли это происходит. Может ли это иметь какое-то отношение к веб-хосту (godaddy)? Он вообще не появляется на моей локальной сборке.

Solutions Collecting From Web of "Как исправить эту ошибку: Предупреждение: неверный аргумент для foreach ()?"

Обычно это происходит, когда вы пытаетесь использовать материал для администрирования, и вы не подключены к admin_menu . Если вы зацепили до этого, $menu еще не создано.

 add_action('admin_menu', 'my_plugin_add_menu'); function my_plugin_add_menu(){ $ptype = 'my_post_type'; $ptype_obj = get_post_type_object( $ptype ); add_submenu_page( 'my-menu-item', $ptype_obj->labels->name, $ptype_obj->labels->all_items, $ptype_obj->cap->edit_posts, "edit.php?post_type=$ptype" ); } 

У меня была аналогичная проблема с wordpress, просто добавлена ​​инструкция if, чтобы проверить аргумент следующим образом

 if(is_array($thearray)){ //use $thearray here } 

и предупреждение исчезло!