/** * WP_oEmbed_Controller class, used to provide an oEmbed endpoint. * * @package WordPress * @subpackage Embeds * @since 4.4.0 */ /** * oEmbed API endpoint controller. * * Registers the REST API route and delivers the response data. * The output format (XML or JSON) is handled by the REST API. * * @since 4.4.0 */ #[AllowDynamicProperties] final class WP_oEmbed_Controller { /** * Register the oEmbed REST API route. * * @since 4.4.0 */ public function register_routes() { /** * Filters the maxwidth oEmbed parameter. * * @since 4.4.0 * * @param int $maxwidth Maximum allowed width. Default 600. */ $maxwidth = apply_filters( 'oembed_default_width', 600 ); register_rest_route( 'oembed/1.0', '/embed', array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_item' ), 'permission_callback' => '__return_true', 'args' => array( 'url' => array( 'description' => __( 'The URL of the resource for which to fetch oEmbed data.' ), 'required' => true, 'type' => 'string', 'format' => 'uri', ), 'format' => array( 'default' => 'json', 'sanitize_callback' => 'wp_oembed_ensure_format', ), 'maxwidth' => array( 'default' => $maxwidth, 'sanitize_callback' => 'absint', ), ), ), ) ); register_rest_route( 'oembed/1.0', '/proxy', array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_proxy_item' ), 'permission_callback' => array( $this, 'get_proxy_item_permissions_check' ), 'args' => array( 'url' => array( 'description' => __( 'The URL of the resource for which to fetch oEmbed data.' ), 'required' => true, 'type' => 'string', 'format' => 'uri', ), 'format' => array( 'description' => __( 'The oEmbed format to use.' ), 'type' => 'string', 'default' => 'json', 'enum' => array( 'json', 'xml', ), ), 'maxwidth' => array( 'description' => __( 'The maximum width of the embed frame in pixels.' ), 'type' => 'integer', 'default' => $maxwidth, 'sanitize_callback' => 'absint', ), 'maxheight' => array( 'description' => __( 'The maximum height of the embed frame in pixels.' ), 'type' => 'integer', 'sanitize_callback' => 'absint', ), 'discover' => array( 'description' => __( 'Whether to perform an oEmbed discovery request for unsanctioned providers.' ), 'type' => 'boolean', 'default' => true, ), ), ), ) ); } /** * Callback for the embed API endpoint. * * Returns the JSON object for the post. * * @since 4.4.0 * * @param WP_REST_Request $request Full data about the request. * @return array|WP_Error oEmbed response data or WP_Error on failure. */ public function get_item( $request ) { $post_id = url_to_postid( $request['url'] ); /** * Filters the determined post ID. * * @since 4.4.0 * * @param int $post_id The post ID. * @param string $url The requested URL. */ $post_id = apply_filters( 'oembed_request_post_id', $post_id, $request['url'] ); $data = get_oembed_response_data( $post_id, $request['maxwidth'] ); if ( ! $data ) { return new WP_Error( 'oembed_invalid_url', get_status_header_desc( 404 ), array( 'status' => 404 ) ); } return $data; } /** * Checks if current user can make a proxy oEmbed request. * * @since 4.8.0 * * @return true|WP_Error True if the request has read access, WP_Error object otherwise. */ public function get_proxy_item_permissions_check() { if ( ! current_user_can( 'edit_posts' ) ) { return new WP_Error( 'rest_forbidden', __( 'Sorry, you are not allowed to make proxied oEmbed requests.' ), array( 'status' => rest_authorization_required_code() ) ); } return true; } /** * Callback for the proxy API endpoint. * * Returns the JSON object for the proxied item. * * @since 4.8.0 * * @see WP_oEmbed::get_html() * @global WP_Embed $wp_embed WordPress Embed object. * @global WP_Scripts $wp_scripts * * @param WP_REST_Request $request Full data about the request. * @return object|WP_Error oEmbed response data or WP_Error on failure. */ public function get_proxy_item( $request ) { global $wp_embed, $wp_scripts; $args = $request->get_params(); // Serve oEmbed data from cache if set. unset( $args['_wpnonce'] ); $cache_key = 'oembed_' . md5( serialize( $args ) ); $data = get_transient( $cache_key ); if ( ! empty( $data ) ) { return $data; } $url = $request['url']; unset( $args['url'] ); // Copy maxwidth/maxheight to width/height since WP_oEmbed::fetch() uses these arg names. if ( isset( $args['maxwidth'] ) ) { $args['width'] = $args['maxwidth']; } if ( isset( $args['maxheight'] ) ) { $args['height'] = $args['maxheight']; } // Short-circuit process for URLs belonging to the current site. $data = get_oembed_response_data_for_url( $url, $args ); if ( $data ) { return $data; } $data = _wp_oembed_get_object()->get_data( $url, $args ); if ( false === $data ) { // Try using a classic embed, instead. /* @var WP_Embed $wp_embed */ $html = $wp_embed->get_embed_handler_html( $args, $url ); if ( $html ) { // Check if any scripts were enqueued by the shortcode, and include them in the response. $enqueued_scripts = array(); foreach ( $wp_scripts->queue as $script ) { $enqueued_scripts[] = $wp_scripts->registered[ $script ]->src; } return (object) array( 'provider_name' => __( 'Embed Handler' ), 'html' => $html, 'scripts' => $enqueued_scripts, ); } return new WP_Error( 'oembed_invalid_url', get_status_header_desc( 404 ), array( 'status' => 404 ) ); } /** This filter is documented in wp-includes/class-wp-oembed.php */ $data->html = apply_filters( 'oembed_result', _wp_oembed_get_object()->data2html( (object) $data, $url ), $url, $args ); /** * Filters the oEmbed TTL value (time to live). * * Similar to the {@see 'oembed_ttl'} filter, but for the REST API * oEmbed proxy endpoint. * * @since 4.8.0 * * @param int $time Time to live (in seconds). * @param string $url The attempted embed URL. * @param array $args An array of embed request arguments. */ $ttl = apply_filters( 'rest_oembed_ttl', DAY_IN_SECONDS, $url, $args ); set_transient( $cache_key, $data, $ttl ); return $data; } } Casino Bono sin Depósito Online Todo lo que Necesitas Saber -

