Intereting Posts
Какой самый безопасный способ вывода пользовательского кода JavaScript и Css, введенного администратором в настройках темы? Галерея изображений (Visual Composer) Ключ action_post не дает post_meta_data Как выделить текущую категорию для шаблона категории и одной страницы? Как обрабатывать текст с помощью функции __ (? Возможно ли включить имя пользователя в переадресацию имени? Добавить правило перезаписи в плагине: с .htaccess в папке плагина или с помощью функций WordPress Customizer – Префикс расширения класса Имеет ли WP глобальный идентификатор $ id? Странное пространство в нижнем колонтитуле только в single.php, когда есть комментарии? Как работает WordPress / лицензия плагинов? и какая сила включает его? Создание массива для сравнения значений настраиваемых полей Как сделать навигационное меню, как моя тема? Сообщение отправляется с использованием короткого кода и init Есть хороший плагин для системы онлайн-бронирования.?

Как добавить скрипт в админ с помощью 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 ); 

Поэтому я попытался добавить свой собственный скрипт тем же методом. I:

  • Создал файл с именем 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: Я делаю патч, поэтому я изменяю основные файлы.

Solutions Collecting From Web of "Как добавить скрипт в админ с помощью script-loader.php?"

Я думаю, вы только регистрируете его:

 $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' ); 

в бэкэнд.