Wenn ich diesen Code direkt über das Schließen meines Body-Tags setze, funktioniert er, aber wenn ich versuche, ihn in eine Warteschlange zu setzen, bricht er. Ich denke, vielleicht wird jQuery nicht gerufen? Das Snippet ist von hier
FUNCTIONS.PHP
add_action( 'wp_enqueue_scripts', 'scroll_port' );
function scroll_port() {
wp_register_script( 'scrolling', get_template_directory_uri() . '/js/scroll.js', array('jquery'), '', true );
wp_enqueue_script('scrolling');
}
SCROLL.JS
$('a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
|| location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});`
Fügen Sie in Ihrer SCROLL.JS-Datei die Zeile vor allem anderen hinzu,
(function($){
Und nach allem anderen
})(jQuery);
Dieser Block lädt den Code nach dem Laden von jQuery und vermeidet die Fehler.