Intereting Posts
Неправильные ссылки в WordPress? Как показать post_title с помощью get_permalink? wp_get_attachment_caption, чтобы вырезать надпись или alt добавление домашней работы на сайт школы Шаблон перенаправления шаблона загружен, но заголовок 404 Как вставить список категорий на страницу создания публикаций и получить выбранные категории? the_post_thumbnail игнорирует параметр размера Запрос Тип пользовательской публикации Тип таксономии с несколькими параметрами Доступ к WordPress допускал меньше страниц до тех пор, пока пользователь не войдет в систему Ошибка анализа: синтаксическая ошибка, неожиданный T_ENDWHILE в Создайте галерею с помощью Custom Post Type и добавьте галерею сумм в качестве вспомогательной галереи Main Gallery Создание пользовательских запросов AJAX Копирование корневого многосайтового сайта Как разрешить пользователю, не зарегистрировав загрузку системы WP в медиа-библиотеке? Как получить постоянную ссылку с помощью функции get_blog_post в многопользовательском режиме?

Невозможно дезинфицировать выбранный элемент управления в настройке api

Я использую wordpress 4.7.2.

Я создаю раздел настройки для моей настраиваемой темы. Это мой выбор.

$wp_customize->add_setting( $this->slug . '_blog[pagination_type]', array( 'default' => 'classic-pagination', 'transport' => 'postMessage', 'type' => 'theme_mod', 'sanitize_callback' => 'my_theme_sanitize_select', ) ); $wp_customize->add_control( $this->slug . '_blog[pagination_type]', array( 'label' => 'Pagination Type', 'section' => $this->slug . '_blog_section', 'type' => 'select', 'choices' => array( 'classic-pagination' => 'Classic Pagination', 'load-more-button' => 'Load More Button' ), 'priority' => 18, ) ); 

и моя функция sanitize_callback

 public function my_theme_sanitize_select( $input, $setting ) { // Ensure input is a slug $input = sanitize_key( $input ); // Get list of choices from the control // associated with the setting $choices = $setting->manager->get_control( $setting->id )->choices; // If the input is a valid key, return it; // otherwise, return the default return ( array_key_exists( $input, $choices ) ? $input : $setting->default ); } 

Отображение ошибки Недопустимое значение при попытке сохранить данные.

Я пробовал даже с помощью только функции sanitize_key, но не могу ее правильно исправить

 public function my_theme_sanitize_select( $input ) { return sanitize_key( $input ); } 

а затем даже

 public function my_theme_sanitize_select( $input ) { return $input; } 

а также

 public function my_theme_sanitize_select( $input ) { return true; } 

но когда я не звоню в какую-либо функцию санации, он работает правильно. это означает, что я делаю некоторую ошибку при создании sanitize_callback (), но в ссылке также функция обратного вызова имеет такое же наименование и такое же определение функции.

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

Я прошел через основные коды и нашел в классе WP_Customize_Setting sanitize() мои входные данные становятся null . но не мог получить больше идеи.

Solutions Collecting From Web of "Невозможно дезинфицировать выбранный элемент управления в настройке api"

Логика add_setting найти функцию my_theme_sanitize_select , вам нужно сообщить ей, где она находится:

 'sanitize_callback' => array( $this, 'my_theme_sanitize_select' ), 

помните, что ваша функция находится внутри класса, поэтому она не может быть доступна, добавьте ее в свой класс:

 public function my_theme_sanitize_select( $input, $setting ) { $from_parent = my_theme_sanitize_select( $input, $setting ); return $from_parent; }