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

news

Mostbet официальный сайт Мостбет букмекерская контора и казино.6580

Mostbet официальный сайт | Мостбет букмекерская контора и казино ▶️ ИГРАТЬ Содержимое Мостбет – официальный сайт букмекерской конторы и казино Описание и функции Mostbet Мостбет вход Преимущества и условия для игроков Mostbet Условия для игроков Если вы ищете надежный и проверенный букмекер, который предлагает широкий спектр ставок и игровых автоматов, то вам нужно обратить внимание […]

Mostbet официальный сайт Мостбет букмекерская контора и казино.6580 Read More »

Yard полный гид по функциям и возможностям онлайн-казино.4468

Казино Yard – полный гид по функциям и возможностям онлайн-казино ▶️ ИГРАТЬ Содержимое Основные функции онлайн-казино Виды игр Возможности для игроков Безопасность и поддержка в Казино Yard Шифрование данных Техническая поддержка Если вы ищете надежное онлайн-казино, где можно играть в любимые игры и получать реальные выигрыши, то вы пришли к правильному адресу. В этом обзоре

Yard полный гид по функциям и возможностям онлайн-казино.4468 Read More »

Yard полный гид по функциям и возможностям онлайн-казино.5195

Казино Yard – полный гид по функциям и возможностям онлайн-казино ▶️ ИГРАТЬ Содержимое Основные функции онлайн-казино Если вы ищете надежное онлайн-казино, где можно играть в любимые игры и получать реальные выигрыши, то вы пришли к правильному адресу. В этом обзоре мы рассмотрим функции и возможности онлайн-казино Yard, чтобы помочь вам сделать правильный выбор. Казино Yard

Yard полный гид по функциям и возможностям онлайн-казино.5195 Read More »

NVCasino jak gra w kasynie online krok po kroku.1797

NVCasino – jak grać w kasynie online krok po kroku ▶️ GRAĆ Содержимое Zakładanie konta i wypłata w NVCasino Witryny kasynowe i ich cechy Jeśli szukasz sposobu, aby grać w kasynie online, to jesteś w odpowiednim miejscu. NVCasino to jeden z najlepszych dostępnych opcji, które oferują możliwość gry w kasynie online. W tym artykule przedstawimy

NVCasino jak gra w kasynie online krok po kroku.1797 Read More »

NVCasino jak gra w kasynie online krok po kroku.1797

NVCasino – jak grać w kasynie online krok po kroku ▶️ GRAĆ Содержимое Zakładanie konta i wypłata w NVCasino Witryny kasynowe i ich cechy Jeśli szukasz sposobu, aby grać w kasynie online, to jesteś w odpowiednim miejscu. NVCasino to jeden z najlepszych dostępnych opcji, które oferują możliwość gry w kasynie online. W tym artykule przedstawimy

NVCasino jak gra w kasynie online krok po kroku.1797 Read More »

NV Casino peny przewodnik po grze w kasynie online.1020

NV Casino – pełny przewodnik po grze w kasynie online ▶️ GRAĆ Содержимое NV Casino: Pełny Przewodnik po Grze w Kasynie Online Wskazówki dla nowych graczy Zasady i Reguły Gry w Kasynie Online Zabezpieczenia i Uwagi dotyczące Bezpieczeństwa Jeśli szukasz sposobu, aby grać w kasyno online, NV Casino jest idealnym wyborem. W tym przewodniku przedstawimy

NV Casino peny przewodnik po grze w kasynie online.1020 Read More »

Mostbet букмекерская контора и казино онлайн Мостбет.9822

Mostbet букмекерская контора и казино онлайн Мостбет ▶️ ИГРАТЬ Содержимое Мостбет: надежная букмекерская контора и онлайн-казино Почему выбрать Мостбет? Преимущества работы с Мостбет Удобство доступа Если вы ищете надежную букмекерскую контору и казино онлайн, то вам стоит обратить внимание на Мостбет. Это одна из лучших букмекерских контор в мире, которая предлагает широкий спектр услуг и

Mostbet букмекерская контора и казино онлайн Мостбет.9822 Read More »

Malina Kasyno Polska Mobilna wersja platformy i gra na smartfonach.197

Malina Kasyno Polska – Mobilna wersja platformy i gra na smartfonach ▶️ GRAĆ Содержимое Nowa generacja hazardu w Polsce Wygodne korzystanie z kasyna na smartfonie Wygodne korzystanie z kasyna Malina Casino Jeśli szukasz sposobu, aby grać w kasyno online z komfortu swojego domu, Malina Kasyno Polska jest idealnym rozwiązaniem. Ta mobilna wersja platformy umożliwia grę

Malina Kasyno Polska Mobilna wersja platformy i gra na smartfonach.197 Read More »

Mostbet AZ – bukmeker ve kazino Mostbet Giri rsmi sayt.25548 (3)

Mostbet AZ – bukmeker ve kazino Mostbet – Giriş rəsmi sayt ▶️ OYNA Содержимое Mostbet AZ rəsmi saytı təhlili: Qarşınıqda və təchizatı Mostbet AZ: Qazanma şansını artırın – Qeydiyyat və daxil olma prosesini Mostbet AZ – bukmeker və kazino şirkətinin Azerbaycan üçün hazırladığı rəsmi sayt. Mostbet adlı bukmeker və kazino şirkəti, dünya çapında populyar və

Mostbet AZ – bukmeker ve kazino Mostbet Giri rsmi sayt.25548 (3) Read More »

Casino Mostbet Azrbaycan.1905 (2)

Casino Mostbet Azərbaycan ▶️ OYNA Содержимое Qazancınız Üçün Ideal Qeyd Qaydalar və xidmətlər mostbet Azerbaycan – bu en yaxşı və en güvenilən qızıl qalıq və kazino saytıdır. Mostbet.com və mostbet.az saytları, Azerbaycanın mütəxəssislərinə uyğunlaşdırılmış və təhlükəsizdir. Mostbet Azerbaycan saytında qeydiyyat prosesinin ən kolay və sürətli olmasına əsaslanaraq, mütəxəssislər ən yaxşı oyunları təqdim edir. Mostbet Azerbaycan

Casino Mostbet Azrbaycan.1905 (2) Read More »