Preview:
function actualizar_campo_option($campos) {

    $campos_actualizados = array(); // Arreglo para almacenar los campos actualizados

    

    // Recorre el arreglo de campos y valores y actualiza cada uno utilizando la función update_option

    foreach ($campos as $nombre_campo => $valor) {

        $serializar_valores = isset($valor['unserialize']) ? $valor['unserialize'] : false;

        $valor = $valor['value'];

        

        if ($serializar_valores) {

            $valor_serializado = json_encode($valor);

            update_option($nombre_campo, $valor_serializado);

        } else {

            update_option($nombre_campo, $valor);

        }

        

        // Agrega el campo actualizado y su nuevo valor al arreglo de campos actualizados

        $campos_actualizados[$nombre_campo] = $valor;

    }

    

    return $campos_actualizados;

}

​

function actualizar_campos_options_callback($request) {

    // Obtiene el objeto JSON de campos y valores a actualizar desde la petición

    $campos = $request->get_json_params();

    

    // Actualiza los campos utilizando la función que creamos anteriormente

    $campos_actualizados = actualizar_campo_option($campos);

    

    // Devuelve una respuesta con los campos actualizados y sus nuevos valores

    return new WP_REST_Response(array('message' => 'Campos actualizados con éxito', 'campos_actualizados' => $campos_actualizados), 200);

}

​

add_action('rest_api_init', 'registrar_ruta_actualizar_campos_options');

​

function registrar_ruta_actualizar_campos_options() {

    // Registra la ruta /sivocloud-app/v1/options con el método PUT

    register_rest_route('sivocloud-app/v1', '/options', array(

        'methods' => 'PUT',

        'callback' => 'actualizar_campos_options_callback'

    ));

}
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter