Intereting Posts
Как узнать из моей базы данных, какую версию WordPress мне нужно? Перетаскивание n Отправка сообщения о рассылке для нескольких пользовательских типов сообщений Настройка страниц для сообщений Поиск с использованием WP_Query использование коротких кодов в содержании темы Запретить сохранение сообщения без предоставления заголовка Проблема с попыткой wp_query_posts с тегами Как изменить предыдущие и следующие страницы на страницах блога, чтобы включить «предыдущие» и «следующие» перед ссылками? Проблема с созданием ссылки редактирования для настраиваемого типа сообщения Многопроцессор с пользовательским сайтом магазина для каждого поставщика Как сделать все сообщения в категории липкими? Что происходит, когда два или более плагина используют один и тот же крючок? Будет ли размещение пользовательских шаблонов в подкаталоге нарушить любую собственную функциональность WordPress Должен использовать плагины автозагрузчика: как правильно использовать get_plugins ()? Измените мета-описание, но для одного файла

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

Я написал это, чтобы обрабатывать все поля в $ _POST, прежде чем сохранять их в настройках и дезактивировать и инициализировать все до создания формы. Вы можете использовать один и тот же массив $soap для обработки ввода и вывода.

 function sanitize_all ( $dirty, $soap, $args = null ) { if ( is_array( $soap ) ) { // apply an array of soap to whatever dirt may be available - result keys match soap keys $clean = array(); foreach ( $soap as $key => $suds ) { $dirt = isset( $dirty[$key] ) ? $dirty[$key] : null; $_args = isset( $args[$key] ) ? $args[$key] : $args; $clean[$key] = sanitize_all( $dirt, $suds, $_args ); } } elseif( is_array( $dirty ) ) { // handle an array of dirt with a single bar of soap $clean = array(); foreach ( $dirty as $key => $dirt ) { $_args = isset( $args[$key] ) ? $args[$key] : $args; $clean[$key] = sanitize_all( $dirt, $soap, $_args ); } } else { // set dirty as first parameter and add any others if ( is_array( $args ) ) { array_unshift( $args, $dirty ); } elseif ( empty( $args ) ) { $args = array( $dirty ); } else { $args = array( $dirty, $args ); } // call the function or filter if ( is_callable( $soap ) ) { $clean = call_user_func_array( $soap, $args ); } elseif ( is_string( $soap) ) { $clean = apply_filters_ref_array( $soap, $dirty, $args ); } } return $clean; } 

ПРИМЕНЕНИЕ:

 $options = sanitize_all( $_POST, array( 'name' => 'sanitize_text_field', 'age' => 'intval', 'ssn' => 'sanitize_social' ), array( 'ssn' => array( 'with_dashes' => true ) ) ); 

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

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