我正在尝试使用WordPress本身在管理区域加载脚本的相同方法在管理面板中加载自定义脚本。
这是加载的示例脚本wp-includes/script-loader.php
:
$scripts->add(
\'password-strength-meter\',
"/wp-admin/js/password-strength-meter$suffix.js",
array( \'jquery\', \'zxcvbn-async\' ),
false,
1
);
所以我尝试用同样的方法添加我自己的脚本。一:
创建了一个名为user-profile-validator.js
在…内/wp-admin/js/
(还创建了缩小版)
尝试使用以下代码将其排队:$scripts->add(
\'user-profile-validator\',
"/wp-admin/js/user-profile-validator$suffix.js",
array( \'jquery\' ),
false,
1
);
但什么都没有发生,它既没有添加到URL,也没有在加载的脚本中找到我的脚本。
为什么会这样?
PS: 我正在做一个补丁,这就是为什么我要修改核心文件。
最合适的回答,由SO网友:birgire 整理而成
I think you\'e is onlyregistingit with:
$scripts->add( \'user-profile-validator\', ...)
但不要排队。
检查例如如何wp_register_script()
是WP_Scripts::add()
方法
另外添加:
wp_enqueue_script( \'user-profile-validator\' );
在相关管理文件中,将其排队,或将其添加为另一个排队脚本的依赖项。
请注意password-strength-meter
是的依赖项user-profile
脚本:
$scripts->add(
\'user-profile\',
"/wp-admin/js/user-profile$suffix.js",
array( \'jquery\', \'password-strength-meter\', \'wp-util\' ),
false,
1
);
排队的有:
wp_enqueue_script( \'user-profile\' );
在后端。