Intereting Posts
Почему мой параметр «экспорт» отсутствует? Как использовать get_categories () с плагином Event Organizer Добавить поле загружаемого файла в настраиваемый тип сообщения Запросить сообщение, добавить комментарий Как остановить мобильную тему, наследующую меню навигации на рабочем столе? Как я могу получить значение из массива файлов cookie, когда я нажимаю кнопку? Лучший способ получить статистику тегов? Как получить html разделяемую версию описания $ category->? Пользовательский плагин не смог установить и активировать WP_Query игнорирует post_type в категории просмотра как я могу вызвать модальный вход на определенную страницу? Фильтрация иерархической персонализированной страницы администратора по типу сообщений родителем и включение детей и внуков Пользовательские типы сообщений. Есть ли недостатки / преимущества в использовании плагина для их разработки? Исключить родительские категории из the_category () в цикле Медиа-загрузчик в пользовательском пути

Неопределенный индекс: custom_sidebars

Я реализую пользовательские боковые панели по теме, которую я разрабатываю.

Все отлично работает, когда я добавляю новые пользовательские боковые панели. Однако, если я удалю эти новые добавленные пользовательские боковые панели, я получу ошибку Undefined index: custom_sidebars.

if ( function_exists( 'register_sidebar' ) ) { // CUSTOM SIDEBARS global $my_theme_option; $my_theme_custom_sidebars = $my_theme_option[ 'custom_sidebars' ]; if ( isset( $my_theme_custom_sidebars ) && sizeof( $my_theme_custom_sidebars ) > 0 ) { foreach ( (array)$my_theme_custom_sidebars as $sidebar ) { register_sidebar( array( 'name' => $sidebar, 'id' => 'sidebar-' . $sidebar, 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div> <!-- end of widget -->', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>' )); } } } 

Ошибка возникает в следующей строке:

 $my_theme_custom_sidebars = $my_theme_option[ 'custom_sidebars' ]; 

Я немного застрял в этом, любая помощь была бы высоко оценена.

Похоже, что $ my_theme_option не имеет индекса custom_sidebars, если вы его удалили, он больше не существует.

просто добавьте if, если iset () вокруг него, как и в цикле for

Также вам не нужно проверять, чтобы функции, такие как register_sidebar, существовали, если они старше, чем 2 года.

EDIT: НЕ ПОЛЬЗУЙТЕ ГЛОБАЛЬНЫМИ! Для этого существуют функции, например get_option()

  // CUSTOM SIDEBARS global $my_theme_option; if(isset( $my_theme_option[ 'custom_sidebars' ] )){ $my_theme_custom_sidebars = $my_theme_option[ 'custom_sidebars' ]; if ( sizeof( $my_theme_custom_sidebars ) > 0 ) { foreach ( (array)$my_theme_custom_sidebars as $sidebar ) { register_sidebar( array( 'name' => $sidebar, 'id' => 'sidebar-' . $sidebar, 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div> <!-- end of widget -->', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>' )); } } }