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' )); }
Preview:
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