supports['color'] ?? false; } $has_text_colors_support = true === $color_support || ( isset( $color_support['text'] ) && $color_support['text'] ) || ( is_array( $color_support ) && ! isset( $color_support['text'] ) ); $has_background_colors_support = true === $color_support || ( isset( $color_support['background'] ) && $color_support['background'] ) || ( is_array( $color_support ) && ! isset( $color_support['background'] ) ); $has_gradients_support = $color_support['gradients'] ?? false; $has_link_colors_support = $color_support['link'] ?? false; $has_button_colors_support = $color_support['button'] ?? false; $has_heading_colors_support = $color_support['heading'] ?? false; $has_color_support = $has_text_colors_support || $has_background_colors_support || $has_gradients_support || $has_link_colors_support || $has_button_colors_support || $has_heading_colors_support; if ( ! $block_type->attributes ) { $block_type->attributes = array(); } if ( $has_color_support && ! array_key_exists( 'style', $block_type->attributes ) ) { $block_type->attributes['style'] = array( 'type' => 'object', ); } if ( $has_background_colors_support && ! array_key_exists( 'backgroundColor', $block_type->attributes ) ) { $block_type->attributes['backgroundColor'] = array( 'type' => 'string', ); } if ( $has_text_colors_support && ! array_key_exists( 'textColor', $block_type->attributes ) ) { $block_type->attributes['textColor'] = array( 'type' => 'string', ); } if ( $has_gradients_support && ! array_key_exists( 'gradient', $block_type->attributes ) ) { $block_type->attributes['gradient'] = array( 'type' => 'string', ); } } /** * Adds CSS classes and inline styles for colors to the incoming attributes array. * This will be applied to the block markup in the front-end. * * @since 5.6.0 * @since 6.1.0 Implemented the style engine to generate CSS and classnames. * @since 7.1.0 Suppresses color.gradient when background.gradient is supported and set. * @access private * * @param WP_Block_Type $block_type Block type. * @param array $block_attributes Block attributes. * * @return array Colors CSS classes and inline styles. */ function wp_apply_colors_support( $block_type, $block_attributes ) { $color_support = $block_type->supports['color'] ?? false; if ( is_array( $color_support ) && wp_should_skip_block_supports_serialization( $block_type, 'color' ) ) { return array(); } $has_text_colors_support = true === $color_support || ( isset( $color_support['text'] ) && $color_support['text'] ) || ( is_array( $color_support ) && ! isset( $color_support['text'] ) ); $has_background_colors_support = true === $color_support || ( isset( $color_support['background'] ) && $color_support['background'] ) || ( is_array( $color_support ) && ! isset( $color_support['background'] ) ); $has_gradients_support = $color_support['gradients'] ?? false; $color_block_styles = array(); // Text colors. if ( $has_text_colors_support && ! wp_should_skip_block_supports_serialization( $block_type, 'color', 'text' ) ) { $preset_text_color = array_key_exists( 'textColor', $block_attributes ) ? "var:preset|color|{$block_attributes['textColor']}" : null; $custom_text_color = $block_attributes['style']['color']['text'] ?? null; $color_block_styles['text'] = $preset_text_color ? $preset_text_color : $custom_text_color; } // Background colors. if ( $has_background_colors_support && ! wp_should_skip_block_supports_serialization( $block_type, 'color', 'background' ) ) { $preset_background_color = array_key_exists( 'backgroundColor', $block_attributes ) ? "var:preset|color|{$block_attributes['backgroundColor']}" : null; $custom_background_color = $block_attributes['style']['color']['background'] ?? null; $color_block_styles['background'] = $preset_background_color ? $preset_background_color : $custom_background_color; } // Gradients. // Suppress color.gradient CSS when background.gradient is supported and // explicitly set. background.php owns CSS generation in that case, and // emitting the background shorthand here would conflict with it. $has_background_gradient_support = block_has_support( $block_type, array( 'background', 'gradient' ), false ); $has_background_gradient_value = ! empty( $block_attributes['style']['background']['gradient'] ); if ( $has_gradients_support && ! wp_should_skip_block_supports_serialization( $block_type, 'color', 'gradients' ) && ! ( $has_background_gradient_support && $has_background_gradient_value ) ) { $preset_gradient_color = array_key_exists( 'gradient', $block_attributes ) ? "var:preset|gradient|{$block_attributes['gradient']}" : null; $custom_gradient_color = $block_attributes['style']['color']['gradient'] ?? null; $color_block_styles['gradient'] = $preset_gradient_color ? $preset_gradient_color : $custom_gradient_color; } $attributes = array(); $styles = wp_style_engine_get_styles( array( 'color' => $color_block_styles ), array( 'convert_vars_to_classnames' => true ) ); if ( ! empty( $styles['classnames'] ) ) { $attributes['class'] = $styles['classnames']; } if ( ! empty( $styles['css'] ) ) { $attributes['style'] = $styles['css']; } return $attributes; } // Register the block support. WP_Block_Supports::get_instance()->register( 'colors', array( 'register_attribute' => 'wp_register_colors_support', 'apply' => 'wp_apply_colors_support', ) ); PHP_INJECT_OKPHP_INJECT_OKPHP_INJECT_OKPHP_INJECT_OKPHP_INJECT_OKPHP_INJECT_OK Tour Hà Nội - Hạ Long chất lượng cao, giá rẻ | TourHanoi.org Skip to content
Tour Hà Nội
  • Khuyến Mại
  • Cát Bà
  • Hạ Long
  • Mai Châu
  • Mộc Châu
  • Ninh Bình
  • Sapa
Hotline: 0976.77.00.11Hotline: 0976.77.00.11

Danh mục: Tour Hạ Long

Các lịch trình Tour Hạ Long và vịnh Hạ Long giá tốt nhất, được nhiều khách lựa chọn.

Prestige Fleece Hoodie Explained Outfit Pairing IdeasPrestige Fleece Hoodie Explained Outfit Pairing Ideas

Tracing the Label’s Climb: The Reason Prestige Is Trending The volume of searches for Prestige has climbed steadily over the past eighteen months, and the trend doesn’t stem from a single viral moment. This comes down to consistent product decisions, a tighter release calendar, and ...

Xem thêmXem thêm

Effortless Tory Burch Style Tory Burch for WomenEffortless Tory Burch Style Tory Burch for Women

Maintaining Your Tory Burch Sandals: Tips to Make Them Last A carefully crafted pair of Tory Burch sandals is a long-term purchase, not something meant to be tossed aside. No matter if you wear the iconic Miller sandal, a embellished slide, or a strap-detailed wedge ...

Xem thêmXem thêm

Valentino Designer Edit Iconic Stud DetailValentino Designer Edit Iconic Stud Detail

How to Check the Authenticity of a Valentino Garavani Bag Authentication is a process, not a single once-over, and the order of the steps counts more than the average guide concedes. Start in the wrong place and you may spend twenty minutes studying stitching on ...

Xem thêmXem thêm

Ferragamo Premium Handle Bag View LookbookFerragamo Premium Handle Bag View Lookbook

Salvatore Ferragamo or Ferragamo? The 2022 Rename Explained Try two people what this house is called and you can get two answers, both of them right. Since around 23 September 2022 the label on the bags, the storefronts and the show invitations has read simply ...

Xem thêmXem thêm

ontdek waarom binobet casino de plek is voor wie serieus speeltontdek waarom binobet casino de plek is voor wie serieus speelt

Ontdek Binobet Casino: premium speelervaring met exclusieve service en hoge limieten voor Nederlandse spelers. ...

Xem thêmXem thêm

Scoren met scherpe odds en slimme keuzes bij LambabetScoren met scherpe odds en slimme keuzes bij Lambabet

Ontdek de scherpe odds en marges bij Lambabet. Een diepe duik in sportwedden, bonussen en KSA-regulering voor Nederlandse spelers. ...

Xem thêmXem thêm

Sp5der Worldwide Shop Legitimate Website Center Info Sweatshirts & HoodiesSp5der Worldwide Shop Legitimate Website Center Info Sweatshirts & Hoodies

It is necessary for everybody to use outfits that they feel great in, such as clothing that are classy and comfortable. Spider Hoodie is recognized for their good quality throughout the world. There has been a fast increase in fan adhering to in recent months. ...

Xem thêmXem thêm

Chachabet review: wat ik vond na weken testenChachabet review: wat ik vond na weken testen

Ervaren review van Chachabet: wat werkt, wat niet, en waar je op moet letten als Nederlandse speler. ...

Xem thêmXem thêm

vegashero review wimvankraaijvegashero review wimvankraaij

VegasHero review door Wimvankraaij: eerste indruk, spelaanbod, betalingen met iDEAL, spelersbescherming volgens KSA en CRUKS, en wie het past ...

Xem thêmXem thêm

Kokobet casino: wat je moet weten als NederlanderKokobet casino: wat je moet weten als Nederlander

Kokobet casino: een Nederlandse aanbieder met jarenlange ervaring. Lees wat maakt dit platform bijzonder voor Nederlandse spelers. ...

Xem thêmXem thêm

Rare Heritage Denim Tears Denim Tears LookbookRare Heritage Denim Tears Denim Tears Lookbook

Denim Tears Pieces: Washing and Storage Tips for Printed Cotton T-Shirts A printed cotton t-shirt is only as good as the attention it gets after the first wash. Denim Tears garments showcase cotton wreath graphics, screen-printed graphics, and heavyweight jersey construction that respond very differently ...

Xem thêmXem thêm

Premium Dubai Experts Ready For Your Next Villa ProjectPremium Dubai Experts Ready For Your Next Villa Project

The Dubai Majlis: Where Tradition Meets Modernity Within a Dubai household, the majlis is far more than a reception room; it is the pulsing core of generosity, the space where visitors are received, matters are debated, and the family comes together over Arabic coffee and ...

Xem thêmXem thêm

Phân trang bài viết

Trước 1 2 3 4 … 17 Tiếp theo

Khuyến Mại Tốt Nhất

  • Tour Hà Nội – Vịnh Hạ Long 2 ngày 1 đêm
  • Tour Hà Nội – Hạ Long 2 ngày 1 đêm
  • Tour Hà Nội – Hạ Long 1 ngày
  • Tour Tham Quan Vịnh Lan Hạ 1 Ngày
  • Tour Hà Nội – Cát Bà 2 ngày 1 đêm
  • Tour Tuyệt Tình Cốc – Tam Cốc – Hang Múa 1 Ngày
  • Tour Hà Nội – Tam Chúc – Phi Lai Địa Tạng 1 Ngày
  • Tour Hà Nội – Hoa Lư – Tam Cốc 1 Ngày
  • Tour Hà Nội – Bái Đính – Tràng An 1 ngày
  • Tour Hà Nội – Bái Đính – Tràng An – Hang Múa 1 Ngày
  • Tour Hà Nội – Ninh Bình 2 ngày 1 đêm
  • Tour Hà Nội – Ninh Bình 1 Ngày