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

Public

Как выиграть в казино стратегии от Pinco для успеха

Как выиграть в казино стратегии от Pinco для успеха Понимание основ азартных игр Прежде чем начать игру в казино, важно понять основные принципы азартных игр. Каждая игра, будь то слоты, покер или рулетка, имеет свои уникальные правила и стратегии. Ознакомление с механикой игр может значительно повысить ваши шансы на успех. Не менее важным аспектом является […]

Как выиграть в казино стратегии от Pinco для успеха Read More »

Этикет в казино как вести себя правильно и избежать неловких моментов с Pinco casino

Этикет в казино как вести себя правильно и избежать неловких моментов с Pinco casino Основы поведения в казино Этикет в казино играет важную роль, так как это не только место для азартных игр, но и пространство, где общение между игроками и персоналом имеет свои правила. Прежде всего, важно сохранять уважение к другим игрокам и работникам

Этикет в казино как вести себя правильно и избежать неловких моментов с Pinco casino Read More »

The evolution of casinos tracing their historical journey through time

The evolution of casinos tracing their historical journey through time The Origins of Gambling The history of casinos can be traced back to ancient civilizations, where gambling was often a part of daily life. The earliest evidence of gambling dates back to around 3000 BC in China, where tiles were discovered that resembled a rudimentary

The evolution of casinos tracing their historical journey through time Read More »

Значение азартных игр в культуре как игры формируют общественные традиции mostbet

Значение азартных игр в культуре как игры формируют общественные традиции mostbet Исторические корни азартных игр Азартные игры имеют глубокие исторические корни и были частью человеческой культуры на протяжении тысячелетий. В разных странах и цивилизациях они принимали различные формы, от простых бросаний костей до сложных карточных игр. Каждая культура привносила в азартные игры свои особенности, что

Значение азартных игр в культуре как игры формируют общественные традиции mostbet Read More »

Mashhur qimor o'yinchilarining hikoyalari qanday muvaffaqiyatga erishish mumkin

Mashhur qimor o'yinchilarining hikoyalari qanday muvaffaqiyatga erishish mumkin Qimor o’yinlarining psixologiyasi Qimor o’yinlari inson psixologiyasiga ta’sir etuvchi kuchli omillardandir. O’yinchilar ko’pincha omadlilik va muvaffaqiyat uchun harakat qilishadi. Biroq, ba’zida ular shunchaki o’zlariga ishonch hosil qilish va qiziqishlarini qondirish uchun o’yinlarga kirishadilar. Har bir qimor o’yinchisi o’z muvaffaqiyatini ta’minlash uchun ma’lum psixologik strategiyalarni qo’llaydi, masalan, o’z

Mashhur qimor o'yinchilarining hikoyalari qanday muvaffaqiyatga erishish mumkin Read More »

Kazinolar haqqında ən yayılmış miflər və gerçəkliklər pin-up casino

Kazinolar haqqında ən yayılmış miflər və gerçəkliklər pin-up casino Kazinoların yalnız varlı insanlar üçün olduğu mifləri Kazinoların yalnız varlı insanlar tərəfindən ziyarət edildiyi düşüncəsi geniş yayılmışdır. Lakin bu, tamamilə doğru deyil. Müasir kazinolar, o cümlədən pin up casino, müxtəlif büdcələrə uyğun olan oyun imkanları təqdim edir. Hər kəs öz imkanlarına uyğun bir oyun seçə bilər,

Kazinolar haqqında ən yayılmış miflər və gerçəkliklər pin-up casino Read More »

Qumar oyunlarının psixologiyası Zəhmi artıran səbəblər nədir

Qumar oyunlarının psixologiyası Zəhmi artıran səbəblər nədir Qumar oyunlarının psixologiyası Qumar oyunları, insanların zəhmətə, riskə və mükafata olan marağını əks etdirir. Bu oyunlar, iştirakçıların psixoloji vəziyyətini formalaşdıraraq onların davranışlarını yönəldir. Oyunların tərkibindəki mükafatlar, insanlar arasında həyəcan və stimullaşdırma hissi yaradır. Bu, mükafatların alınmasına olan arzunu artırır və zamanla asılılığa gətirib çıxara bilər. Məsələn, istifadəçilər pin

Qumar oyunlarının psixologiyası Zəhmi artıran səbəblər nədir Read More »

Gambling icmalarının sosial aspektləri Birlik və dostluq yaratmaq yolları

Gambling icmalarının sosial aspektləri Birlik və dostluq yaratmaq yolları Gambling icmaları və sosial mühit Gambling icmaları, insanların bir araya gəldiyi və müxtəlif oyunlar oynadığı mühitlərdir. Bu icmalar, dostluq və əməkdaşlıq ruhunu təşviq edir. İnsanlar bir-biri ilə tanış olur, eyni maraqları paylaşır və pinup kimi platformalar vasitəsilə daha da yaxınlaşa bilərlər, bu da dostluq əlaqələrinin inkişafına

Gambling icmalarının sosial aspektləri Birlik və dostluq yaratmaq yolları Read More »

Przewidywane trendy w kasynach na rok co warto wiedzieć

Przewidywane trendy w kasynach na rok co warto wiedzieć Innowacje technologiczne w kasynach Rok 2023 przynosi szereg innowacji technologicznych, które zmieniają oblicze kasyn na całym świecie. Wzrost popularności wirtualnej rzeczywistości oraz rozszerzonej rzeczywistości sprawia, że gracze mogą doświadczyć bardziej immersyjnego środowiska gier. Dzięki nowoczesnym headsetom VR, gra w kasynie staje się bardziej atrakcyjna, a użytkownicy

Przewidywane trendy w kasynach na rok co warto wiedzieć Read More »

Online versus offline gambling Which offers the better experience

Online versus offline gambling Which offers the better experience The Convenience of Online Gambling Online gambling has revolutionized the way players engage with their favorite games. One of the most significant advantages is the convenience it offers. Players can access a wide variety of games from the comfort of their own homes, eliminating the need

Online versus offline gambling Which offers the better experience Read More »