¿Podemos usar de alguna manera wp_localize_script () para crear variables js globales sin un identificador de script específico al que se pueda acceder desde todos los archivos js, incluso si los scripts js no se ponen en cola correctamente usando wp_enqueue_script?
Este es el código que estoy usando que crea varibale para el identificador 'ajaxscript', por lo que no puedo acceder al objeto 'ajaxobject' en un archivo js que está siendo incluido en el header.php directamente por <script src="xxx" .... />
wp_register_script( 'ajaxscript', get_bloginfo( 'template_url' ) . '/js/ajaxscript.js', array(), $version );
wp_enqueue_script( 'ajaxscript' );
wp_localize_script( 'ajaxscript', 'ajaxobject',
array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'ajaxnonce' => wp_create_nonce( 'itr_ajax_nonce' )
)
);
wp-enqueue-script
wp-localize-script
Subharanjan
fuente
fuente
wp_localize_script
hace de todos modos. Con ambos métodos, se puede acceder a las variables desde cualquier scriptRespuestas:
En lugar de usar wp_localize_script en ese caso, puede conectar sus variables js en wp_head, de esa manera estaría disponible para todos los archivos js como:
También como lo sugiere @Weston Ruter, puede codificar json las variables:
fuente
json_encode
aquí, por ejemplo:var ajaxurl = <?php echo json_encode( admin_url( "admin-ajax.php" ) ); ?>;
Puede exportar cualquier dato que desee en el
wp_head
gancho, como muestran las respuestas anteriores. Sin embargo, debe usarjson_encode
para preparar los datos PHP para exportar a JS en lugar de intentar incrustar valores sin procesar en literales JS:El uso lo
json_encode
hace más fácil para usted y evita errores de sintaxis accidentales si su cadena incluye comillas. Aún más importante, el uso dejson_encode
frustra los ataques XSS.fuente
Terminé haciendo esto. Ahora funciona !! Gracias @ dot1
fuente
json_encode
lugar de crear manualmente JSON.json_encode
ahora :) Gracias @WestonRuter !!Si bien este no es mi mejor trabajo, esta es otra forma directa de lograr poner datos en la respuesta:
Agregue algunos datos JS al contexto de la ventana:
Esto funcionará para los guiones de encabezado o de pie de página y no se repetirá.
fuente