繁体   English   中英

如何检查当前页面是否是wordpress中的插件管理面板

[英]How to check if the current page is a plugin admin panel in 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' );

您可以使用WP Screen API:

$screen = get_current_screen();

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

请注意,您只需在initadmin_enqueue_scripts挂钩上注册脚本(就像您一样),并将它们“in-page”排队,即在add_menu_page()的回调函数中。

你必须通过钩子admin_enqueue_scripts添加js - http://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts 顺便说一下,实际上你应该使用hook wp_enqueue_scripts来添加脚本和css。

正确的方法是使用add_*_pageadmin_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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM