jQuery funktioniert nicht

Ich arbeite an einem Projekt, für das ich jQuery brauche. Ich habe das zu meinen functionen hinzugefügt und die Skripte werden in meine Kopfzeile geladen, wenn ich meine Seitenquelle betrachte, aber jQuery funktioniert nicht. Was mache ich falsch?

function stn_script_enqueuer() { wp_register_script( 'ajax-vote', get_template_directory_uri() . '/js/ajax-vote.js', array('jquery') ); $nonce = wp_create_nonce("vote_nonce"); $stn_vote_data = array( 'ajaxurl' => admin_url( 'admin-ajax.php'), 'nonce' => $nonce, ); wp_localize_script( 'ajax-vote', 'stn_vote', $stn_vote_data ); wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'ajax-vote' ); } add_action( 'init', 'stn_script_enqueuer' ); 

Solutions Collecting From Web of "jQuery funktioniert nicht"

Skripte und Stylesheets sollten immer über den wp_enqueue_scripts action hook in den Kopf oder in die Fußzeile wp_enqueue_scripts action hook . wp_enqueue_scripts ist der richtige Hook, der beim Einreihen von Elementen in die Warteschlange verwendet wird, die am Frontend erscheinen sollen

Der init Hook wird vor wp_head was zu früh ist, damit das Skript in den Header geladen werden kann. Der wp_enqueue_scripts wird direkt nach wp_head , sodass Skripts und Stile ordnungsgemäß geladen werden können. Dies hat auch den Vorteil, Skriptabhängigkeiten zu benennen und Skripte und Stile ordnungsgemäß zu laden

Sie sollten zuerst Ihre Skripte mit einem Haken auf wp_enqueue_scripts wie diesem wp_enqueue_scripts zum Beispiel:

 add_action( 'wp_enqueue_scripts', 'load_my_scripts' ); function load_my_scripts() { wp_enqueue_script( 'jquery' ); } 

Was ich tun möchte, ist, mein Skript mit einem Haken bei der Initialisierung zu registrieren und sie dann mit einem Haken bei wp_enqueue_scripts in die wp_enqueue_scripts :

 // Register Scripts add_action('init', 'my_register_scripts'); function my_register_scripts() { wp_register_script( 'myscript', get_template_directory_uri() . '/js/my.js', array('jquery')); } //Enqueue Scripts add_action('wp_enqueue_scripts', 'my_enqueue_scripts'); function my_enqueue_scripts() { wp_enqueue_script('myscript'); } 

Dann gibt es etwas Wichtiges zu beachten: WordPress lädt die jQuery im No Conflict-Modus, das bedeutet, dass Sie Ihre jQuery-abhängigen Skripte entsprechend codieren müssen.

Beispiel:

 jQuery(document).ready(function() { /* if you add some code here, you will have to use "jQuery" as a selector */ jQuery(".mydiv").css('background-color', 'red'); }); 

Oder Sie können ” $ ” als Argument für function() hinzufügen, um den Standardselektor zu verwenden.

 jQuery(document).ready(function($) { /* if you add some code here, you will have to use "$" as a selector */ $(".mydiv").css('background-color', 'red'); }); 

Hoffe, es wird helfen, wenn nicht, bitte mehr Details zu Ihrem Problem.