Итерация по данным из AJAX вызова в PHP - PullRequest
1 голос
/ 12 апреля 2020

У меня есть простой вызов AJAX, который обновляет параметры в установке WordPress.

Это выглядит так:

function spacepress_update_style() {
    if ( current_user_can( 'edit_posts' ) ) {
        $color_hue        = filter_input( INPUT_POST, 'color_primary_hue' );
        $color_saturation = filter_input( INPUT_POST, 'color_primary_saturation' );
        update_option( 'sp_settings_color_primary_hue', $color_hue );
        update_option( 'sp_settings_color_primary_saturation', $color_saturation );

        $images_brightness = filter_input( INPUT_POST, 'images_brightness' );
        $images_contrast   = filter_input( INPUT_POST, 'images_contrast' );
        $images_grayscale  = filter_input( INPUT_POST, 'images_grayscale' );
        $images_hue_rotate = filter_input( INPUT_POST, 'images_hue_rotate' );
        $images_invert     = filter_input( INPUT_POST, 'images_invert' );
        $images_saturate   = filter_input( INPUT_POST, 'images_saturate' );
        $images_sepia      = filter_input( INPUT_POST, 'images_sepia' );
        update_option( 'sp_settings_images_brightness', $images_brightness );
        update_option( 'sp_settings_images_contrast', $images_contrast );
        update_option( 'sp_settings_images_grayscale', $images_grayscale );
        update_option( 'sp_settings_images_hue_rotate', $images_hue_rotate );
        update_option( 'sp_settings_images_invert', $images_invert );
        update_option( 'sp_settings_images_saturate', $images_saturate );
        update_option( 'sp_settings_images_sepia', $images_sepia );
        die();
    } else {
        die();
    }
}

Я хочу упростить эту функцию и автоматически выполнять итерацию по все данные из ввода в foreach l oop, но я не знаю, как. Надеюсь, кто-нибудь может мне помочь с этим!

1 Ответ

1 голос
/ 12 апреля 2020
foreach ($_POST as $key => $value) {
    if (strpos('color_primary', $key)) {

        update_option('sp_settings_color_primary_saturation', filter_input(INPUT_POST, $value));
    } elseif (strpos('images_', $key)) {

        update_option('sp_settings_images_sepia', filter_input(INPUT_POST, $value));
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...