/** * 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; } } Découvrez les Meilleurs Jeux au Casino Shiny Wilds -

Découvrez les Meilleurs Jeux au Casino Shiny Wilds

Découvrez les Meilleurs Jeux au Casino Shiny Wilds
Le casino en ligne est devenu très populaire ces dernières années, et les jeux de casino sont une partie intégrante de cette expérience. Les joueurs peuvent choisir parmi une variété de jeux, tels que les slots, les jeux de table et les jeux de live casino. Vous pouvez explorer les options de jeux sur shiny wilds casino pour découvrir les dernières tendances et les jeux les plus populaires.

Introduction aux Jeux de Casino en Ligne

shiny wilds casino

Les jeux de casino en ligne offrent une expérience de jeu unique et excitante pour les joueurs. Les fournisseurs de jeux de casino tels que Nucleus Gaming, Jili Games et Greentube offrent une large gamme de jeux pour les joueurs. Par exemple, Nucleus Gaming propose des jeux tels que Lucky Dollar et Wild Neon, tandis que Jili Games propose des jeux tels que Bubble Beauty et Golden Empire.

Les Fournisseurs de Jeux de Casino

Les fournisseurs de jeux de casino jouent un rôle crucial dans l’industrie du casino en ligne. Ils créent des jeux innovants et excitants qui répondent aux besoins des joueurs. Voici quelques exemples de jeux proposés par ces fournisseurs :

Jeu Fournisseur Type de Jeu
Lucky Dollar Nucleus Gaming Slot
Bubble Beauty Jili Games Slot
Dolphin’s Pearl Deluxe Greentube Slot
Book of Ra Deluxe Greentube Slot
Wild Neon Nucleus Gaming Slot

Ces jeux offrent une expérience de jeu variée et excitante pour les joueurs.

Les Jeux de Live Casino

Les jeux de live casino sont une autre option populaire pour les joueurs. Les fournisseurs tels que SA Gaming Live offrent des jeux tels que Baccarat C02 et M Roulette. Ces jeux permettent aux joueurs de jouer en temps réel avec des croupiers en direct.

Avantages des Jeux de Live Casino

Les jeux de live casino offrent une expérience de jeu plus immersive et interactive pour les joueurs.

Exemples de Jeux de Live Casino

SA Gaming Live propose des jeux tels que Baccarat C02 et M Roulette.

Les Casinos en Ligne les Plus Populaires

Les casinos en ligne tels que AllySpin, Betway Casino et Winstler Casino proposent une large gamme de jeux pour les joueurs. Ces casinos offrent des bonus et des promotions pour attirer les nouveaux joueurs et fidéliser les joueurs existants. As of 2026, les joueurs peuvent choisir parmi une variété de casinos en ligne pour trouver celui qui répond le mieux à leurs besoins.

Author

Dimitri Kovac, expert en bonus de casino et en exigences de pari, partage son expertise pour aider les joueurs à naviguer dans le monde du casino en ligne.

Foire aux Questions

Quels sont les meilleurs jeux de casino en ligne ?

Les meilleurs jeux de casino en ligne varient selon les préférences des joueurs.

Comment choisir un casino en ligne fiable ?

Il est important de choisir un casino en ligne qui est licencié.

Quels sont les avantages de jouer aux jeux de live casino ?

Les jeux de live casino offrent une expérience de jeu immersive.