Есть несколько проблем с вашим кодом ...
Прежде всего , вы не должны ставить в очередь скрипты, используя wp_footer
hook.Это поздно.
wp_footer
- это ловушка действия, которая запускается во время вызова функции wp_footer()
.А печать скриптов нижнего колонтитула - это действие, назначенное для этого хукаЭто означает, что для печати любых сценариев в них вы должны поставить их в очередь, прежде чем они будут напечатаны.
Хорошей практикой является постановка сценариев в очередь с использованием ловушки wp_enqueue_scripts
.И если вы хотите поставить его в очередь для нижнего колонтитула, то есть параметр , сообщающий WP, должен ли данный скрипт быть помещен в верхний или нижний колонтитул.Таким образом, после его изменения ваш код будет выглядеть следующим образом:
function js_scripts() {
wp_enqueue_script( 'jquery', get_template_directory_uri() . '/jquery.js', array(), null, true );
wp_enqueue_script( 'f', get_template_directory_uri() . '/f.js', array(), null, true );
}
add_action( 'wp_enqueue_scripts', 'js_scripts' );
Другая вещь заключается в том, что WordPress уже имеет свой собственный файл jQuery, и вы всегда должны использовать его.Все темы и плагины предполагают, что это версия jQuery, которая используется на сайте, поэтому постановка в очередь вашего собственного файла jQuery может вызвать много конфликтов.И вам не нужно ставить его в очередь - все, что вам нужно сделать, это использовать механизм зависимости скрипта:
function js_scripts() {
wp_enqueue_script( 'f', get_template_directory_uri() . '/f.js', array('jquery'), null, true );
}
add_action( 'wp_enqueue_scripts', 'js_scripts' );
И, наконец, ... WordPress использует jQuery в режиме без конфликтов,Это означает, что вы не можете использовать $
в своих скриптах, потому что такая глобальная переменная не определена.Вы должны использовать вместо JQuery.Вы можете сделать свою жизнь проще, обернув весь свой код функцией.Итак, ваш JS-файл должен выглядеть так:
jQuery(function ($) {
// you can use $ inside this function
$(document).ready(function(){
alert("ready good");
});
});