Meine WordPress-Seite lädt das Skript nicht auf meine Seite. Ich habe die folgende Funktion in functions.php:Warum lädt Wordpress mein jQuery-Skript nicht?
function nav_script() {
wp_enqueue_script('script', get_stylesheet_directory_uri() .'/js/script.js', array('jQuery'), '1.0.0', true);
}
add_action('wp_enqueue_scripts', 'nav_script');
und das Skript in den scripts.js containted ist wie folgt:
$(document).ready(function() {
var stickyNavTop = $('.blog-nav').offset().top;
var stickyNav = function(){
var scrollTop = $(window).scrollTop();
if (scrollTop > stickyNavTop) {
$('.blog-nav').addClass('sticky');
}
else {
$('.blog-nav').removeClass('sticky');
}
};
stickyNav();
$(window).scroll(function() {
stickyNav();
});
});
Wenn ich den Quellcode der Seite, die ich nicht tun Sehen Sie sich das Skript an, also wurde es aus irgendeinem Grund nicht geladen ... Ich habe den wp_head im Kopf und den wp_footer vor dem Body Ending Tag, also habe ich keine Ahnung was passieren kann, kann da jemand helfen? Die Funktion arbeitet in einem normalen HTML, wie ich in JSFiddle versucht ...
Schnitt ... Jungs, die ich etwas erreicht, indem das Skript Hinzufügen „von Hand“ auf die Funktion, wie folgt aus:
function nav_script() {
?>
<script>
$(document).ready(function() {
var stickyNavTop = $('.blog-nav').offset().top;
var stickyNav = function(){
var scrollTop = $(window).scrollTop();
if (scrollTop > stickyNavTop) {
$('.blog-nav').addClass('sticky');
} else {
$('.blog-nav').removeClass('sticky');
}
};
stickyNav();
$(window).scroll(function() {
stickyNav();
});
});
</script>
<?php
}
add_action('wp_head', 'nav_script');
Aber ich hab zwei dinge gemerkt: ONE: es wird nicht funktionieren wenn ich die <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
CDN nicht in den kopf stecke; TWO: Es funktioniert nur, wenn ich die Website laden, die mir einige Plugin Konflikt schlägt ...
Die Quelle anzeigen? Oder das DOM inspizieren? Zwei sehr unterschiedliche Dinge! –
Ich habe Recht, die Seite Quelle klicken und sehen, wie Sie hier sehen können: https://jsfiddle.net/7undbb8L/ @NiettheDarkAbsol –
„Seite Quelle“ ist als die vom Server empfangen, bevor eine JavaScript überhaupt ausgeführt wird. –