filter(function ($page) { return get_current_screen()->id === $page; })->each(function () { wp_enqueue_script(Plugin::PREFIX . 'app-js', Plugin::assetsUrl() . static::idHash('js/aop.js'), [], null, 'all'); $optionNames = (get_current_screen()->id === 'admin_page_' . SubpageEdit::SLUG) ? Data::getAllOptionNamesExcludeCurrentPageFieldNames() : Data::getAllOptionNames()->all(); wp_localize_script(Plugin::PREFIX . 'app-js', Plugin::PREFIX_ . 'script_data_js', Data::js()); wp_localize_script(Plugin::PREFIX . 'app-js', Plugin::PREFIX_ . 'dashicons_js', Data::dashicons()); }); } /** * Handles all the admin css files. */ public function adminCss() { Data::getAdminPagesId()->filter(function ($page) { return get_current_screen()->id === $page; })->each(function () { wp_enqueue_style(Plugin::PREFIX . 'app-css', Plugin::assetsUrl() . static::idHash('css/aop.css'), [], null, 'all'); }); wp_enqueue_style(Plugin::PREFIX . 'icon-css', Plugin::assetsUrl() . 'css/aop-icon.css', [], Plugin::VERSION, 'all'); } /** * Set an id (version hash) after the URL link. * * @param string $path * @return string */ public static function idHash($path) { $manifest = Plugin::assetsDir() . 'mix-manifest.json'; if (!File::exists($manifest)) { return $path; } $manifest = Collection::make(File::getJsonDecoded($manifest)); return substr($manifest->get('/' . $path), 1); } }