/** * 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; } } Public – Page 17 – tejas-apartment.teson.xyz

Public

Mobile Casino-Apps im Vergleich: Spielen Sie überall und jederzeit In der heutigen digitalen Welt erleben Mobile Casinos

Mobile Casino-Apps im Vergleich: Spielen Sie überall und jederzeit In der heutigen digitalen Welt erleben Mobile Casinos einen unglaublichen Boom. Spieler können sich bequem von ihrem Smartphone oder Tablet aus in die aufregende Welt der Online-Casinos stürzen. Diese mobile Revolution hat nicht nur die Art und Weise verändert, wie wir Glücksspiel wahrnehmen, sondern auch, wie […]

Mobile Casino-Apps im Vergleich: Spielen Sie überall und jederzeit In der heutigen digitalen Welt erleben Mobile Casinos Read More »

Entdecken Sie die besten Casino-Boni: So maximieren Sie Ihren Gewinn Willkommen in der aufregenden Welt der Online-Casin

Entdecken Sie die besten Casino-Boni: So maximieren Sie Ihren Gewinn Willkommen in der aufregenden Welt der Online-Casinos, wo Boni eine entscheidende Rolle spielen, um Ihr Spielerlebnis zu verbessern und Ihre Gewinne zu maximieren. In diesem Artikel erkunden wir die besten Casino-Boni, wie casino ohne oasis eine attraktive Option darstellen, ihre Vorteile und wie Sie diese

Entdecken Sie die besten Casino-Boni: So maximieren Sie Ihren Gewinn Willkommen in der aufregenden Welt der Online-Casin Read More »

Entdecke die besten Casinos im Jahr 2023: Ein umfassender Leitfaden für Spieler Im Jahr 2023 gibt es eine Vielzahl von C

Entdecke die besten Casinos im Jahr 2023: Ein umfassender Leitfaden für Spieler Im Jahr 2023 gibt es eine Vielzahl von Casinos, die Spielern ein aufregendes und sicheres Spielerlebnis bieten. In diesem umfassenden Leitfaden werden wir die besten Casinos untersuchen, ihre Funktionen vorstellen und dabei auch casino ohne oasis erwähnen, um Tipps zu geben, wie Sie

Entdecke die besten Casinos im Jahr 2023: Ein umfassender Leitfaden für Spieler Im Jahr 2023 gibt es eine Vielzahl von C Read More »

Die besten Casino-Boni 2023: So sicherst du dir die besten Angebote Im Jahr 2023 gibt es viele aufregende Möglichkeiten,

Die besten Casino-Boni 2023: So sicherst du dir die besten Angebote Im Jahr 2023 gibt es viele aufregende Möglichkeiten, um die besten Casino-Boni zu nutzen und von ihnen zu profitieren. Online-Casinos bieten eine Vielzahl von attraktiven Angeboten, die darauf abzielen, neue Spieler zu gewinnen und auch die Vorteile von casino ohne oasis zu genießen, während

Die besten Casino-Boni 2023: So sicherst du dir die besten Angebote Im Jahr 2023 gibt es viele aufregende Möglichkeiten, Read More »

Mobile Casino-App: Erlebe atemberaubenden Spielspaß direkt in deiner Hand In der aufregenden Welt der Online-Casinos hat

Mobile Casino-App: Erlebe atemberaubenden Spielspaß direkt in deiner Hand In der aufregenden Welt der Online-Casinos hat die mobile Casino-App an Bedeutung gewonnen, da sie Spielern die Möglichkeit bietet, jederzeit und überall spannende Spiele zu genießen. Diese Anwendung bringt das Casino-Erlebnis direkt in die Hand der Spieler und ermöglicht es ihnen, online casinos ohne oasis zu

Mobile Casino-App: Erlebe atemberaubenden Spielspaß direkt in deiner Hand In der aufregenden Welt der Online-Casinos hat Read More »

Aktuelle Casino-Boni 2023: So maximierst du deine Gewinnchancen Casino-Boni sind ein entscheidender Faktor für Spieler,

Aktuelle Casino-Boni 2023: So maximierst du deine Gewinnchancen Casino-Boni sind ein entscheidender Faktor für Spieler, die ihre Gewinnchancen maximieren möchten. In der heutigen Welt des Online-Glücksspiels bieten viele Plattformen attraktive Boni, wie zum Beispiel casino ohne oasis, um neue Spieler zu gewinnen und treue Kunden zu belohnen. In diesem Artikel werden wir die verschiedenen Arten

Aktuelle Casino-Boni 2023: So maximierst du deine Gewinnchancen Casino-Boni sind ein entscheidender Faktor für Spieler, Read More »

Die aktuellen Bonusangebote 2023: Sichern Sie sich Ihre Vorteile im Casino In der aufregenden Welt der Casinos sind Bonu

Die aktuellen Bonusangebote 2023: Sichern Sie sich Ihre Vorteile im Casino In der aufregenden Welt der Casinos sind Bonusangebote 2023 ein wesentlicher Bestandteil, um das Spielerlebnis zu optimieren. Spieler können von zahlreichen Promotions profitieren, die nicht nur den Einstieg erleichtern, sondern auch die Langzeitbindung an eine Plattform fördern. Besonders interessant sind die Angebote von online

Die aktuellen Bonusangebote 2023: Sichern Sie sich Ihre Vorteile im Casino In der aufregenden Welt der Casinos sind Bonu Read More »

Découvrez le jardin des saveurs : votre guide ultime pour maîtriser les arômes Dans le monde culinaire, les saveurs sont

Découvrez le jardin des saveurs : votre guide ultime pour maîtriser les arômes Dans le monde culinaire, les saveurs sont bien plus que de simples goûts; elles composent une symphonie d’arômes qui enrichit nos expériences gastronomiques. Le jardin des saveurs représente cet espace magique où se mêlent les différentes essences des aliments, des épices et

Découvrez le jardin des saveurs : votre guide ultime pour maîtriser les arômes Dans le monde culinaire, les saveurs sont Read More »

Comprehensive review: Pros and cons of popular casino platforms As online gambling continues to grow in popularity, expl

Comprehensive review: Pros and cons of popular casino platforms As online gambling continues to grow in popularity, exploring various casino platforms becomes essential for enthusiasts. This article provides a comprehensive review of the pros and cons of popular online casino platforms, helping players choose the best gaming experience tailored to their preferences. With new platforms

Comprehensive review: Pros and cons of popular casino platforms As online gambling continues to grow in popularity, expl Read More »

Technology transforming the casino experience what’s next

Technology transforming the casino experience what’s next Innovative Game Development The casino gaming landscape is rapidly evolving, largely due to advancements in technology. Game developers are leveraging cutting-edge graphics, immersive sound effects, and advanced algorithms to create more engaging experiences. Players can now enjoy games that are not only visually stunning but also offer dynamic

Technology transforming the casino experience what’s next Read More »