/** * 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; } } tejasingale1106@gmail.com – Page 1117 – tejas-apartment.teson.xyz

tejasingale1106@gmail.com

Effektiver Fettabbau: Wie Cytomel bei Stagnation helfen kann

Effektiver Fettabbau: Wie Cytomel bei Stagnation helfen kann Fettabbau ist ein Prozess, der oft mit Herausforderungen verbunden ist. Viele Menschen erleben Phasen, in denen sie trotz harten Trainings und strikter Diäten kein Fett verlieren. In solchen Situationen kann Cytomel, ein Medikament zur Behandlung von Schilddrüsenerkrankungen, hilfreich sein. In diesem Artikel betrachten wir, wie Cytomel den […]

Effektiver Fettabbau: Wie Cytomel bei Stagnation helfen kann Read More »

The Benefits of Utilizing PayPal Deposit Gambling Establishments

Online online casinos have actually reinvented the betting market, using ease and availability to players around the globe. One of one of the most prominent and protected methods for depositing funds right into on the internet gambling establishments is via PayPal. In this short article, we will explore the advantages of using PayPal down payment

The Benefits of Utilizing PayPal Deposit Gambling Establishments Read More »

Free Slot Machines: An Overview to Online Gaming Enjoyable

Welcome to the amazing globe of totally free fruit machine! Whether you are an experienced bettor or a novice wanting to explore the globe of on the internet casino sites, complimentary vending machine can supply hours of thrilling enjoyment. In this guide, we will take a closer check out what complimentary vending machine are, just

Free Slot Machines: An Overview to Online Gaming Enjoyable Read More »

Entdecke die faszinierende Welt der Casinos: Tipps für jeden Spieler Die Welt der Casinos ist ein aufregendes Reich voll

Entdecke die faszinierende Welt der Casinos: Tipps für jeden Spieler Die Welt der Casinos ist ein aufregendes Reich voller Möglichkeiten, Strategien und spannender Spiele. Egal, ob Sie ein Anfänger sind, der gerade seine ersten Schritte in der Glücksspielwelt macht, oder ein erfahrener Spieler, der nach neuen Herausforderungen sucht, Casinos bieten für jeden etwas. In diesem

Entdecke die faszinierende Welt der Casinos: Tipps für jeden Spieler Die Welt der Casinos ist ein aufregendes Reich voll Read More »

BC Game Kasyno Twój Klucz do Świata Gier Online

BC Game Kasyno: Twój Klucz do Świata Gier Online Witamy w fascynującym świecie BC Game Kasyno BC.Game w Polsce, gdzie gry hazardowe łączą się z nowoczesną technologią blockchain. BC Game to innowacyjne kasyno online, które zdobyło serca graczy na całym świecie dzięki swojej unikalnej ofercie gier i niesamowitym bonusom. W tej artykule przyjrzymy się, co

BC Game Kasyno Twój Klucz do Świata Gier Online Read More »

Hash Game Login Unveiling the Secrets of Secure Play

Hash Game Login: Unveiling the Secrets of Secure Play In the ever-evolving landscape of online gaming, security is paramount. Enter Hash Game Login, a platform that not only prioritizes your gaming experience but also your safety. To dive deeper into this, visit Hash Game Login https://hash-bcgame.com/login/, where you can begin your adventure in a secure

Hash Game Login Unveiling the Secrets of Secure Play Read More »

Exploring BC.Game Sister Sites Uncovering New Opportunities

Exploring BC.Game Sister Sites: Uncovering New Opportunities In the ever-evolving landscape of online gaming, finding platforms that resonate with your needs is essential. One such prominent platform is BC.Game, celebrated for its extensive gaming options and innovative features. However, many players may not realize that BC.Game has several sister sites that can offer additional benefits

Exploring BC.Game Sister Sites Uncovering New Opportunities Read More »

Online of offline waar speel je het beste casino

Online of offline waar speel je het beste casino De voordelen van online casino’s Online casino’s bieden spelers de mogelijkheid om vanuit hun eigen huis te gokken, wat zorgt voor een ongeëvenaarde gemakken. Spelers hoeven niet te reizen naar een fysieke locatie, wat tijd en kosten bespaart. Daarnaast zijn online casino’s 24/7 geopend, waardoor spelers

Online of offline waar speel je het beste casino Read More »

Storie di successo nel mondo del gioco d'azzardo come vincere davvero

Storie di successo nel mondo del gioco d'azzardo come vincere davvero Introduzione al gioco d’azzardo Il mondo del gioco d’azzardo affascina milioni di persone in tutto il mondo, non solo per la possibilità di vincere premi significativi, ma anche per l’emozione e l’adrenalina che accompagnano ogni scommessa. La storia di molti giocatori di successo dimostra

Storie di successo nel mondo del gioco d'azzardo come vincere davvero Read More »

Les illusions psychologiques dans le jeu comment le casino manipule-t-il vos émotions

Les illusions psychologiques dans le jeu comment le casino manipule-t-il vos émotions La psychologie du jeu : comprendre les mécanismes de la chance Dans le monde des casinos, l’illusion de la chance joue un rôle fondamental. Les joueurs sont souvent attirés par l’idée que chaque partie pourrait être la grande gagnante, alimentant ainsi leur désir

Les illusions psychologiques dans le jeu comment le casino manipule-t-il vos émotions Read More »