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

Public

Online və offline qumarın fərqləri Hansı daha üstün

Online və offline qumarın fərqləri Hansı daha üstün Online qumarın üstünlükləri Online qumar, müasir texnologiyanın inkişafı ilə daha da populyarlaşmışdır. İnternet üzərindən qumar oynama imkanı, istifadəçilərə istədikləri zaman, istədikləri yerdən oyuna daxil olmaq imkanı verir. Mobil cihazların geniş istifadə olunması, onlayn oyunların rahatlığını artırır və insanların evdən çıxmadan qumar oynamağa imkan tanıyır. Bu cür qumar […]

Online və offline qumarın fərqləri Hansı daha üstün Read More »

Consejos esenciales de juego responsable en 3 Reyes casino

Consejos esenciales de juego responsable en 3 Reyes casino La importancia del juego responsable El juego responsable es fundamental para garantizar que la experiencia de entretenimiento en un casino, como el 3 Reyes casino, sea segura y disfrutable. Adoptar actitudes responsables ayuda a los jugadores a disfrutar de los juegos sin que estos interfieran con

Consejos esenciales de juego responsable en 3 Reyes casino Read More »

Consejos financieros para gestionar tus apuestas de manera efectiva

Consejos financieros para gestionar tus apuestas de manera efectiva Conoce tu presupuesto antes de jugar Antes de comenzar a realizar apuestas, es fundamental establecer un presupuesto claro y definido. Determina la cantidad de dinero que estás dispuesto a invertir y, sobre todo, la que puedes permitirte perder. Este enfoque te ayudará a evitar caer en

Consejos financieros para gestionar tus apuestas de manera efectiva Read More »

Regulaciones legales en casinos lo que mi casino necesita saber a nivel mundial

Regulaciones legales en casinos lo que mi casino necesita saber a nivel mundial Introducción a las regulaciones legales en casinos Las regulaciones legales en casinos son fundamentales para garantizar un funcionamiento seguro y transparente de estas entidades en todo el mundo. Cada país establece su propio marco normativo que regula la operación de juegos de

Regulaciones legales en casinos lo que mi casino necesita saber a nivel mundial Read More »

The social implications of gambling in modern society what you need to know about Fortune Tiger

The social implications of gambling in modern society what you need to know about Fortune Tiger Understanding Gambling in Contemporary Culture The evolution of gambling from traditional establishments to digital platforms has significantly shaped modern society. The rise of online casinos and mobile apps has made gambling more accessible than ever, leading to a surge

The social implications of gambling in modern society what you need to know about Fortune Tiger Read More »

История казино какие тайны скрывают игровые залы Pinco casino

История казино какие тайны скрывают игровые залы Pinco casino История казино: от классики к современности История казино уходит корнями в далекое прошлое, начиная с древних времен, когда азартные игры практиковались в различных культурах. Первые упоминания о казино появились в Европе в XVI веке, когда азартные игры стали популярными среди знати. Со временем казино эволюционировали, и

История казино какие тайны скрывают игровые залы Pinco casino Read More »

Онлайн казино мен жердегі казиноның арасындағы айырмашылықтар Pin Up таңдаудың маңызды себептері

Онлайн казино мен жердегі казиноның арасындағы айырмашылықтар Pin Up таңдаудың маңызды себептері Онлайн казиноның артықшылықтары Онлайн казино ойыншыларға көптеген артықшылықтар ұсынады. Біріншіден, ойыншыларға кез келген уақытта және кез келген жерде ойнау мүмкіндігі беріледі. Сіз үйде отырып, немесе жолда болғанда, мобильді құрылғылар арқылы ойындарды ойната аласыз. Pin-Up kz вход на официальный сайт Казахстан — бұл ыңғайлылық

Онлайн казино мен жердегі казиноның арасындағы айырмашылықтар Pin Up таңдаудың маңызды себептері Read More »

Is online gaming better than traditional casinos Discover the pros and cons of each with Pin Up

Is online gaming better than traditional casinos Discover the pros and cons of each with Pin Up Understanding Online Gaming Online gaming has revolutionized the gambling industry by bringing casinos into the digital realm. Players can access an array of games from the comfort of their homes, eliminating the need for travel. With platforms like

Is online gaming better than traditional casinos Discover the pros and cons of each with Pin Up Read More »

Giocare responsabilmente strategie per un'esperienza di gioco sicura nei casinò

Giocare responsabilmente strategie per un'esperienza di gioco sicura nei casinò Importanza del gioco responsabile Il gioco responsabile è fondamentale per garantire che l’attività ludica rimanga un divertimento e non si trasformi in una fonte di stress o problemi finanziari. Giocare in modo responsabile significa conoscere i propri limiti, sia in termini di tempo che di

Giocare responsabilmente strategie per un'esperienza di gioco sicura nei casinò Read More »

El impacto social del juego reflexiones sobre Chicken Road 2 en nuestra comunidad

El impacto social del juego reflexiones sobre Chicken Road 2 en nuestra comunidad La naturaleza del juego y su aceptación cultural El juego ha existido en diversas formas a lo largo de la historia, y su aceptación varía considerablemente entre culturas. En muchas comunidades, el juego se percibe como una forma de entretenimiento y socialización,

El impacto social del juego reflexiones sobre Chicken Road 2 en nuestra comunidad Read More »