Как я могу добавить свой скрипт в администрацию с помощью script-loader.php?
Я пытаюсь загрузить свой пользовательский скрипт в панель администратора, используя тот же метод, которым сам 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: Я делаю исправление, поэтому я изменяю основные файлы.
1 answers
Я думаю, что вы только регистрируете его с помощью:
$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' );
В серверная часть.