Hinzufügen eines benutzerdefinierten Skripts zur Datei functions

Ich habe ein Problem beim Hinzufügen eines benutzerdefinierten Skripts zu meiner Datei functions.php:

add_action('wp_print_scripts', 'load_AJAX_URL__'); function load_AJAX_URL__() { wp_localize_script( 'ajax_URL', 'MyAjax', array( 'ajaxurl' => admin_url('admin-ajax.php') ) ); } 

Warum funktioniert nicht? irgendwelche Ideen?

Solutions Collecting From Web of "Hinzufügen eines benutzerdefinierten Skripts zur Datei functions"

Die function wp_localize_script() wird verwendet, um Variablen an ein Skript zu senden, das bereits registriert und eingereiht ist. Haben Sie eine js-Datei, die registriert und eingereiht wurde und das Handle von ‘ajax_URL’ hat? Wenn nicht, dann erklärt das, warum es nicht funktioniert.

Außerdem ist ajaxurl bereits eine js-Variable, auf die über alle Skripte zugegriffen werden kann, die Sie in die Warteschlange stellen. Daher bin ich mir nicht ganz sicher, was Sie hier vorhaben.

Wenn Sie nur versuchen, Ihrem Design eine neue js-Datei hinzuzufügen, möchten Sie sich die function wp_enqueue_script() .

Ok, du kannst es so machen.

 function my_ajax_scripts() { $data = array( 'ajaxurl' => admin_url('admin-ajax.php') ); wp_enqueue_script( 'ajax_url', get_stylesheet_directory_uri() . '/my-custom-ajax.js' ); wp_localize_script( 'ajax_url', 'MyAjax', $data ); wp_enqueue_script( 'ajax_url_2', get_stylesheet_directory_uri() . '/my-custom-ajax-2.js' ); wp_localize_script( 'ajax_url_2', 'MyAjax', $data ); } add_action( 'wp_enqueue_scripts', 'my_ajax_scripts' ); 

Sie müssen zuerst die Skripts in die Warteschlange einreihen und dann mit wp_localize_script eine Variable an diese Datei übergeben, indem Sie das Handle dieser bestimmten js-Datei verwenden.