Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

php mediante ajax, no me ejecuta funciones wordpress

Estas en el tema de php mediante ajax, no me ejecuta funciones wordpress en el foro de WordPress en Foros del Web. Hola amigos. estoy creandoun plugin. El cual ya tengo linkeados mediante wp_enqueue mis estilos y mi script (css, js) En el JS tengo un ajax, ...
  #1 (permalink)  
Antiguo 12/02/2016, 11:18
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años, 8 meses
Puntos: 116
php mediante ajax, no me ejecuta funciones wordpress

Hola amigos. estoy creandoun plugin.

El cual ya tengo linkeados mediante wp_enqueue
mis estilos y mi script (css, js)

En el JS tengo un ajax, al cual llamo un archivo php que se encuentra en la misma ruta del plugin "ajax.php"

Todo funciona perfectamente.

La respuesta de la peticion ajax hacia el archivo "ajax.php" es 100% funcional.

el problema es que mi archivo "ajax.php" no me ejecuta ninguna funcion de wordpress.

get_plugin_url();
update_option();
etc...

Me dice que no se ha especificado esa funcion, es decir, se comporta como un PHP Normal, no me ejecuta las funciones wordpress.

Que debo de crear para que me ejecutar funciones wordpress dentro del "ajax.php"

Un saludo
__________________
Programador jQuery & PHP
  #2 (permalink)  
Antiguo 12/02/2016, 11:33
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 9 meses
Puntos: 1146
Respuesta: php mediante ajax, no me ejecuta funciones wordpress

Amigo, como bien sabes para ayudarte debemos ver tu código, sin el solo jugamos adivinanzas.

Por favor publica tu código, lo mas probable es que no estés declarando las funciones correctamente.
  #3 (permalink)  
Antiguo 12/02/2016, 12:16
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años, 8 meses
Puntos: 116
Respuesta: php mediante ajax, no me ejecuta funciones wordpress

En mi plugin tengo esto:
Código HTML:
Ver original
  1. add_action( "admin_enqueue_scripts", "jk_load" );
  2. function jk_load() {
  3.     wp_enqueue_style( 'jk_style', plugins_url('style.css', __FILE__) );
  4.     wp_enqueue_script( 'jk_script', plugins_url('drop.js', __FILE__) );
  5. }

en el archivo drop.js tengo esto
Código Javascript:
Ver original
  1. $j("#save").click( function() {
  2.    
  3.         $j.ajax({
  4.             type: "post",
  5.             url: jk_url.ajaxphp,
  6.             data:{
  7.             action:'jk_ajax'
  8.             },
  9.             beforeSend: function() {
  10.                 alert("enviando");
  11.             },
  12.             success: function(a) {
  13.                 alert(a);
  14.             }
  15.         });
  16.  
  17.     });

url: jk_url.ajaxphp, este parametro hace referencia a un archivo llamado "ajax.php"

El cual se ejecuta perfectamente
Código PHP:
Ver original
  1. echo "HOLA DESDE AJAX.PHP";

Al ejecutar me arroja la alerta con el letrero "HOLA DESDE AJAX.PHP"

o sea si funciona bien.

el problema viene si dentro de "ajax.php" quiero usar funciones nativas de wordpress
Como "update_option();"

Me arroja errores, ya hice varias pruebas, y no puedo ejecutar NINGUNA FUNCION WORDPRESS.
Quiero saber como lograr ejecutar funciones wordpress desde "ajax.php"

Saludos.
__________________
Programador jQuery & PHP
  #4 (permalink)  
Antiguo 12/02/2016, 17:42
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 10 meses
Puntos: 193
Respuesta: php mediante ajax, no me ejecuta funciones wordpress

Lo estas haciendo mal, tienes que hacerlo desde el "entorno" de WordPress, tu estas llamando a un PHP fuera de ese entorno.

Checa la documentación: https://codex.wordpress.org/AJAX_in_Plugins

WordPress tiene definida una URL para llamados AJAX admin_url( 'admin-ajax.php' ) y a partir de esa URL comienzas a hacer tus llamados y defines el comportamiento usando "actions" todo dentro del entorno de WP y de esa forma tienes accesos a todos los métodos de WP

Etiquetas: ajax, ejecuta, funciones, mediante, php, plugin
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:26.