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

casinoslot22051

体验 bk8 新加坡:最佳在线博彩平台

bk8 新加坡:最佳在线博彩平台 在迅速发展的在线博彩行业中,bk8 新加坡以其卓越的服务和多样的娱乐选择脱颖而出。无论你是体育迷,还是喜欢在线赌场游戏,bk8 都能满足你的需求。在这里,您可以找到各种体育赛事的在线投注和丰富多样的赌场游戏,包括经典的桌面游戏和尖端的老虎机游戏。此外,您还可以享受令人振奋的优惠和促销活动,尤其是< знаковая ссылка="https://bk8-sgcasino.com/zh/promo-code/">体育奖金 bk8,让您的投注体验更加丰富和满意。 bk8 新加坡的特色 bk8 新加坡的每一个细节都旨在为玩家提供安全、便利的博彩体验。首先,平台采用最先进的安全技术来保护用户的信息和资金安全。此外,用户友好的界面和简体中文支持,使得新手用户也能轻松上手。在这里,您不仅可以找到传统的博彩内容,还可以体验到直播竞技的乐趣。 多样的体育博彩选择 bk8 新加坡提供丰富的体育赛事投注,包括足球、篮球、网球、高尔夫及电子竞技等。无论是国际比赛还是地方联赛,你都可以在这里找到全面的赛事信息和实时更新的赔率。这使得所有喜欢体育的人都有机会参与其中,享受投注的乐趣。 优质的在线赌场游戏 除了体育投注,bk8 新加坡的在线赌场也非常吸引人。无论是经典的百家乐、二十一点,还是各种风格的老虎机游戏,玩家都能找到自己喜欢的游戏类型。代表性的游戏软件提供商确保了游戏的公平性和高品质,让玩家能够尽情享受游戏的乐趣。同时,定期举办的线上扑克赛事和老虎机比赛,也为玩家提供了丰厚的奖励和激烈的竞争。 用户体验与客户支持 bk8 新加坡非常重视用户体验,专注于为用户提供优质的服务。网站设计简洁直观,方便快速浏览,玩家可以轻松找到所需的功能。此外,bk8 提供全天候的客户支持服务,玩家可以通过在线聊天、电子邮件和电话与客服人员进行联系,随时解决在使用过程中遇到的任何问题。 注册与奖金 加入 bk8 新加坡的过程非常简单。玩家只需提供基本信息即可完成注册,并立即开始享受平台提供的各类优惠和奖金。无论是欢迎奖金、充值福利,还是定期的促销活动,bk8 新加坡都致力于为每位玩家带来丰厚的回报。 总结 总的来说,bk8 新加坡是一个综合性的在线博彩平台,为玩家提供了丰富的博彩体验、便捷的用户界面和优质的客户支持。无论你是体育爱好者还是赌场游戏的粉丝,bk8 新加坡都能满足你的需求,并为您带来无与伦比的乐趣。现在就加入 bk8,开始您的博彩之旅吧!

体验 bk8 新加坡:最佳在线博彩平台 Read More »

Discover the Thrill of Online Gaming with God55 Singapore

Welcome to God55 Singapore – Your Ultimate Online Gaming Destination! In the modern age of technology, online gaming has taken the world by storm, and nobody does it better than god55 Singapore god55 login! Singapore, known for its vibrant gaming scene, offers a unique blend of entertainment options for avid gamers. God55 has emerged as

Discover the Thrill of Online Gaming with God55 Singapore Read More »

Understanding the Popularity of 918Kiss in Malaysia -1837177980

Understanding the Popularity of 918Kiss in Malaysia In recent years, the online gaming scene in Malaysia has seen a significant transformation, with platforms like 918kiss in Malaysia 918Kiss leading the charge. This online casino app has captured the hearts of many, becoming a trending choice for gamers seeking entertainment and potential winnings. But what exactly

Understanding the Popularity of 918Kiss in Malaysia -1837177980 Read More »