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

Public

Strategiyaların təsiri Pin Up kazinolarında nəyi bilmək lazımdır

Strategiyaların təsiri Pin Up kazinolarında nəyi bilmək lazımdır Pin Up kazinolarında strategiyaların rolu Pin Up kazinolarında oyun strategiyalarının tətbiqi, oyunçuların şansını artırmaq üçün çox önəmlidir. Oyunçuların müvəffəqiyyəti, yalnız şansa deyil, həm də düzgün strategiyaların seçilməsinə bağlıdır. Məsələn, poker kimi kart oyunlarında, oyunçuların digər iştirakçılara qarşı strateji düşünmə qabiliyyəti mütləqdir. Əlavə olaraq, bu platformada müasir oyunlar […]

Strategiyaların təsiri Pin Up kazinolarında nəyi bilmək lazımdır Read More »

Мифы о азартных играх что на самом деле скрывается за неправильными представлениями о 1xBet casino

Мифы о азартных играх что на самом деле скрывается за неправильными представлениями о 1xBet casino Ошибочное мнение о том, что азартные игры — это чистый случай Одним из самых распространённых мифов об азартных играх является убеждение, что все игры основаны исключительно на удаче. Хотя элементы случайности действительно присутствуют в большинстве азартных игр, существует множество стратегий

Мифы о азартных играх что на самом деле скрывается за неправильными представлениями о 1xBet casino Read More »

Online və offline qumar Hansı seçim sizin üçün daha sərfəlidir Pin Up

Online və offline qumar Hansı seçim sizin üçün daha sərfəlidir Pin Up Online qumarın üstünlükləri Online qumar, müasir texnologiyanın gətirdiyi yeniliklərlə doludur. İstifadəçilər istədikləri zaman və məkandan asanlıqla oyun oynaya bilirlər. Məsələn, Pin Up Casino-da 3000-dən çox müxtəlif oyun variantı mövcuddur ki, bu da oyunçulara geniş seçim imkanı təqdim edir. Online kazinolar, istənilən yerden mobil

Online və offline qumar Hansı seçim sizin üçün daha sərfəlidir Pin Up Read More »

Высокие ставки в казино секреты успешной игры от plinko

Высокие ставки в казино секреты успешной игры от plinko Что такое Plinko и как он работает Plinko – это популярная азартная игра, которая завоевала сердца многих игроков благодаря своей простоте и захватывающему процессу. В игре используется доска с рядами штырьков, по которой игроки запускают диск. Цель заключается в том, чтобы диск попал в одну из

Высокие ставки в казино секреты успешной игры от plinko Read More »

Online of offline waar speel je het beste casinospel

Online of offline waar speel je het beste casinospel De voordelen van online casinospellen Online casinospellen bieden een ongeëvenaarde flexibiliteit voor spelers. Je kunt vanuit het comfort van je eigen huis spelen, zonder dat je je hoeft te verplaatsen naar een fysiek casino. Dit betekent dat je op elk moment van de dag of nacht

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

Understanding the Basics of Gambling A Beginner's Guide

Understanding the Basics of Gambling A Beginner's Guide What is Gambling? Gambling is the act of risking something of value on an event with an uncertain outcome, primarily to win additional money or material goods. This activity has been part of human culture for centuries, evolving from simple dice games and betting on sporting events

Understanding the Basics of Gambling A Beginner's Guide Read More »

Transforming gaming How technology reshapes the casino experience

Transforming gaming How technology reshapes the casino experience The Rise of Online Casinos The landscape of gambling has undergone a significant transformation with the advent of online casinos. Players now enjoy the convenience of accessing their favorite games from the comfort of their homes or on-the-go via mobile devices. This shift not only allows for

Transforming gaming How technology reshapes the casino experience Read More »

Vedonlyönnin historia Miten rahapelit ovat kehittyneet aikojen saatossa

Vedonlyönnin historia Miten rahapelit ovat kehittyneet aikojen saatossa Rahapelaamisen varhaisvaiheet Rahapelaamisen juuret ulottuvat kauas historiaan, ja sen alkuperä voidaan jäljittää muinaisiin sivilisaatioihin, kuten Mesopotamiaan ja Egyptiin. Nämä kulttuurit käyttivät erilaisia pelimuotoja, kuten noppapelejä ja arpoja, joilla oli yhteys uskontoonsa ja rituaaleihinsa. Pelit eivät olleet vain viihdettä, vaan ne toimivat myös sosiaalisen kanssakäymisen välineenä, joka vahvisti

Vedonlyönnin historia Miten rahapelit ovat kehittyneet aikojen saatossa Read More »

O'yinlarning ruhiy salomatlikka ta'siri mostbet uchun maqola

O'yinlarning ruhiy salomatlikka ta'siri mostbet uchun maqola O’yinlarning ruhiy salomatlikka ijobiy ta’siri O’yinlar inson ruhiy salomatligiga bir qancha ijobiy ta’sirlar ko’rsatishi mumkin. Ular, avvalo, stressni kamaytirishga yordam beradi. O’yin o’ynash jarayonida, inson o’z muammolaridan vaqtincha qochishi va yangi bir dunyoga kirishi mumkin. Bu, o’z navbatida, ruhiy tushkunlik yoki xavotirlarni engillashtiradi. Ko’p odamlar mostbet skachat qilish

O'yinlarning ruhiy salomatlikka ta'siri mostbet uchun maqola Read More »