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

Public

Тарихи жол Азартты ойындардың эволюциясы PinUp

Тарихи жол Азартты ойындардың эволюциясы PinUp Азартты ойындардың тарихы Азартты ойындардың тарихы мыңдаған жылдарға созылып, адамдардың әлеуметтік және мәдени өмірінде маңызды рөл атқарды. Ертеде, азартты ойындар аңшылардың арасындағы бәсекелер мен әскери ойындар ретінде пайда болды. Мысалы, байырғы Рим мен Грекиядағы ойындарда бәс тігу элементтері байқалды. Осылайша, азартты ойындар адамзат қоғамының бір бөлігіне айналды. Уақыт өте […]

Тарихи жол Азартты ойындардың эволюциясы PinUp Read More »

Лучшие игры в казино, которые стоит попробовать прямо сейчас

Лучшие игры в казино, которые стоит попробовать прямо сейчас Популярные игровые автоматы Игровые автоматы остаются наиболее популярными среди любителей азартных игр благодаря своей простоте и разнообразию. Они предлагают игрокам множество тем и сюжетов, от классических фруктов до современных видео-слотов с захватывающими бонусными играми. Каждый автомат имеет уникальные механики и возможности выигрыша, что делает их привлекательными

Лучшие игры в казино, которые стоит попробовать прямо сейчас Read More »

Qazanc əldə etmək üçün Pinco casino ilə strategiya

Qazanc əldə etmək üçün Pinco casino ilə strategiya Pinco casino-nun üstünlükləri Onlayn qumar dünyasında tanınmış bir platformadır, həmçinin Pinco casino Azerbaycan müasir dizaynı, geniş oyun seçimi və istifadəçi dostu interfeysi ilə diqqəti cəlb edir. İstifadəçilər, burada slot oyunlarından tutmuş, canlı diler oyunlarına qədər bir çox variant tapa bilərlər. Bu, casino-nun digər kazinolardan ayıran xüsusiyyətlərindən biridir.

Qazanc əldə etmək üçün Pinco casino ilə strategiya Read More »

Как выиграть в казино стратегии от 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 »