Проблемы с wp_enqueue_script в моем плагине
Я работаю над плагином и пытаюсь запустить js-файл при сохранении записи. Я прочитал много материала, но не могу понять, почему это не работает. Любые советы? Если я вставлю js-код напрямую в плагин, он работает... Я проверил путь к js-файлу, но результата нет.
add_action( 'admin_init', 'plugin_admin_init' );
function plugin_admin_init() {
wp_register_script( 'qtool-insert-v2', plugins_url() . '/buildStatus2/' . 'qtool-insert-v2.js' );
}
add_action( 'save_post', 'add_my_script' );
function add_my_script() {
wp_enqueue_script( 'qtool-insert-v2' );
}
Вот qtool-insert-v2.js - простой редирект.
<script type="text/javascript">
<!--
window.location = "http://www.google.com/"
//-->
alert("HELLO");
</script>

Вам необходимо подключиться к хуку admin_enqueue_scripts с помощью вашей функции add_my_script.
http://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts
Пример:
function add_my_script() {
wp_enqueue_script('qtool-insert-v2');
}add_action( 'admin_enqueue_scripts', 'add_my_script' );

Ах, понятно, спасибо за совет. Теперь я вижу этот скрипт в исходном коде, хотя перенаправления или всплывающего окна не происходит...
Кроме того, похоже, что этот скрипт теперь загружается на каждой странице админки... Есть ли способ сделать так, чтобы он срабатывал только на хуке save_post?
<script type='text/javascript' src='http://....../plugins/buildStatus2/qtool-insert.js?ver=3.3.2'></script>

Похоже, мне не нужны теги <script>... но всё ещё нужно разобраться, как сделать так, чтобы это срабатывало только при сохранении записи

Вы можете вызывать admin_enqueue_scripts только на определённых страницах админки, смотрите ссылку выше (http://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts#Example:_Target_a_Specific_Admin_Page)

@Greg Вы пытаетесь запустить JS при сохранении поста через PHP-действие или при событии клика по кнопке сохранения?
