芝麻web文件管理V1.00
编辑当前文件:/home/disqkgca/aqanet.org/wp-content/plugins/carousel-slider/includes/Assets.php
plugin_name = CAROUSEL_SLIDER; $this->version = CAROUSEL_SLIDER_VERSION; if ( $this->is_script_debug_enabled() ) { $this->version = $this->version . '-' . time(); } $this->register_scripts( $this->get_scripts() ); $this->register_styles( $this->get_styles() ); } /** * Register scripts * * @param array $scripts The scripts to register. * * @return void */ private function register_scripts( array $scripts ) { foreach ( $scripts as $handle => $script ) { $deps = $script['deps'] ?? false; $in_footer = $script['in_footer'] ?? true; $version = $script['version'] ?? $this->version; wp_register_script( $handle, $script['src'], $deps, $version, $in_footer ); } } /** * Register styles * * @param array $styles The styles to register. * * @return void */ public function register_styles( array $styles ) { foreach ( $styles as $handle => $style ) { $deps = $style['deps'] ?? false; wp_register_style( $handle, $style['src'], $deps, $this->version ); } } /** * Get all registered scripts * * @return array */ public function get_scripts(): array { return [ 'carousel-slider-admin' => [ 'src' => static::get_assets_url( 'js/admin.js' ), 'deps' => [ 'jquery', 'wp-color-picker', 'jquery-ui-accordion', 'jquery-ui-tabs', 'jquery-ui-sortable', ], ], 'carousel-slider-admin-new-carousel' => [ 'src' => static::get_assets_url( 'js/admin-add-new-carousel.js' ), ], 'carousel-slider-frontend' => [ 'src' => static::get_assets_url( 'js/frontend.js' ), 'deps' => [ 'jquery' ], ], 'carousel-slider-frontend-v2' => [ 'src' => static::get_assets_url( 'js/frontend-v2.js' ), ], ]; } /** * Get registered styles * * @return array */ public function get_styles(): array { return [ 'carousel-slider-frontend' => [ 'src' => static::get_assets_url( 'css/frontend.css' ), ], 'carousel-slider-frontend-v2' => [ 'src' => static::get_assets_url( 'css/frontend-v2.css' ), ], 'carousel-slider-admin' => [ 'src' => static::get_assets_url( 'css/admin.css' ), 'deps' => [ 'wp-color-picker' ], ], 'carousel-slider-admin-new-carousel' => [ 'src' => static::get_assets_url( 'css/admin-add-new-carousel.css' ), ], ]; } /** * Script to load css file via javaScript * * @return string */ public static function get_style_loader_script(): string { $data = self::get_assets_url( 'css/frontend.css' ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents $javascript = file_get_contents( self::get_assets_url( '/js/frontend-style-loader.js' ) ); $script = '' . PHP_EOL; return $script; } /** * Global localize data both for admin and frontend */ public static function admin_localize_data() { $user = wp_get_current_user(); $is_user_logged_in = $user->exists(); $data = [ 'homeUrl' => home_url(), 'ajaxUrl' => admin_url( 'admin-ajax.php' ), 'restRoot' => esc_url_raw( rest_url( 'carousel-slider/v1' ) ), 'nonce' => wp_create_nonce( 'carousel_slider_ajax_nonce' ), ]; if ( $is_user_logged_in ) { $data['restNonce'] = wp_create_nonce( 'wp_rest' ); } if ( is_admin() ) { $slider_types = []; foreach ( Helper::get_slider_types() as $slug => $args ) { $slider_types[] = array_merge( [ 'slug' => $slug ], $args ); } $data['sliderTypes'] = $slider_types; $data['l10n'] = [ 'confirmDelete' => __( 'Are you sure to delete it?', 'carousel-slider' ), ]; } echo '' . PHP_EOL; } }