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

Public

Gode tips til at maksimere din casinooplevelse

Gode tips til at maksimere din casinooplevelse Forstå grundlæggende casino begreber At dykke ind i casinoverdenen kan være overvældende, især hvis man er nybegynder. Det er derfor vigtigt at forstå nogle grundlæggende begreber som indsats, udbetaling og RTP (Return to Player). Ved at vide, hvad disse termer betyder, kan du træffe mere informerede beslutninger. For […]

Gode tips til at maksimere din casinooplevelse Read More »

Gamblingul o explorare completă a lumii jocurilor de noroc

Gamblingul o explorare completă a lumii jocurilor de noroc Istoria jocurilor de noroc Jocurile de noroc au o istorie bogată și fascinantă, având rădăcini adânci în civilizațiile antice. Primele dovezi ale jocurilor de noroc datează din perioada Chinei antice, unde se jucau diverse forme de zaruri. De-a lungul timpului, aceste activități s-au extins în alte

Gamblingul o explorare completă a lumii jocurilor de noroc Read More »

Zagłęb się w świat zaawansowanego hazardu kompleksowy przewodnik po strategiach gry

Zagłęb się w świat zaawansowanego hazardu kompleksowy przewodnik po strategiach gry Wprowadzenie do zaawansowanego hazardu Zaawansowany hazard to nie tylko przypadek, ale również strategia, umiejętności oraz psychologia gracza. Zrozumienie tych elementów jest kluczowe dla osiągnięcia sukcesu w grach kasynowych. W dzisiejszych czasach, gdy kasyna online zyskują na popularności, umiejętne podejście do hazardu staje się jeszcze

Zagłęb się w świat zaawansowanego hazardu kompleksowy przewodnik po strategiach gry Read More »

Қаржыны басқару ойындарда пайдалы стратегияларды қалай құруға болады

Қаржыны басқару ойындарда пайдалы стратегияларды қалай құруға болады Ойындарда қаржыны басқарудың маңызы Ойындарда қаржыны басқару — бұл кез келген ойыншы үшін табысқа жетудің негізгі факторы. Ойыншылар ақша салуға және оны тиімді пайдалануға деген қабілеттерін дамытуы қажет. Ақшаңызды дұрыс басқармау салдарынан ойын барысында үлкен шығындарға ұшырау мүмкіндігі жоғары. Сондықтан, ойыншылар қаржылық стратегияларды алдын ала ойластыруы керек,

Қаржыны басқару ойындарда пайдалы стратегияларды қалай құруға болады Read More »

Guida completa per esplorare il mondo dei casinò online

Guida completa per esplorare il mondo dei casinò online Cosa sono i casinò online? I casinò online rappresentano una rivoluzione nel mondo del gioco d’azzardo, permettendo agli utenti di divertirsi e vincere premi da qualsiasi luogo e in qualsiasi momento. Queste piattaforme virtuali offrono una vasta gamma di giochi, dai classici come la roulette e

Guida completa per esplorare il mondo dei casinò online Read More »

Racconti ad alta scommessa storie di fortuna e rischio nei casinò italiani

Racconti ad alta scommessa storie di fortuna e rischio nei casinò italiani Il fascino dei casinò italiani I casinò italiani sono noti per la loro eleganza e l’atmosfera vivace che offrono. Ogni città con una sala da gioco porta con sé una storia, un’eredità culturale che si intreccia con la tradizione del gioco d’azzardo. Dalle

Racconti ad alta scommessa storie di fortuna e rischio nei casinò italiani Read More »

Fejlett stratégiák a kaszinójátékokhoz hogyan növelhetjük nyerési esélyeinket

Fejlett stratégiák a kaszinójátékokhoz hogyan növelhetjük nyerési esélyeinket Stratégiai tervezés a kaszinójátékokban A kaszinójátékokban való részvétel során a véletlen mellett a stratégiai tervezés is fontos szerepet játszik. A játékosoknak érdemes alaposan megérteniük a különböző játékok szabályait és esélyeit, hogy jobban tudják irányítani a pénzüket és a játékélményüket. Például a blackjackben a lapok értéke és a

Fejlett stratégiák a kaszinójátékokhoz hogyan növelhetjük nyerési esélyeinket Read More »

Syvälliset strategiat kasinopelien voittamiseen

Syvälliset strategiat kasinopelien voittamiseen Ymmärrä pelien todennäköisyydet Ennen kuin sukellat kasinopelien maailmaan, on tärkeää ymmärtää pelien todennäköisyydet. Kasinopelit perustuvat matematiikkaan, ja jokaisella pelillä on oma voittoprosenttinsa, joka määrittää pelaajan mahdollisuudet voittaa. Esimerkiksi kolikkopeleissä voittamisen todennäköisyys vaihtelee pelistä toiseen, ja tämä kannattaa ottaa huomioon. Tutkimalla eri pelien palautusprosentteja voit tehdä tietoon perustuvia päätöksiä, mikä voi parantaa

Syvälliset strategiat kasinopelien voittamiseen Read More »

Kasinopelaamisen talouden hallinnan tehokkaat strategiat

Kasinopelaamisen talouden hallinnan tehokkaat strategiat Pelaamisen budjetointi Kasinopelaamisen budjetointi on keskeinen osa talouden hallintaa. Ennen pelaamista on tärkeää määrittää, kuinka paljon rahaa on valmis käyttämään. Tämä auttaa välttämään yllättäviä taloudellisia menetyksiä. Kun pelaaja asettaa itselleen tiukat rajat, hän voi nauttia pelaamisesta ilman stressiä siitä, kuinka paljon rahaa on käytettävissä. Jos haluat tutustua lisää, voit käydä

Kasinopelaamisen talouden hallinnan tehokkaat strategiat Read More »

Maximize your wins with essential gambling tips and tricks

Maximize your wins with essential gambling tips and tricks Understanding the Basics of Gambling Before diving into specific strategies, it’s vital to grasp the foundational principles of gambling. Knowledge of the games you are playing, be it slots, poker, or sports betting, can significantly influence your outcomes. Each game has its unique rules, odds, and

Maximize your wins with essential gambling tips and tricks Read More »