Я чувствую, что я определенно пропустил что-то простое здесь ... но для жизни меня не может найти то, что мне не хватает.Как правильно использовать скрипты jQuery в Wordpress?
Я являюсь «плохой привычкой» включать функции jQuery непосредственно в файл header.php (среди других мест). Это, как я понимаю, неодобрительно, и функции должны храниться в отдельном файле, используя функцию wp_enqueue для их загрузки (если я правильно ее понимаю).
Я пытаюсь следующее решение дано здесь: How do I add a simple jQuery script to WordPress?
Я имею эту простую функцию в моем header.php, который должен обстрелять подготовить документ:
<script>
// Scroll to Top
jQuery(document).ready(function() {
// Force element to hidden state when page loads
jQuery('.scroll-to-top').hide();
// Check to see if the window is top if not then display button
jQuery(window).scroll(function() {
if (jQuery(this).scrollTop() > 200) {
jQuery('.scroll-to-top').fadeIn();
} else {
jQuery('.scroll-to-top').fadeOut();
}
});
//Click event to scroll to top
jQuery('.scroll-to-top').click(function() {
jQuery('html, body').animate({ scrollTop: 0 }, 800);
return false;
});
});
</script>
Так делать вещи " правильно ", я вынимаю код и помещаю его в myScripts.js (конечно же, с помощью скриптов). В моем файле functions.php, я добавил этот код:
<?php
function add_my_script() {
wp_enqueue_script(
'myScripts', // name your script so that you can attach other scripts and de-register, etc.
get_template_directory_uri() . '/js/myScripts.js', // this is the location of your script file
array('jquery') // this array lists the scripts upon which your script depends
);
}
add_action('wp_enqueue_scripts', 'add_my_script');
?>
Но когда я загружаю мою страницу, скрипт больше не работает.
EDIT
Спасибо за помощь до сих пор ... меняющегося эту строку:
add_action('wp_enqueue_scripts', 'myScripts');
к этому:
add_action('wp_enqueue_scripts', 'add_my_script');
разрешил ошибку увидеть на этой странице.
К сожалению, код не работает на этой странице. Я предполагаю, что это (документ). Уже он должен срабатывать автоматически (как это было всегда, когда я включал его напрямую), но это не происходит, когда я включаю скрипт таким образом. Ух ... мысли?
Точно как @nevercode говорит. 'myScripts' ** не равно **' add_my_script'. Кроме того, поместите знак доллара здесь 'jQuery (document) .ready (function ($)', поэтому вы можете использовать '$ ('# div')' на протяжении всего скрипта. – brasofilo