Как проверить, является ли текущая страница плагиновой панель администратора в wordpress

Пожалуйста, я хочу знать, как проверить, есть ли я в настоящее время на странице администратора плагина. Я создал плагин с элементом меню, который отображает страницу, содержащую некоторую статистику этого использования плагина, для этого я использую пользовательские плагины JQuery, некоторые CSS, которые я никогда не буду использовать за пределами этой страницы.

Поэтому мне интересно узнать, как я могу проверить это, установить или не использовать стили плагина и JS.

Вот мой код стиля очереди

function bridge_style_enqueuer() { wp_register_style( "bridge_display_style", WP_PLUGIN_URL.'/symfony-bridge/chosen.css'); wp_register_style( "bridge_display_style_tb", WP_PLUGIN_URL.'/symfony-bridge/bootstrap.min.css'); wp_enqueue_style( 'bridge_display_style' ); wp_enqueue_style( 'bridge_display_style_tb' ); } add_action( 'admin_init', 'bridge_style_enqueuer' ); 

Я делаю то же самое с Js

 function bridge_script_enqueuer() { wp_register_script( "bridge_script", WP_PLUGIN_URL.'/symfony-bridge/bridge.js', array('jquery'),FASLE, TRUE); wp_register_script( "bridge_chosen_script", WP_PLUGIN_URL.'/symfony-bridge/chosen.js', array('jquery'),FASLE, TRUE); wp_register_script( "bridge_chosen_script_tb", WP_PLUGIN_URL.'/symfony-bridge/bootstrap.min.js', array('jquery'),FASLE, TRUE); wp_enqueue_script( 'bridge_script' ); wp_enqueue_script( 'bridge_chosen_script' ); wp_enqueue_script( 'bridge_chosen_script_tb' ); } add_action( 'admin_init', 'bridge_script_enqueuer' ); 

Related of "Как проверить, является ли текущая страница плагиновой панель администратора в wordpress"

Вы можете использовать WP Screen API:

 $screen = get_current_screen(); if ( in_array( $screen->id, array( 'some_admin_page', 'another_admin_page' ) ) ) { wp_enqueue_script( 'bridge_script' ); } 

Обратите внимание, что вы можете просто зарегистрировать сценарии на крючке init или admin_enqueue_scripts (как и вы) и поставить их в очередь «на странице», то есть в функции обратного вызова для add_menu_page() .

Вам нужно просто добавить js на крючок admin_enqueue_scriptshttp://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts . И, кстати, на самом деле для добавления скриптов и css вы должны использовать hook wp_enqueue_scripts .

Правильный способ сделать это – add_*_page и admin_print_scripts-$your_plugin_page :

 add_action( 'admin_menu', 'add_page_so_20162413' ); function add_page_so_20162413() { $my_page = add_menu_page( /* etc */ ); add_action( "admin_print_scripts-$my_page", 'enqueue_so_20162413' ); } function enqueue_so_20162413() { wp_enqueue_script( /* etc */ ); wp_enqueue_style( /* etc */ ); } 

Предложение Diggy является лучшим, когда у нас возникают проблемы с этим методом.

вы можете использовать is_admin() чтобы проверить, находитесь ли вы на панели администратора http://codex.wordpress.org/Function_Reference/is_admin