Ich kann nicht erkennen, warum meine Skripts nicht geladen werden, wenn ich sie registriere und in die Warteschlange bringe

Ich versuche, “hardcoded” Aufrufe in meiner header.php zu ersetzen, indem ich sie in functions.php registriere und inquestiere. JQuery 1.8.3 wird wie gewünscht geladen, die anderen Skripte jedoch nicht. Hier ist, was ich benutze:

function puckpros_load_my_scripts() { wp_deregister_script( 'jquery' ); wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'); wp_enqueue_script('jquery'); wp_register_script('menu', get_stylesheet_directory_uri().'/js/menu.js', array('jquery') ); wp_enqueue_script('menu'); wp_register_script('kwicks', get_stylesheet_directory_uri().'/js/jquery.kwicks.js', array('jquery') ); wp_enqueue_script('kwicks'); wp_register_script('equalheights', get_stylesheet_directory_uri().'/js/jquery.equalheights.js', array('jquery') ); wp_enqueue_script('equalheights'); } add_action('wp_enqueue_scripts', 'puckpros_load_my_scripts'); 

Es ist ein Kindthema, also verwende ich get_stylesheet_directory_uri () und die Pfade zu den Dateien sind korrekt.

Ich bin sicher, es ist etwas Einfaches, aber ich kann nicht sehen, was ich falsch mache.

Vielen Dank.

BEARBEITEN

Wie unten von Chip vorgeschlagen, habe ich meine functions.php geändert, um den Aufruf von jquery zu entfernen und die Registeraufrufe zu entfernen. Ich habe jetzt:

 function puckpros_load_my_scripts() { wp_enqueue_script('kwicks', get_stylesheet_directory_uri().'/js/jquery.kwicks.js', array('jquery') ); wp_enqueue_script('equalheights', get_stylesheet_directory_uri().'/js/jquery.equalheights.js', array('jquery') ); wp_enqueue_script('wslaunch', get_stylesheet_directory_uri().'/js/wsLaunch.js', array('jquery') ); } add_action('wp_enqueue_scripts', 'puckpros_load_my_scripts'); 

Aber meine Script-Equalheights werden nicht ausgeführt, tho tut es, wenn ich direkt in den Header reinlade:

 <script type="text/javascript" src="/js/jquery.kwicks.js"> <script type="text/javascript" src="/js/jquery.equalheights.js"> <script type="text/javascript" src="/js/wsLaunch.js"> 

Jetzt bin ich wieder ratlos. Ich möchte es “richtig machen” und in die Warteschlange stellen, aber ich kann es nicht zur Arbeit bringen.

Danke für jede Hilfe.

Solutions Collecting From Web of "Ich kann nicht erkennen, warum meine Skripts nicht geladen werden, wenn ich sie registriere und in die Warteschlange bringe"

Sie können nicht ( wp_enqueue_scripts , Sie können , aber wahrscheinlich treten Abhängigkeitsprobleme wie diese auf) ein Skript bei wp_enqueue_scripts , registered zuvor registered und bereits als Abhängigkeit verwendet wurde.

Die beste Lösung besteht darin, den benutzerdefinierten jQuery-Code loszuwerden und sich nur noch auf den jQuery-Core-Bundle zu verlassen. (Sie werden eine Menge Dinge kaputt machen, wenn Sie eine nicht im core enthaltene Version von jQuery laden, insbesondere eine Version, die älter als die Core-Version ist.)

 function puckpros_load_my_scripts() { wp_enqueue_script('menu', get_stylesheet_directory_uri().'/js/menu.js', array('jquery') ); wp_enqueue_script('kwicks', get_stylesheet_directory_uri().'/js/jquery.kwicks.js', array('jquery') ); wp_enqueue_script('equalheights', get_stylesheet_directory_uri().'/js/jquery.equalheights.js', array('jquery') ); } add_action('wp_enqueue_scripts', 'puckpros_load_my_scripts'); 

Hinweis: Der Einfachheit halber habe ich die wp_register_script() eliminiert. Sie sind in diesem Fall überflüssig.

Aber wenn Sie unbedingt Core-gebündelte jQuery abmelden müssen, um Ihre eigene Version zu registrieren, versuchen Sie es bei init .

 function pleasedonotderegistercorejquery() { wp_deregister_script( 'jquery' ); wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'); wp_enqueue_script('jquery'); } add_action( 'init', 'pleasedonotderegistercorejquery' );