$data Данные страницы; скрипт читает их из window.aimodelkaAdmin. * @return void */ public static function enqueue( array $data ): void { self::enqueue_style(); self::enqueue_script( $data, array() ); } /** * Редактор товара: админские стили, окошко «Упорядочить фото» (стили и логика) и скрипт * страницы с данными. * * @param array $data Данные страницы; скрипт читает их из window.aimodelkaAdmin. * @return void */ public static function enqueue_editor( array $data ): void { self::enqueue_style(); self::enqueue_photos(); self::enqueue_script( $data, array( self::PHOTOS_STATE_HANDLE ) ); } /** * Витрина: стили витрины, окошко «Упорядочить фото» (стили и логика) и скрипт страницы * с данными. * * @param array $data Данные страницы; скрипт читает их из window.aimodelkaAdmin. * @return void */ public static function enqueue_storefront( array $data ): void { wp_enqueue_style( self::STOREFRONT_STYLE, AIMODELKA_PLUGIN_URL . 'assets/aimodelka-storefront.css', array(), AIMODELKA_VERSION ); self::enqueue_photos(); self::enqueue_script( $data, array( self::PHOTOS_STATE_HANDLE ) ); } /** * Подключает стили и логику окошка «Упорядочить фото» — одни на редактор и витрину. * * @return void */ private static function enqueue_photos(): void { wp_enqueue_style( self::PHOTOS_STYLE, AIMODELKA_PLUGIN_URL . 'assets/aimodelka-photos.css', array(), AIMODELKA_VERSION ); wp_enqueue_script( self::PHOTOS_STATE_HANDLE, AIMODELKA_PLUGIN_URL . 'assets/aimodelka-photos-state.js', array(), AIMODELKA_VERSION, true ); } /** * Подключает только админские стили — для страниц, где скрипту делать нечего (список товаров). * * @return void */ public static function enqueue_style(): void { wp_enqueue_style( self::HANDLE, AIMODELKA_PLUGIN_URL . 'assets/aimodelka-admin.css', array(), AIMODELKA_VERSION ); } /** * Подключает скрипт страницы и кладёт перед ним данные страницы. * * @param array $data Данные страницы. * @param string[] $dependencies Свои скрипты, которые должны загрузиться раньше. * @return void */ private static function enqueue_script( array $data, array $dependencies ): void { wp_enqueue_script( self::HANDLE, AIMODELKA_PLUGIN_URL . 'assets/aimodelka-admin.js', array_merge( array( 'wp-api-fetch' ), $dependencies ), AIMODELKA_VERSION, true ); // JSON_HEX_TAG и JSON_HEX_AMP: строка внутри