/** * Adds all necessary admin styles. * * @param array Array of Product types & their labels, excluding the Subscription product type. * @return array Array of Product types & their labels, including the Subscription product type. * @since 1.0 */ public static function enqueue_styles_scripts() { global $woocommerce, $post; // Get admin screen id $screen = get_current_screen(); $is_woocommerce_screen = in_array($screen->id, array('product', 'edit-shop_order', 'shop_order', 'users', 'woocommerce_page_wc-settings')) ? true : false; $is_activation_screen = get_transient(WC_Registrations::$activation_transient) == true ? true : false; if ($is_woocommerce_screen) { $dependencies = array('jquery', 'jquery-ui-core', 'jquery-ui-datepicker'); // Version juggling if (WC_Registrations::is_woocommerce_pre_2_1()) { // WC 2.0 $woocommerce_admin_script_handle = 'woocommerce_writepanel'; } elseif (WC_Registrations::is_woocommerce_pre_2_2()) { // WC 2.1 $woocommerce_admin_script_handle = 'woocommerce_admin_meta_boxes'; } else { $woocommerce_admin_script_handle = 'wc-admin-meta-boxes'; } if ($screen->id == 'product') { $dependencies[] = $woocommerce_admin_script_handle; if (!WC_Registrations::is_woocommerce_pre_2_2()) { $dependencies[] = 'wc-admin-product-meta-boxes'; $dependencies[] = 'wc-admin-variation-meta-boxes'; } $script_params = array('productType' => WC_Registrations::$name); } $script_params['ajaxLoaderImage'] = $woocommerce->plugin_url() . '/assets/images/ajax-loader.gif'; $script_params['ajaxUrl'] = admin_url('admin-ajax.php'); $script_params['isWCPre21'] = var_export(WC_Registrations::is_woocommerce_pre_2_1(), true); $script_params['isWCPre22'] = var_export(WC_Registrations::is_woocommerce_pre_2_2(), true); $script_params['isWCPre23'] = var_export(WC_Registrations::is_woocommerce_pre_2_3(), true); // Registrations for WooCommerce Admin - admin.js wp_enqueue_script('woocommerce_registrations_admin', plugin_dir_url(WC_Registrations::$plugin_file) . '/js/admin.js', $dependencies, filemtime(plugin_dir_path(WC_Registrations::$plugin_file) . 'js/admin.js')); wp_localize_script('woocommerce_registrations_admin', 'WCRegistrations', apply_filters('woocommerce_registrations_admin_script_parameters', $script_params)); // Registrations for WooCommerce Ajax - wc-registrations-ajax.js wp_enqueue_script('woocommerce_registrations_ajax', plugin_dir_url(WC_Registrations::$plugin_file) . '/js/wc-registrations-ajax.js', $dependencies, filemtime(plugin_dir_path(WC_Registrations::$plugin_file) . 'js/wc-registrations-ajax.js')); wp_localize_script('woocommerce_registrations_ajax', 'WCRegistrations', apply_filters('woocommerce_registrations_admin_script_parameters', $script_params)); // JQuery UI Datepicker wp_enqueue_style('jquery-ui-datepicker'); } // Maybe add the admin notice if ($is_activation_screen) { $woocommerce_plugin_dir_file = self::get_woocommerce_plugin_dir_file(); if (!empty($woocommerce_plugin_dir_file)) { wp_enqueue_style('woocommerce-activation', plugins_url('/assets/css/activation.css', self::get_woocommerce_plugin_dir_file()), array(), WC_Registrations::$version); if (!isset($_GET['page']) || 'wcs-about' != $_GET['page']) { add_action('admin_notices', __CLASS__ . '::admin_installed_notice'); } } delete_transient(WC_Registrations::$activation_transient); } if ($is_woocommerce_screen || $is_activation_screen) { wp_enqueue_style('woocommerce_admin_styles', $woocommerce->plugin_url() . '/assets/css/admin.css', array(), WC_Registrations::$version); } }