Intereting Posts
Настройки чтения WordPress Регистрировать регистрацию в WordPress, когда у пользователя нет электронной почты? Исключить определенную категорию из последних обновлений Структуры пользовательского типа и таксономии Создайте MegaMenu с помощью ходунки и функции start_lvl В каких условиях Могу ли я назвать свой CPT такой же, как моя страница CPT? Отправить транзакционную электронную почту: сообщение первого пользователя Переименование wp-admin без жесткого кодирования. Это действительно возможно? Использование строки из настраиваемого поля в пределах ссылки Как использовать вложенные петли пользовательских типов сообщений для многосайтовых блогов с помощью WP_Query () Как найти вредоносную ссылку на веб-сайте wp Использовать отображаемое имя автора в структуре permalink для страниц и сообщений Перемещение раздела комментариев влево от содержимого (Двадцать тринадцать) Проблема при входе в систему как администратор Форма WordPress PHP – данные удаляются при выходе из страницы

Настройщик зажимает мою тему в 4.9, где я должен смотреть?

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

Дело в том, что кнопка «Сохранить и публиковать» Customizer полностью отсутствует в пользовательском интерфейсе. Некоторые другие странные вещи случаются, например, метки для моих настроек под панелью «Цвета» не видны, пока вы не нажмете на кнопку выбора цвета.

Firefox dev console говорит:

TypeError: a.elements[0] is undefined [Learn More] load-scripts.php:6:12121 

И когда я нажимаю [Подробнее …], он показывает

 <anonymous> http://localhost/test-site/wp-admin/load-scripts.php:6:12121 i http://localhost/test-site/wp-admin/load-scripts.php:2:27444 fireWith http://localhost/test-site/wp-admin/load-scripts.php:2:28213 when/< http://localhost/test-site/wp-admin/load-scripts.php:2:4062 i http://localhost/test-site/wp-admin/load-scripts.php:2:27444 add http://localhost/test-site/wp-admin/load-scripts.php:2:27748 when http://localhost/test-site/wp-admin/load-scripts.php:2:3810 instance http://localhost/test-site/wp-admin/load-scripts.php:2:2847 f http://localhost/test-site/wp-admin/load-scripts.php:2:526 <anonymous> http://localhost/test-site/wp-admin/load-scripts.php:6:12068 i http://localhost/test-site/wp-admin/load-scripts.php:2:27444 fireWith http://localhost/test-site/wp-admin/load-scripts.php:2:28213 ready http://localhost/test-site/wp-admin/load-scripts.php:2:30004 K http://localhost/test-site/wp-admin/load-scripts.php:2:30366 

Кажется, что передняя часть работает нормально. Есть ли указания для разработчиков тем об изменениях в Настройщике, которые поставил 4.9? Я не знаю, что мне нужно искать.

ОБНОВИТЬ:

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

Solutions Collecting From Web of "Настройщик зажимает мою тему в 4.9, где я должен смотреть?"

Я нашел строку кода в моей теме, которая нарушает настройки в 4.9. Вот!

 $wp_customize->remove_setting( 'header_textcolor' ); 

Я могу воспроизвести ту же ошибку в 4.8.3, если попытаюсь просто удалить параметр header_textcolor . Поэтому я не понимаю, как это было введено в 4.9. Код, вызывающий проблему, можно найти в функции, которая запускается для инициализации display_header_text управления display_header_text :

  // Juggle the two controls that use header_textcolor api.control( 'display_header_text', function( control ) { var last = ''; control.elements[0].unsync( api( 'header_textcolor' ) ); 

Это правда, что этот код должен быть немного header_textcolor чтобы проверить наличие настроек header_textcolor перед запуском, но в то же время все, что вам нужно сделать, это удалить элемент управления display_header_text в дополнение к удалению параметра header_textcolor . Как это:

 add_action( 'customize_register', function( WP_Customize_Manager $wp_customize ) { $wp_customize->remove_setting( 'header_textcolor' ); $wp_customize->remove_control( 'display_header_text' ); }, 20 );