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

Uncategorized

SpreadExCasino DK 2026 Din Guide til Online Spil 103858046

Velkommen til vores dybdegående artikel om SpreadExCasino DK 2026 spreadexdanmark Casino i Danmark i 2026. I denne artikel vil vi dække alle aspekter af dette spændende online casino, herunder en oversigt over dets funktioner, tilbud, platformens brugervenlighed samt tips til både nye og erfarne spillere. Introduktion til SpreadExCasino DK SpreadExCasino har etableret sig som en […]

SpreadExCasino DK 2026 Din Guide til Online Spil 103858046 Read More »

DoubleStar Casino SK – Zábava a Šťastie na Dosah Ruky 118832593

Vitajte v DoubleStar Casino SK, jednom z najobľúbenejších online kasín, kde sa zábava a šťastie stretávajú. DoubleStar Casino ponúka široké portfólio hier, lákavé bonusy a špeciálne akcie, ktoré zaručujú skvelý zážitok pre hráčov všetkých úrovní. Ak ste novým hráčom alebo skúseným veteránom, DoubleStar má čo ponúknuť pre každého, kto túži po hernom vzrušení. Prehľad DoubleStar

DoubleStar Casino SK – Zábava a Šťastie na Dosah Ruky 118832593 Read More »

Gamdom Casino SK 2026 – Najnovšie trendy a bonusy v online hazardných hrách

Gamdom Casino SK 2026 prináša do sveta online hazardných hier nové a vzrušujúce príležitosti. S Gamdom Casino SK 2026 – Registrácia a bonusový promo kód Gamdom Casino SK-bonus a pestrou ponukou hier sa stáva čoraz populárnejšou voľbou medzi hráčmi na Slovensku. V tejto článku preskúmame, čo všetko Gamdom ponúka a prečo by ste sa mali

Gamdom Casino SK 2026 – Najnovšie trendy a bonusy v online hazardných hrách Read More »

Video Slots Casino DK – Oplev Den Bedste Underholdning Online 115979187

Velkommen til den ultimative guide til Video Slots Casino DK videoslotsspil.dk, hvor vi udforsker den fantastiske verden af video slots casinoer i Danmark. Fra klassiske spillemaskiner til moderne video slots med fantastiske bonusfunktioner, er der noget for enhver smag. I denne artikel vil vi tale om de mest populære video slots, give dig tips til

Video Slots Casino DK – Oplev Den Bedste Underholdning Online 115979187 Read More »

SynotTip Casino SK 2026 – Novinky a trendy v online hazardných hrách

SynotTip Casino SK 2026 – Novinky a trendy v online hazardných hrách V roku 2026 sa SynotTip Casino SK stáva stále populárnejším miestom pre hranie online hazardných hier. Toto kasíno ponúka širokú škálu hier, konkurenčné bonusy a inovatívne funkcie, ktoré prilákali množstvo hráčov. SynotTip Casino SK 2026 SynotTip Casino SK – Stiahnite si aplikáciu a

SynotTip Casino SK 2026 – Novinky a trendy v online hazardných hrách Read More »

Video Slots Casino DK – Oplev de Bedste Spilleautomater Online

Velkommen til Video Slots Casino DK Oplev spændingen ved online gambling med Video Slots Casino DK 2026. Her finder du et væld af spilleautomater, der kan underholde dig i timevis. Uanset om du er en erfaren spiller eller nybegynder, vil du finde noget, der passer til dine præferencer og din spillestil. Hvad er Video Slots

Video Slots Casino DK – Oplev de Bedste Spilleautomater Online Read More »

Monaco Bet Casino SK – Zázrak zábavy a šancí

Monaco Bet Casino SK – Ak hľadáte zábavný a vzrušujúci spôsob, ako stráviť voľný čas, Monaco Bet Casino SK je tým pravým miestom pre vás. Toto online kasíno ponúka široké spektrum hier, fantastické bonusy a vynikajúcu zákaznícku podporu. Nezabudnite si nárokovať svoj Monaco Bet Casino SK – Det officielle onlinecasino for danske spillere Monaco Bet

Monaco Bet Casino SK – Zázrak zábavy a šancí Read More »

Ice Casino SK 2026 – Nové funkcie a bonusy, ktoré zaujmú

Ice Casino SK 2026 – Nové funkcie a bonusy, ktoré zaujmú V dobe neustále sa rozvíjajúcej online hazardnej zábavy sa Ice Casino SK 2026 – Registrácia a bonusový promo kód Ice Casino SK-bonus sa stáva čoraz populárnejším miestom pre hráčov v Slovenskej republike. Rok 2026 prinesie mnohé novinky, na ktoré sa môžeme tešiť. V tomto

Ice Casino SK 2026 – Nové funkcie a bonusy, ktoré zaujmú Read More »

Etipos Casino SK 2026 – Nové trendy, hry a zábava online

Vitajte v Etipos Casino SK 2026 – Registrácia a bonusový promo kód Etipos Casino SK – zábavnom svete online hazardných hier, ktorý sa neustále vyvíja a prispôsobuje potrebám hráčov. Rok 2026 sa ukazuje ako prelomový pre online kasína na Slovensku, kde Etipos Casino vyniká inováciami a férovými hrami. V tejto článku sa pozrieme na trendy,

Etipos Casino SK 2026 – Nové trendy, hry a zábava online Read More »

FezBet Casino SK 2026 Revolúcia v online hazardných hrách

FezBet Casino SK 2026: Revolúcia v online hazardných hrách Online hazardné hry sú v súčasnosti na vzostupe a medzi novými platformami, ktoré sa dostávajú na trh, vyniká FezBet Casino SK 2026 – Registrering og bonus-promokode. Toto kasíno ponúka hráčom nielen širokú ponuku hier, ale aj atraktívne bonusy a akcie, ktoré robia zážitok z online hazardných

FezBet Casino SK 2026 Revolúcia v online hazardných hrách Read More »