Ruft wp_localize_script eine JavaScript-function auf oder übergibt einfach PHP-Parameter an sie

Einfache Frage: Ich versuche wp_localize_script zu verstehen.

wp_localize_script eine JavaScript-function auf oder wp_localize_script sie einfach PHP-Parameter an JavaScript?

Ich möchte PHP-Parameter an eine JavaScript-function übergeben und die JS-function aufrufen.

Solutions Collecting From Web of "Ruft wp_localize_script eine JavaScript-function auf oder übergibt einfach PHP-Parameter an sie"

wp_localize_script nimmt ein Array von Daten (in PHP) spuckt ein Javascript aus. Es ist eine Möglichkeit für Sie, dynamische Daten für ein bestimmtes Skript zum Frontend hinzuzufügen, ohne sich in wp_head oder wp_footer einklinken zu müssen und es selbst auszugeben. wp_localize_script gibt wp_localize_script Ihre Daten direkt über dem eingereihten Skript aus. Das wp_head in wp_head oder wp_footer wird das nicht tun.

wp_localize_script ruft keine JavaScript-functionen auf. Es ist eine Möglichkeit, genau das zu tun, was Sie wollen: Dynamische Daten von der Serverseite (PHP) an die Clientseite (Javascript) übergeben.

Ein Beispiel

Ihr Thema muss ein Stück Post-Metadaten aufnehmen und es für eine JavaScript-function zugänglich machen.

Du würdest also in wp_enqueue_scripts und folgendes tun …

 < ?php add_action( 'wp_enqueue_scripts', 'wpse34008_enqueue' ); function wpse34008_enqueue() { // if we're not on a singular page, bail if( ! is_singular() ) return; global $post; if( empty( $post ) ) $post = get_queried_object(); // enqueue your script... wp_enqueue_script( 'wpse34008-script', 'http://example.com/path/to/script.js' ); wp_localize_script( 'wpse34008-script', 'wpse34008', array( 'meta' => get_post_meta( $post->ID, '_wpse34008_meta', true ) ) ); } 

Dann irgendwo die eingereihte script.js Datei, du kannst das Post-Meta so bekommen …

 // somewhere in the js file someFunction( wpse34008.meta ); 

Sinn ergeben?