/** * 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; } } Bocianbaby Radosť z každého kroku s vaším dieťaťom -

Bocianbaby Radosť z každého kroku s vaším dieťaťom

Vitajte vo svete Bocianbaby!

Bocianbaby je značka, ktorá sa zameriava na poskytovanie produktov pre deti a rodičov, ktoré sú navrhnuté s dôrazom na kvalitu, bezpečnosť a pohodlie. Bocianbaby ponúka široký sortiment produktov od oblečenia po hračky. Naša misia je zabezpečiť, aby sa každé dieťa cítilo šťastne a pohodlne v každom okamihu svojho rastu.

Naša filozofia

Filozofia značky Bocianbaby spočíva v presvedčení, že deti si zaslúžia najlepšie. Zameriavame sa na výber kvalitných materiálov, ktoré sú bezpečné a príjemné na dotyk. Na naše výrobky sa môžete spoľahnúť, že sú testované a schválené v súlade s najvyššími bezpečnostnými štandardmi.

Produkty, ktoré ponúkame

Oblečenie

Naša kolekcia oblečenia zahŕňa rôzne druhy outfitov pre novorodencov, batoľatá a staršie deti. Či už hľadáte elegantné šaty na špeciálne príležitosti alebo pohodlné pyžamá na spanie, u nás nájdete všetko, čo potrebujete. Oblečenie je navrhnuté tak, aby bolo nielen krásne, ale aj funkčné, poskytujúc slobodu pohybu pre aktívne deti.

Hračky

Naše hračky sú navrhnuté tak, aby stimulovali detskú predstavivosť a kreativitu. Ponúkame ekologické hračky, ktoré sú bezpečné pre deti a priateľské k životnému prostrediu. Od rodičovských edukačných hračiek po zábavné aktivity pre skupiny, každý výrobok je starostlivo vybraný, aby podporoval rozvoj vašich detí.

Príslušenstvo

Nezabúdame ani na praktické príslušenstvo, ktoré uľahčí život rodičom. Ponúkame rôzne produkty, ako sú prebaľovacie tašky, podložky na prebaľovanie a oblečenie na nočné spanie. Všetky naše produkty sú navrhnuté tak, aby boli užitočné a štýlové, čím zabezpečujú pohodlie pre rodičov aj deti.

Prečo si vybrať Bocianbaby?

Vyberte si Bocianbaby, pretože sme presvedčení, že rôzne fázy rastu a vývoja detí si zaslúžia pozornosť a kvalitné produkty. Naša značka sa snaží ponúkať len to najlepšie a sme tu, aby sme podporovali každého rodiča, ktorý chce pre svoje dieťa to najlepšie. Okrem toho dbáme na ochranu životného prostredia, a preto sa snažíme minimalizovať dopad našich produktov na prírodu.

Kde nás nájdete?

Bocianbaby je dostupný online, čo znamená, že si môžete nakúpiť kedykoľvek a kdekoľvek. Naša webová stránka je jednoduchá na navigáciu a nájdete tam všetky naše výrobky s podrobnými popismi a fotografiami. Sledujte nás aj na sociálnych sieťach, kde pravidelne zdieľame novinky, tipy a inšpirácie pre rodičov.

Príbehy našich zákazníkov

Naši zákazníci sú pre nás najdôležitejší a radi sa s vami podelíme o niektoré z ich príbehov. Mnoho rodičov, ktorí si kúpili produkty od Bocianbaby, nám zaslalo spätnú väzbu o tom, ako naše výrobky obohatili ich každodenný život. Od šťastných chvíľ pri výbere oblečenia pre ich deti až po radosť z hrania s našimi hračkami – to je to, čo nás motivuje pokračovať v našej práci.

Naša budúcnosť

Bocianbaby má veľké ambície do budúcna. Chceme pokračovať v rozvoji a inováciách, aby sme našim zákazníkom, t.j. rodičom a deťom, ponúkli len to najlepšie. Plánujeme rozšíriť sortiment našich výrobkov a priniesť nové, inovatívne riešenia, ktoré prinesú radosť do domovov po celom Slovensku.

Záver

V Bocianbaby veríme, že detstvo by malo byť plné radosti, smiechu a objavovania. Naša značka je tu na to, aby sme vám pomohli zabezpečiť, že vaše deti budú mať tie najlepšie možné začiatky. Pridajte sa k našej rodine Bocianbaby a zažívajte s nami krásne chvíle plné šťastia.

© 2023 Bocianbaby. Všetky práva vyhradené.