Solución:
El segundo parámetro para tb_show
es la URL, por lo que querrá usar algo como …
<?php
$ajax_url = add_query_arg(
array(
'action' => 'getTheContent',
'query_var1' => 'value1',
'query_var2' => 'value2'
),
admin_url( 'admin-ajax.php' )
);
?>
tb_show(tag, '<?php echo $ajax_url; ?>' );
Supongo que debe pasar la acción y cualquier variable de consulta adicional manualmente (como se indica arriba), de lo contrario, su solicitud es simplemente para admin-ajax.php
, cuando lo que buscas es algo como … admin-ajax.php?action=getTheContent&someothervar=someothervalue
, por lo tanto, la add_query_arg
uso anterior ..
Para aclarar:
La siguiente llamada a add_query_arg
…
add_query_arg(
array(
'action' => 'getTheContent',
'query_var1' => 'value1',
'query_var2' => 'value2'
),
admin_url( 'admin-ajax.php' )
);
Es equivalente y producirá …
http://example.com/wp-admin/admin-ajax.php?action=getTheContent&query_var1=value1&query_var2=value2
¡Sin embargo!
Habiéndome explicado ahora, me he dado cuenta de que no queremos la URL absoluta y, por lo tanto, no necesitamos la llamada a admin_url
ahí. En su lugar, el código debería ser.
<?php
$ajax_url = add_query_arg(
array(
'action' => 'getTheContent',
'query_var1' => 'value1',
'query_var2' => 'value2'
),
'admin-ajax.php'
);
?>
tb_show(tag, '<?php echo $ajax_url; ?>');
Entonces, la URL resultante se parece a esto …
admin-ajax.php?action=getTheContent&query_var1=valu1&query_var2=value2
Funciones a las que se hace referencia en los ejemplos de código anteriores:
-
Agregar argumento de consulta
http://codex.wordpress.org/Function_Reference/add_query_arg
-
URL de administrador
http://codex.wordpress.org/Function_Reference/admin_url
Desordenar javascript y PHP no es muy inteligente. Esta respuesta solo confunde.
tb_show es javascript add_query_arg es PHP
por lo que esta solución solo es válida en PHP y el código adecuado es
...
?>
tb_show(
'whatever',
<?php echo add_query_arg( array(
'action' => 'getTheContent',
'query_var1' => 'value1',
'query_var2' => 'value2',
), 'admin-ajax.php'); ?>
);
<?php
...
Y en javascript no es válido en absoluto ya que no podemos usar add_query_arg