/** * 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; } } tejasingale1106@gmail.com – Page 1093 – tejas-apartment.teson.xyz

tejasingale1106@gmail.com

Каберголин Эффект: Применение и Влияние на Организм

Каберголин — это медикамент, который используется преимущественно для лечения заболеваний, связанных с повышенной секрецией пролактина. Он относится к группе агонистов дофамина и, как правило, применяется при пролактиномах и других состояниях, вызванных гиперпролактинемией. Чтобы найти Каберголин заказать в Украине для Каберголин, просто посетите веб-сайт фармацевтической платформы в Украине. Как действует каберголин? Каберголин снижает уровень пролактина в […]

Каберголин Эффект: Применение и Влияние на Организм Read More »

Exploring Casino Websites Without GamStop -1359129933

Exploring Casino Websites Without GamStop If you’re looking for online gambling options that allow more freedom, casino websites without GamStop non GamStop casinos might be the solution for you. GamStop is a self-exclusion program that helps players control their gambling habits. However, some players find themselves wanting to explore options beyond the limitations imposed by

Exploring Casino Websites Without GamStop -1359129933 Read More »

Discovering Fresh New Casino Sites The Uncovered Options

Discovering Fresh New Casino Sites: The Uncovered Options In a rapidly evolving online gaming industry, players are always on the lookout for new casino sites that haven’t yet made it to the mainstream. With countless platforms emerging every day, it can be overwhelming to sift through the noise. Luckily, we’re here to guide you through

Discovering Fresh New Casino Sites The Uncovered Options Read More »

Exploring Online Casinos Not Registered with GamStop -1370981417

Exploring Online Casinos Not Registered with GamStop If you are looking for online gambling options that are not registered with GamStop, you may want to explore a range of online casino not registered with GamStop casinos exempt from GamStop which provide players with more flexibility and opportunities. In this article, we will delve into what

Exploring Online Casinos Not Registered with GamStop -1370981417 Read More »

Ο ρόλος των συμπληρωμάτων στη βελτιστοποίηση της απόδοσης στο bodybuilding: Τι είναι ένα στεροειδές και πώς δρα;

Το bodybuilding είναι μια απαιτητική αθλητική δραστηριότητα που απαιτεί συνέπεια, σκληρή δουλειά και σωστή διατροφή. Πολλοί αθλητές χρησιμοποιούν συμπληρώματα για να βελτιώσουν την απόδοσή τους και να επιτύχουν τους στόχους τους πιο αποτελεσματικά. Στο πλαίσιο αυτό, τα αναβολικά στεροειδή έχουν αποκτήσει μεγάλη δημοτικότητα, αλλά είναι σημαντικό να κατανοήσουμε ακριβώς τι είναι και πώς δραούν. Το

Ο ρόλος των συμπληρωμάτων στη βελτιστοποίηση της απόδοσης στο bodybuilding: Τι είναι ένα στεροειδές και πώς δρα; Read More »

Understanding the Basics of Gambling A Beginner's Guide

Understanding the Basics of Gambling A Beginner's Guide The Evolution of Gambling Gambling has a rich history that dates back thousands of years. The earliest evidence of gambling activities can be traced to ancient civilizations such as the Chinese, Egyptians, and Romans. Dice made from animal bones, known as “astragali,” were used in various games

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

Paynplay Kasiino litsentsid turvalisus ja vastutustundlik mängimine

Kas Paynplay kasiinod on Eestis tõesti turvalised? Paljud mängijad küsivad, kas konto registreerimise vahele jätmine tähendab väiksemat kontrolli. Tegelikkuses on olukord vastupidine, kuna Eesti Maksu- ja Tolliamet kehtestab väga ranged nõuded. Kui valid Paynplay Kasiino Eesti platvormi, siis veendu esmalt nende tegevusloa kehtivuses. See litsents on sinu kindlustus, et operaator vastab 1 miljoni euro suurusele

Paynplay Kasiino litsentsid turvalisus ja vastutustundlik mängimine Read More »

Casino-Etikette Die richtigen Verhaltensweisen für einen gelungenen Abend

Casino-Etikette Die richtigen Verhaltensweisen für einen gelungenen Abend Die Bedeutung von Casino-Etikette Die Casino-Etikette spielt eine entscheidende Rolle, um ein angenehmes Erlebnis für alle Spieler zu gewährleisten. In einem Casino, egal ob physisch oder online, ist das Verhalten der Gäste ein Spiegelbild der Kultur und des Respekts gegenüber anderen. Ein freundliches und respektvolles Auftreten schafft

Casino-Etikette Die richtigen Verhaltensweisen für einen gelungenen Abend Read More »