Intereting Posts
Получение следующей ошибки веб-сервисов после активации Плагина вознаграждений Результаты пользовательского поиска Enqueue jQuery в WordPress Как узнать, когда последняя версия WordPress обновлена Как загружать страницы с разбивкой по страницам через ajax Разрешить пользователю изменять домашнюю страницу Добавить вариант, если не существует Правильное использование интернационализации Скрыть имя категории в URL-адресе как перенаправить пользователей на пользовательскую страницу входа при нажатии «Войти для ответа»? Есть ли способ поделиться шаблоном / разметкой с JSON API, чтобы его не нужно было объявлять как в PHP, так и в JS? Добавление фильтра только на главную страницу Плагин для ссылок на стиль в стиле википедии в WP? Каковы наилучшие методы для поддержки и развертывания нескольких родительских тем? Разработка плагинов: сколько комбинаций версий плагина и WordPress поддерживаются?

Нужна помощь по санированию

У меня есть тема для обзора, и я иногда добавляю раздел 'type' => 'select' в несколько случаев.

$wp_customize->add_setting( 'personal_lite_post_link', array( 'default' => 'enable', 'sanitize_callback' => 'personal_lite_select_callback' ) ); $wp_customize->add_control('postlink-options', array( 'label' => esc_html__('Post navigation', 'personal-lite'), 'section' => 'personal_lite_post', 'settings' => 'personal_lite_post_link', 'type' => 'select', 'choices' => array('enable' => esc_html__('Enable', 'personal-lite'), 'disable' => esc_html__('Disable', 'personal-lite')) ) ); 

и дезинфекция

 function personal_lite_select_callback($input) { $valid = array( 'lightslategrey' => esc_html__('Grey', 'personal-lite'), 'seagreen' => esc_html__('Green', 'personal-lite'), 'enable' => esc_html__('Enable', 'personal-lite'), 'disable' => esc_html__('Disable', 'personal-lite'), ); if (array_key_exists($input, $valid)) { return $input; } else { return ''; } } 

Теперь рецензент просит разбить санитарию на две функции? как это сделать?

Вот точное слово от рецензента.

 I'm a fan of whitelisting for sanitization. However, this function should be broken into two separate functions: Only some settings can have some of those keys. Make sure the setting is valid by using the appropriate whitelist function for that setting. 

Как это можно решить? пожалуйста помогите.

Solutions Collecting From Web of "Нужна помощь по санированию"

Честно говоря, для поля выбора не так важно, какие варианты для дезинфекции поля и на самом деле то, что вы делаете. Я не верю, что это хорошая идея, если пользователь хочет отфильтровать ваши настройки, чтобы добавить новые параметры в поле выбора. Что еще более важно, вы пытаетесь дезинфицировать вывод, который является строковым значением. Поэтому, используя wp_strip_all_tags или даже esc_html для обратного вызова sanitize, я считаю, что это было бы лучше. Ваш вход по-прежнему будет дезинфицирован за вредоносный код, но также позволит упростить настройку с помощью дочерней темы.

Но с точки зрения того, что ваш рецензент говорит вам, скорее всего, вы используете функцию personal_lite_select_callback для нескольких параметров выбора в customizer, у которых есть разные значения, поэтому они хотят, чтобы вы создавали новую функцию для каждого.