Update or Add Options
Sun Mar 26 2023 05:58:30 GMT+0000 (Coordinated Universal Time)
Saved by
@davelauren
#postman
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'
));
}
content_copyCOPY
Actualiza o añade una o varias opciones a la tabla wp_options.
Ruta: /wp-json/sivocloud-app/v1/options
Body: {"opcion_1":{"value":"valor_2","unserialize":true},"opcion_2":{"value":{"name":"John Doe","age":30,"email":"johndoe@example.com"},"unserialize":true}}
Metodo: PUT
https://woocommerce-831138-2865195.cloudwaysapps.com/wp-admin/admin.php?page
Comments