/** * 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 59 – tejas-apartment.teson.xyz

Public

Comment se comporter avec élégance dans un casino conseils de Pinco

Comment se comporter avec élégance dans un casino conseils de Pinco L’importance de l’élégance dans un casino Se rendre dans un casino, c’est entrer dans un univers où le raffinement et l’élégance sont de mise. La manière dont vous vous comportez et vous habillez joue un rôle crucial dans la perception que les autres joueurs […]

Comment se comporter avec élégance dans un casino conseils de Pinco Read More »

Juegos populares explicados descubre cómo jugar y ganar con Ecuabet

Juegos populares explicados descubre cómo jugar y ganar con Ecuabet Introducción a los juegos de casino Los juegos de casino son una forma emocionante de entretenimiento y, con la plataforma Ecuabet apk, estos se vuelven accesibles para todos. Desde tragamonedas hasta juegos de mesa, cada opción ofrece experiencias únicas que capturan la atención de los

Juegos populares explicados descubre cómo jugar y ganar con Ecuabet Read More »

Správne správanie v kasíne Zásady a tipy pre úspešný zážitok

Správne správanie v kasíne Zásady a tipy pre úspešný zážitok Úvod do kasínovej etikety Pri návšteve kasína je dôležité dodržiavať určité zásady, ktoré zabezpečia príjemný zážitok nielen pre vás, ale aj pre ostatných hráčov. NV Casino Slovensko ponúka rozmanité možnosti a kasínová etiketa zahŕňa správne správanie na herných stoloch, ako aj v priestoroch kasína. Vhodné

Správne správanie v kasíne Zásady a tipy pre úspešný zážitok Read More »

История азартного игрока как я потерял всё, но нашёл себя в linebet

История азартного игрока как я потерял всё, но нашёл себя в linebet Мой путь к азартным играм Когда я впервые столкнулся с азартными играми, это казалось мне захватывающим и интересным развлечением. Я думал, что смогу контролировать свои ставки и в любой момент остановиться. Но со временем азарт захватил меня, и я начал тратить всё больше

История азартного игрока как я потерял всё, но нашёл себя в linebet Read More »

Choosing the right casino essential tips for an informed decision at Richard Casino

Choosing the right casino essential tips for an informed decision at Richard Casino Understanding the Importance of Casino Selection Selecting the right online casino is a crucial decision that can significantly impact your gaming experience. Richard Casino caters specifically to Australian players, providing a secure and user-friendly platform. Understanding the features that differentiate one casino

Choosing the right casino essential tips for an informed decision at Richard Casino Read More »

High roller secrets Unveiling the thrill of elite casino experiences

High roller secrets Unveiling the thrill of elite casino experiences The Allure of High-Stakes Gambling High-stakes gambling captivates many with its promise of immense thrills and lavish rewards. For high rollers, the allure isn’t just about winning; it’s the entire experience of engaging with the most elite gaming environments. These players often seek exclusive tables,

High roller secrets Unveiling the thrill of elite casino experiences Read More »

Estrategias seguras para ganar en juegos de azar con Pin Up casino

Estrategias seguras para ganar en juegos de azar con Pin Up casino Conociendo el entorno de las apuestas Antes de sumergirse en el mundo de las apuestas en Pin Up casino, es esencial entender la dinámica de los juegos de azar. Cada juego tiene sus propias reglas y probabilidades, lo que significa que la familiaridad

Estrategias seguras para ganar en juegos de azar con Pin Up casino Read More »

Gambling i litteratur och film En djupdykning i Yako Casinos värld

Gambling i litteratur och film En djupdykning i Yako Casinos värld Gamblingens roll i litteraturen Gambling har länge varit en fascinerande och komplex del av litteraturen. Från klassiska verk som “Kasinot” av Dostojevskij till moderna berättelser, utforskar författare ofta teman av risk, belöning och moral. Genom att sätta sina karaktärer i spelens värld, undersöker de

Gambling i litteratur och film En djupdykning i Yako Casinos värld Read More »

Estrategias avanzadas para ganar en el casino descubre cómo Mexlucky APK puede ayudarte

Estrategias avanzadas para ganar en el casino descubre cómo Mexlucky APK puede ayudarte Comprendiendo la psicología del juego Una de las claves para ganar en el casino es entender la psicología detrás de los juegos de azar. Los jugadores a menudo se ven influenciados por sus emociones y percepciones. Mantener la calma y la concentración

Estrategias avanzadas para ganar en el casino descubre cómo Mexlucky APK puede ayudarte Read More »

Kültürel önemi nedir hepsibahis casino ile casino dünyasını keşfedin

Kültürel önemi nedir hepsibahis casino ile casino dünyasını keşfedin Casino Kültürünün Tarihçesi Casino kültürü, yüzyıllar boyunca çeşitli medeniyetlerin bir parçası olmuştur. İlk olarak, Antik Roma ve Yunan’da şans oyunları oynanıyordu. Bu oyunlar, sosyal etkileşim ve eğlence amacıyla düzenleniyordu. Zamanla, kumarhaneler olarak bilinen mekanlar, zenginlerin ve aristokratların tercih ettiği yerler haline geldi. Bu durum, kültürel etkileşimlerin

Kültürel önemi nedir hepsibahis casino ile casino dünyasını keşfedin Read More »