我添加了一个操作,其中包含以下行:
add_action( \'admin_init\', \'fb_init_scripts\');
我的函数如下所示:
function fb_init_scripts() {
//Only use these scripts in admin interface
if (is_admin() ) {
wp_enqueue_script(\'jquery-ui\',\'http://ajax.googleapis.com/ajax/libs/jqueryui/1.7/jquery-ui.min.js\',array(\'jquery\'));
}
}
在这种情况下,使用
is_admin()
控制我是否在管理面板中,因为我在中运行此函数
admin_init
?
SO网友:Denis de Bernardy
正如拉斯特所说,这是多余的。由于与身份验证相关的原因,ajax接口恰好位于管理区域,WP认为它是管理区域的一部分,包括技术上不属于管理区域的情况。
也就是说,一个好的“技巧”是将适用的add\\u action()调用包装在if
街区:
if ( is_admin() ) {
add_action(\'admin_init\', \'foo\');
}
这样做可以避免污染
$wp_filter
前端为global。
更好的方法是,使用与管理相关的代码创建一个单独的文件,并且只将其包含在管理区域中(或者在需要时,使用\'load-$pagehook\'
行动)。您可以在此处看到如何执行此操作的示例:
http://wordpress.org/extend/plugins/sem-external-links/