您可以尝试更换
if( \'nonpareil_theme_options\' != $hook )
使用
if( \'toplevel_page_nonpareil_theme_options\' != $hook )
如果您像这样添加了自定义菜单:
add_action(\'admin_menu\', \'register_custom_menu_page\');
function register_custom_menu_page() {
add_menu_page(\'Nonpareil options\',\'Nonpareil options\', \'administrator\', \'nonpareil_theme_options\', \'nonpareil_theme_display\' );
}
Edit: 看起来你在用这个admin_enqueue_scripts
法典中的示例:
http://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts#Example:_Target_a_Specific_Admin_Page
因此,在您的案例中,Codex示例如下:
function nonpareil_options_js_enqueue($hook) {
if( \'toplevel_page_nonpareil_theme_options\' != $hook )
return;
wp_enqueue_script( \'nonpareil-options\', get_template_directory_uri().\'/js/nonpareil-options.js\', array(\'jquery\') );
}
add_action( \'admin_enqueue_scripts\', \'nonpareil_options_js_enqueue\' );
在文件中
/wp-admin/admin-header.php
您有以下内容
do_action(\'admin_enqueue_scripts\', $hook_suffix);
do_action("admin_print_scripts-$hook_suffix");
do_action(\'admin_print_scripts\');
所以你可以看到区别,
admin_print_scripts
不接受输入,但
admin_enqueue_scripts
确实如此(这是您在代码示例中使用的过滤器)。
如果你想知道在哪里toplevel_page_
来自,您可以查看的源代码get_plugin_page_hookname()
因为它正在为$hook_suffix
在你的情况下。
Conclusion:
添加
toplevel_page_
在你的菜单前。