Solución: wp_localize_script - variable no definida en jQuery
15 jul 2013, 10:15:54
Vistas: 14.8K
Votos: 3
Intento cargar una publicación con Ajax.
functions.php
:
function my_action_callback() {
wp_localize_script('jscustom', 'ajax_custom', array(
'ajaxurl' => admin_url('admin-ajax.php')
));
wp_enqueue_script('jscustom');
}
add_action('wp_ajax_my_action', 'my_action_callback');
Código jQuery en custom.js
:
jQuery(window).load(function() {
var morebutton = jQuery('#load-more'),
archive = morebutton.rel,
deftext = morebutton.text(),
page = 1;
morebutton.click(function(e){
e.preventDefault();
page++;
morebutton.text(ajax_custom.loading);
jQuery.post(ajax_custom.ajaxurl, {action:'load_more', page:page, archive:archive}, function(data){...
Cuando presiono el botón "cargar más", obtengo un error:
ReferenceError: ajax_custom no está definido
¿Qué está mal?
Todas las respuestas a la pregunta
1
0
wp_localize_script
debe llamarse DESPUÉS de wp_enqueue_script
:
¡IMPORTANTE!: wp_localize_script() DEBE llamarse después de que el script al que está vinculado haya sido encolado o registrado. No coloca el script localizado en una cola para scripts posteriores.
Corrígelo en tu función:
function my_action_callback() {
wp_enqueue_script('jscustom'); // Asumo que lo registraste en otro lugar
wp_localize_script('jscustom', 'ajax_custom', array(
'ajaxurl' => admin_url('admin-ajax.php')
));
}
Siempre puedes verificar en el <head>
de tu página si ves tu variable.

RRikesh
5.66K
15 jul 2013 10:30:25
Preguntas relacionadas
7
respuestas