// Registra la ruta de la API REST para obtener múltiples opciones add_action('rest_api_init', 'registrar_ruta_obtener_opciones'); function registrar_ruta_obtener_opciones() { // Registra la ruta /sivocloud-app/v1/options register_rest_route('sivocloud-app/v1', '/options', array( 'methods' => 'GET', 'callback' => 'obtener_opciones_callback', )); } function obtener_opciones_callback($request) { // Obtiene el objeto JSON de opciones desde el cuerpo de la petición $opciones = $request->get_json_params(); // Verifica que el objeto contenga la clave "opciones" if (isset($opciones['opciones']) && is_array($opciones['opciones'])) { // Obtiene los valores de las opciones y los almacena en un array $valores_opciones = array(); foreach ($opciones['opciones'] as $nombre_opcion) { $valor_opcion = get_option($nombre_opcion); $valores_opciones[$nombre_opcion] = $valor_opcion; } // Devuelve una respuesta con los valores de las opciones return new WP_REST_Response(array('message' => 'Opciones obtenidas con éxito', 'valores_opciones' => $valores_opciones), 200); } else { // Si el objeto no contiene la clave "opciones", devuelve un error return new WP_Error('missing_options', 'El objeto JSON no contiene la clave "opciones"', array('status' => 400)); } }
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