Automattic\WooCommerce\Internal\Admin
OrderMilestoneEasterEgg::get_svg_data
Loads and returns SVG assets as inline strings.
Only the variant SVGs listed in $variants are loaded; shared assets (confetti, stick, sprinkle) are always included.
Метод класса: OrderMilestoneEasterEgg{}
Хуков нет.
Возвращает
Массив<Строку,. string>
Использование
// private - только в коде основоного (родительского) класса $result = $this->get_svg_data( $variants ): array;
- $variants(string[])
- Variant keys to load (e.g. ['llama', 'octo']).
По умолчанию:array()
Код OrderMilestoneEasterEgg::get_svg_data() OrderMilestoneEasterEgg::get svg data WC 10.9.1
private function get_svg_data( array $variants = array() ): array {
$svg_dir = WC_ABSPATH . 'assets/images/pinata/';
if ( empty( $variants ) ) {
$variants = array_keys( $this->get_variant_map() );
}
$svg_data = array();
$variant_map = $this->get_variant_map();
// phpcs:disable WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
foreach ( $variants as $key ) {
if ( isset( $variant_map[ $key ] ) ) {
$svg_data[ $key ] = (string) file_get_contents( $svg_dir . $variant_map[ $key ] );
}
}
$svg_data['confetti'] = (string) file_get_contents( $svg_dir . 'confetti.svg' );
$svg_data['stick'] = (string) file_get_contents( $svg_dir . 'stick.svg' );
$sprinkle_svg = (string) file_get_contents( $svg_dir . 'sprinkle.svg' );
// phpcs:enable WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents
$sprinkle_svg = preg_replace( '/<defs>.*?<\/defs>/s', '', $sprinkle_svg ) ?? '';
$sprinkle_svg = preg_replace( '/\s*clip-path="[^"]*"/', '', $sprinkle_svg ) ?? '';
$sprinkle_svg = preg_replace( '/<rect[^>]+fill="white"[^>]*\/?>/', '', $sprinkle_svg ) ?? '';
$svg_data['sprinkle'] = $sprinkle_svg;
return $svg_data;
}