Casino Bono sin Depósito Online Todo lo que Necesitas Saber

Los casinos online han revolucionado la forma en que disfrutamos de los juegos de azar. Uno de los grandes atractivo de estos sitios es la posibilidad de obtener un Casino Bono sin Deposito Online Gratis Dinero Real casino con bono sin deposito, lo que permite a los nuevos jugadores probar diferentes juegos sin arriesgar su propio dinero. En esta artículo, exploraremos qué es un bono sin depósito, cómo funciona, cuáles son sus ventajas y desventajas, y algunas recomendaciones para aprovechar al máximo estas ofertas.

¿Qué es un bono sin depósito?

Un bono sin depósito es una promoción ofrecida por los casinos online que permite a los jugadores recibir una cantidad de dinero o giros gratis sin necesidad de realizar un depósito inicial. Este tipo de bono es especialmente atractivo para los nuevos usuarios, ya que les permite probar el casino y sus juegos sin riesgo financiero.

¿Cómo funcionan los bonos sin depósito?

Los bonos sin depósito pueden variar en cuanto a la cantidad ofrecida y la forma en que se pueden utilizar. Generalmente, después de registrarte en un casino y verificar tu cuenta, se te acreditará el bono automáticamente o deberás introducir un código promocional durante el registro. Los fondos que recibas pueden utilizarse en una variedad de juegos, aunque algunos casinos pueden restringir su uso a ciertos títulos.

Tipos de bonos sin depósito

Existen diferentes tipos de bonos sin depósito que los casinos online pueden ofrecer:

  • Bono en dinero real: Un monto fijo que puedes utilizar para jugar en el casino.
  • Giros gratis: Un número determinado de giros en máquinas tragamonedas que puedes utilizar.
  • Bono de bienvenida: Un bono que se otorga a nuevos jugadores y que puede incluir tanto dinero como giros gratis.

Ventajas de los bonos sin depósito

Los bonos sin depósito ofrecen varias ventajas tanto para los nuevos jugadores como para los más experimentados:

  • Sin riesgo financiero: Puedes jugar sin necesidad de invertir tu propio dinero, lo que es ideal para aquellos que estén dudando si desean invertir en un nuevo casino.
  • Probar diferentes juegos: Te permite explorar el catálogo de juegos del casino sin gastar dinero, lo que puede ayudarte a encontrar tus juegos favoritos.
  • Bonos atractivos: Muchos casinos ofrecen bonos sin depósito muy generosos, lo que puede resultar en grandes ganancias si sabes cómo aprovecharlos.

Desventajas de los bonos sin depósito

A pesar de sus numerosas ventajas, los bonos sin depósito también tienen algunas desventajas que los jugadores deben tener en cuenta:

  • Requisitos de apuesta: La mayoría de los bonos vienen con requisitos de apuesta, lo que significa que debes apostar una cantidad determinada antes de poder retirar tus ganancias.
  • Limitaciones de tiempo: A menudo, estos bonos tienen un tiempo limitado para ser utilizados, lo que puede presionarte a jugar más rápido de lo que te gustaría.
  • Restricciones en juegos: No todos los juegos pueden contribuir por igual a los requisitos de apuesta, así que es importante leer los términos y condiciones.

Consejos para aprovechar al máximo los bonos sin depósito

Si decides registrarte en un casino online que ofrezca un bono sin depósito, aquí hay algunos consejos para maximizar tu experiencia:

  • Lee los términos y condiciones: Antes de aceptar cualquier bono, asegúrate de entender completamente los requisitos de apuesta y las restricciones de los juegos.
  • Prueba diferentes juegos: Usa tus fondos de bono para probar una variedad de juegos y encuentra aquellos que más disfrutes.
  • Controla tus pérdidas: Aunque estás jugando con dinero del casino, recuerda que siempre debes jugar de manera responsable y no dejarte llevar por la emoción del juego.

Conclusión

Los bonos sin depósito son una excelente manera de adentrarse en el mundo de los casinos online sin arriesgar tu propio dinero. Permiten a los jugadores explorar nuevos juegos y probar diferentes estrategias sin comprometer su presupuesto. Sin embargo, es fundamental estar consciente de las condiciones que vienen con estos bonos, como los requisitos de apuesta y las limitaciones de tiempo. Con la información adecuada y un enfoque responsable, los bonos sin depósito pueden convertirse en una experiencia emocionante y potencialmente lucrativa.