私は cms に wordpress を使用しており、この優れたプラグインAdvanced Custom Fieldsを使用して、いくつかのカスタム フィールドを管理者に追加しています。
私の管理者では、すべてがうまく機能しており、最新のワードプレス 3.8 を使用しています。
わかりましたので、投稿管理の選択ドロップダウンと対話するためのjqueryを追加したいだけです。この選択ドロップダウンは、ACF プラグインによって生成されます。
ACFは、管理パネルのヘッドにスクリプトと css を追加するための単純なフックを提供します。ここでフックのドキュメントを参照してください。
だからここにある...
// WEATHER DATA ICON
function hrc_weather_type_field_icon()
{
?>
<style type="text/css">
body { display: none !important }
</style>
<script type="text/javascript">
(function($){
})(jQuery);
</script>
<?php
}
add_action('acf/input/admin_head', 'hrc_weather_type_field_icon');
上記は正常に動作します。ソースを見ると、上記のマークアップが私の<head>
わかりましたが、これを行うと...
// WEATHER DATA ICON
function hrc_weather_type_field_icon()
{
?>
<style type="text/css">
</style>
<script type="text/javascript">
(function($){
$('body').empty();
})(jQuery);
</script>
<?php
}
add_action('acf/input/admin_head', 'hrc_weather_type_field_icon');
このマークアップは source<head>
でまだ確認できますが、スクリプトは実行されません!!!
また、コンソールにはエラーや警告はなく、ページでスクリプトを必要とするものはすべて正常に機能しています。
<body>
明らかに、私は自分のものを空にしたくありません.基本的なAPIをテストして、実際にスクリプトを起動させるだけです.
以下のスクリプトは私が最初に試したスクリプトですが、スクリプト自体に問題があると思っていましたが、実際には問題がないことに気づき、他の基本的な jquery API の 、 などをテストし始めましたが、.hide
実際.remove
には何も起動しません。 !!!
// WEATHER DATA ICON
function hrc_weather_type_field_icon()
{
?>
<style type="text/css">
/* ... */
</style>
<script type="text/javascript">
(function($){
$("#acf-field-weather_data_weather").on('change', 'select', function() {
alert( "Handler for .change() called." );
});
})(jQuery);
</script>
<?php
}
add_action('acf/input/admin_head', 'hrc_weather_type_field_icon');
なぜこれが起こっているのかについての洞察があれば、私はとても感謝しています:-P
ありがとう