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: 私はパッチを作っている、それが私がコアファイルを修正する理由です。
私はあなたがたは登録のみであると思う:
$scripts->add( 'user-profile-validator', ...)
しかしenqueueingそれではありません。
確認してください。 how wp_register_script()
はWP_Scripts::add()
メソッドのラッパーです。
さらに追加:
wp_enqueue_script( 'user-profile-validator' );
関連する管理ファイルでそれをエンキューするか、または他のエンキューされたスクリプトのdependencyとして追加します。
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' );
バックエンドで。