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

Public

Descubre los juegos de azar más populares una guía completa

Descubre los juegos de azar más populares una guía completa La historia y evolución de los juegos de azar Los juegos de azar tienen una rica historia que se remonta a miles de años. Desde las antiguas civilizaciones de Egipto y Roma, hasta las apuestas en eventos deportivos, la práctica de jugar con suerte ha […]

Descubre los juegos de azar más populares una guía completa Read More »

Guía avanzada para dominar los casinos y maximizar tus ganancias

Guía avanzada para dominar los casinos y maximizar tus ganancias Entendiendo el funcionamiento de los casinos Para dominar un casino, es esencial comprender su funcionamiento interno. Los casinos están diseñados para que, a largo plazo, la casa siempre gane. Este principio se conoce como “ventaja de la casa”, que varía según el juego. Por ejemplo,

Guía avanzada para dominar los casinos y maximizar tus ganancias Read More »

Online oder offline Wo gewinnen Spieler wirklich mehr

Online oder offline Wo gewinnen Spieler wirklich mehr Der Reiz des Online-Glücksspiels Online-Casinos haben in den letzten Jahren enorm an Popularität gewonnen. Die Möglichkeit, von zu Hause aus zu spielen, ohne die Annehmlichkeiten eines physischen Casinos aufsuchen zu müssen, bietet für viele Spieler einen besonderen Reiz. Die Auswahl an Spielen ist im Internet oft viel

Online oder offline Wo gewinnen Spieler wirklich mehr Read More »

Understanding popular gambling games A comprehensive guide to winning strategies

Understanding popular gambling games A comprehensive guide to winning strategies Introduction to Gambling Games Gambling has been a popular form of entertainment for centuries, captivating players with the thrill of chance and the potential for financial gain. The landscape of gambling games varies widely, encompassing everything from traditional card games to modern slot machines and

Understanding popular gambling games A comprehensive guide to winning strategies Read More »

Discover the Ultimate Casino Experience with ice fishing

Discover the Ultimate Casino Experience with ice fishing Understanding Ice Fishing Casino Games Ice fishing casino games offer a unique blend of traditional gambling and the excitement of a winter-themed environment. Unlike typical casino games, they incorporate elements that mimic the experience of ice fishing, where players can reel in rewards alongside ice fishing the

Discover the Ultimate Casino Experience with ice fishing Read More »

Geloven Nederlanders in geluk bij gokken

Geloven Nederlanders in geluk bij gokken De culturele overtuiging van geluk bij gokken In Nederland is het idee van geluk een belangrijk aspect van de gokcultuur. Veel Nederlanders geloven dat geluk een cruciale rol speelt bij het winnen van spellen of weddenschappen. Dit geloof is diepgeworteld in de Nederlandse samenleving en wordt vaak versterkt door

Geloven Nederlanders in geluk bij gokken Read More »

Schritt für Schritt zum erfolgreichen Glücksspiel So meistern Sie das Spiel

Schritt für Schritt zum erfolgreichen Glücksspiel So meistern Sie das Spiel Die Grundlagen des Glücksspiels verstehen Um erfolgreich im Glücksspiel zu sein, ist es entscheidend, die Grundlagen des Spiels zu verstehen. Dazu gehört, sich mit den verschiedenen Spieltypen vertraut zu machen, wie Spielautomaten, Tischspiele oder Live-Dealer-Spiele. Ein hervorragendes Beispiel für eine Plattform, die diese Vielfalt

Schritt für Schritt zum erfolgreichen Glücksspiel So meistern Sie das Spiel Read More »

Mastering casino games A step-by-step guide to success

Mastering casino games A step-by-step guide to success Understanding the Basics of Casino Games Before diving into the world of casino games, it’s essential to understand the basics. Most casino games can be categorized into three main types: table games, slot machines, and live dealer games. Table games include classics like poker, blackjack, and roulette,

Mastering casino games A step-by-step guide to success Read More »

Volledig overzicht van spellen in het casino ontdek alles wat je moet weten

Volledig overzicht van spellen in het casino ontdek alles wat je moet weten Inleiding tot casino spellen Casino spellen zijn een essentieel onderdeel van de gokcultuur en bieden een verscheidenheid aan opties voor zowel beginners als ervaren spelers. Van traditionele tafelspellen zoals blackjack en roulette tot moderne gokkasten, zoals slotspellen kaasino, en live dealer spellen,

Volledig overzicht van spellen in het casino ontdek alles wat je moet weten Read More »

Mastering casino games A step-by-step guide to winning strategies

Mastering casino games A step-by-step guide to winning strategies Understanding the Basics of Casino Games Casino games can seem overwhelming at first glance, but they generally follow simple principles that can be easily understood. Popular games such as blackjack, poker, and roulette each have their own set of rules and strategies that players can leverage

Mastering casino games A step-by-step guide to winning strategies Read More »