Intereting Posts
2 запроса со счетчиками Настройка wordpress в соответствии с темой вашего сайта Почему я не могу использовать setup_postdata ($ post) на боковой панели? Обнаружить изображение среди прикрепленных изображений второй признанный пост, не отображающийся на странице рекомендуется ли использовать фреймворк MVC в WordPress? Как перенаправить пользователей без разрешения на просмотр содержимого на пользовательскую страницу? Метабокс не добавляется Могу ли я получить разные ссылки для разных установленных тем? Удалить сообщения об обновлении для отключенных плагинов уведомление администратора на всплывающем экране «Вставка мультимедиа» Удаляет ли wp_delete_user () все содержимое пользователя? Как отображать категорию родителей и категорию детей отдельно для определенной должности? Какой крюк / фильтр можно использовать для добавления / редактирования / отображения / скрытия заголовка под ссылками (на hover) в виде таблицы? Пользовательский порядок таксономии по

Включая CSS и JS на экране администратора настраиваемых параметров темы

Я создаю специальную тему с помощью страницы параметров темы.

Я хотел бы создать стиль страницы параметров и не хочу включать встроенные стили. Есть ли способ включить внешнюю таблицу стилей из

TEMPLATEPATH . '/css/admin.css' 

Я также нашел этот кусок кода и, похоже, работает – ссылка

 function admin_register_head() { $siteurl = get_option('siteurl'); $url = $siteurl . '/wp-content/plugins/' . basename(dirname(__FILE__)) . '/yourstyle.css'; echo "<link rel='stylesheet' type='text/css' href='$url' />\n"; } add_action('admin_head', 'admin_register_head'); 

Каков наилучший способ?

Если вы создаете плагин темы для администратора из шагов Codex, вы заметите, что он говорит, что не вставлять таблицы стилей, как указано выше, хотя выше будет работать.

Если вы поместите в свой файл темы администратора файл, он будет работать с той же целью, но использует подход wp_enqueue_styles :

 function add_admin_theme_styles() { wp_register_style($handle = 'mytheme-theme-admin-styles', $src = plugins_url('wp-admin.css', __FILE__), $deps = array(), $ver = '1.0.0', $media = 'all'); wp_enqueue_style('mytheme-theme-admin-styles');} add_action('admin_print_styles', 'add_admin_theme_styles'); 

При регистрации страницы для области администрирования с помощью add_submenu_page или любой другой функции add_{TYPE}_page четвертый параметр принимает уникальный идентификатор, этот идентификатор обозначает крючок, который будет использовать ваша зарегистрированная страница.

Если бы я должен был зарегистрировать параметры, например:

 add_options_page( 'Example Plugin Options', 'Example Plugin', 'manage_options', 'example-plugin-identifier', 'example_plugin_options' ); 

Тогда для этой страницы доступны различные крючки, вот лишь несколько возможных действий для зарегистрированной страницы.

 // load-{HANDLE} add_action( 'load-example-plugin-identifier', 'example_plugin_callback' ); // admin_head-{HANDLE} add_action( 'admin_head-example-plugin-identifier', 'example_plugin_callback' ); // admin_print_scripts-{HANDLE} add_action( 'admin_print_scripts-example-plugin-identifier', 'example_plugin_callback' ); // admin_print_styles-{HANDLE} add_action( 'admin_print_styles-example-plugin-identifier', 'example_plugin_callback' ); function example_plugin_callback() { // Run your code here } 

Существует также admin_enqueue_scripts hook, который предоставляет имя текущего дескриптора в строке / переменной, которую он передает вместе с функциями обратного вызова.

 add_action( 'admin_enqueue_scripts', 'example_plugin_callback' ); function example_plugin_callback( $handle ) { // If the handle is not the page registered earlier, return if( 'example-plugin-identifier' =! $handle ) return; // Run your code here } 

Обычно вам не нужно использовать admin_head , admin_print_scripts или admin_print_styles если у вас нет особых требований для таргетинга на каждую страницу администрирования или выполнения условной логики внутри обратного вызова для целевых определенных зарегистрированных страниц.

Надеюсь, это поможет..

WP предоставляет очереди для скриптов и стилей. Он позволяет URL-адреса версий, автоматически загружать зависимости и т. Д.

См. wp enqueue style() в Codex для правильной регистрации вашего стиля и загрузки только там, где это необходимо (на вашей пользовательской странице, а не во всей области администратора).

Да, я отвечаю на свой вопрос … но я получил его на работу.

Добавьте это действие в файл functions.php вашей темы

 function admin_register_head() { $url = get_bloginfo('template_directory') . '/css/admin.css'; echo "<link rel='stylesheet' type='text/css' href='$url' />\n"; } add_action('admin_head', 'admin_register_head');