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

Uncategorized

Magical Vegas Login: Your Step-by-Step Guide to Accessing Fun

Welcome to the enchanting world of online gaming at Magical Vegas! If you’re ready to try your luck and enjoy thrilling games, the first step is to complete your Magical Vegas Login process. You can start your journey by visiting https://magicalvegascasino-online.com/login/ and securing your account. Let’s dive into the details and ensure you’re fully prepared […]

Magical Vegas Login: Your Step-by-Step Guide to Accessing Fun Read More »

Top Strategies for Nyspins Registration Success

In today’s digital landscape, online https://nyspinscasino-online.com/registration/ gaming has gained immense popularity, offering players an engaging experience. If you’re considering joining a platform, the Nyspins registration process is your first step toward an exciting gaming journey. For those new to online casinos, understanding the registration process will significantly enhance your experience, making it easier to navigate

Top Strategies for Nyspins Registration Success Read More »

Discover the Benefits of Love Registration Today

In today’s digital landscape, finding meaningful connections can be challenging. One solution that many people are turning to is love registration, a service designed to help individuals find their perfect match. With platforms like https://lovecasinos-online.com/registration/, users can easily create profiles to start their journey towards love and companionship. This article will explore the myriad benefits

Discover the Benefits of Love Registration Today Read More »

Success Stories from Neptune Play Casino: Winners and Wonders

In the exciting world of online gaming, success stories abound, and one platform that stands out is Neptune Play Casino. This casino has not only provided entertainment but has also created numerous remarkable tales of triumph. Each story adds to the tapestry of thrilling experiences that make up its reputation. Incredible Wins at Neptune Play

Success Stories from Neptune Play Casino: Winners and Wonders Read More »

Top Strategies for Karamba Login Success

In today’s digital age, online gaming has become increasingly popular, and managing your account effectively is crucial. For those looking to access their gaming experience seamlessly, understanding the Karamba Login process is essential. This article explores top strategies to enhance your login experience and ensure secure access. Essential Steps for Karamba Login To begin with,

Top Strategies for Karamba Login Success Read More »

Çoxlu_uduşlar_vəd_edən_Pinco_casino_az_platformasında_Olimpin_qədim_tanrı

Çoxlu uduşlar vəd edən Pinco casino az platformasında Olimpin qədim tanrıları ilə tanış olun Gates of Olympus 1000: Zevsin Əzəmətli Dünyası Kaskadlı Düşmə Mexanikası və Multiplikatorlar Pinco Casino Az-da Bonuslar və Təkliflər Bonus Şərtləri və İstifadəsi Pinco Casino Az-da Təhlükəsizlik və Ödəniş Üsulları Müxtəlif Ödəniş Seçimləri Pinco Casino Az-da Mobil Oyunçuluq İmkanları Pinco Casino Az:

Çoxlu_uduşlar_vəd_edən_Pinco_casino_az_platformasında_Olimpin_qədim_tanrı Read More »

Top Strategies for Winning at Rolletto Casino

Online gaming has surged in popularity, with numerous platforms catering to players’ diverse preferences. Among these, Rolletto Casino stands out for its engaging offerings and user-friendly interface. Understanding effective strategies can enhance your gaming experience and potentially increase your winnings. Winning Strategies at Rolletto Casino When it comes to maximizing your success at Rolletto Casino,

Top Strategies for Winning at Rolletto Casino Read More »

Complete Overview of Pub Casino: Your Ultimate Guide

As the world of online gaming continues to expand, platforms like Pub Casino are gaining popularity among players seeking diverse entertainment. This platform combines the thrill of traditional casinos with the convenience of online gaming. In this article, we will provide a complete overview of what Pub Casino has to offer. Exploring the Features of

Complete Overview of Pub Casino: Your Ultimate Guide Read More »

Discover the New Funclub Casino Welcome Bonus Today

Are you looking for a thrilling online gaming experience? The New Funclub Casino has recently introduced an enticing welcome bonus that can significantly enhance your playtime. By checking out https://newfunclubcasino-online.com/welcome-bonus/, you can learn more about this offer. With interesting features and benefits, this bonus is perfect for both new and experienced players. Exploring the New

Discover the New Funclub Casino Welcome Bonus Today Read More »

Искушение_азарта_и_олимп_казино_скачать_поч

Искушение азарта и олимп казино скачать – почувствуйте адреналин выигрышных комбинаций и захватывающих игр Погружение в мир The Dog House Megaways: особенности и механика игры Стратегии игры в The Dog House Megaways: повышение шансов на успех Преимущества скачивания Olimp Casino: удобство и доступность Бонусы и акции Olimp Casino: увеличение шансов на выигрыш Мобильная версия Olimp

Искушение_азарта_и_олимп_казино_скачать_поч Read More »