Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

172
Vistas
La llamada Ajax no funciona en wordpress a través de un complemento

Tengo 2 llamadas Ajax, la primera funciona, pero cuando envía los datos a otro archivo send_data.php y cuando intento ejecutar cualquier función de wordpress, ¡no funciona!

Esta es la primera llamada ajax, ahora los datos enviados al archivo send_data.php cuando intento ejecutar cualquier función de wordpress como esta add_post_meta(2, 'dropbox', 'Senddataphp', false); imprime este error, lo que quiero hacer es bastante simple, simplemente obtenga los datos de ajax insertados en la base de datos wp, pero no tengo idea cada vez que trabajo con js con problemas de php como este sucede

 caught Error: Call to undefined function add_post_meta() in C:\xampp\htdocs\wordpress\wp-content\plugins\Dropboxapi\includes\send_data.php:17 Stack trace:

Primer código Ajax

 $.ajax({ type: "POST", url: 'wp-content/plugins/Dropboxapi/includes/send_data.php', data: { req: JSON.stringify(dropbox_links) }, cache: false, success: function(responseData) { // consider using console.log for these kind of things. console.log("Data recived: " + responseData); console.log("First Ajax" + dropbox_links); } });

Segundo código Ajax aquí Traté de ejecutar una función que toma los datos enviados e inserta en la base de datos pero no funciona, el archivo dropbox.php es el archivo principal del complemento

 $.ajax({ type: "POST", url: 'wp-content/plugins/Dropboxapi/dropbox.php', data: { functionname: 'printdata2' }, success: function(obj, textstatus) { if (!('error' in obj)) { var yourVariable = obj.result; console.log("SEc Ajax" + dropbox_links + yourVariable); } else { console.log(obj.error); console.log("SEc1 errr Ajax" + dropbox_links + yourVariable); } }, error: function(msg) { console.log( " errrnot sure what to ask for here to check issue" + msg); } });
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Cuando se usa ajax en WordPress, el archivo que almacena la función que desea ejecutar no se llama directamente. En su lugar, se llama admin-ajax.php y se agrega la función de devolución de llamada en 'action' . Primero cree una función y agregue su add_meta_box dentro de ella, luego agregue ganchos de acción wp_ajax como el siguiente. Recuerde que cada función que va a ser llamada por solicitud ajax debe terminar con wp_die() .

 function printdata2() { add_post_meta(2, 'dropbox', 'Senddataphp', false); wp_die(); } add_action( 'wp_ajax_nopriv_printdata2', 'printdata2' ); add_action( 'wp_ajax_printdata2', 'printdata2' );

Luego use wp_localize_script() para pasar admin_url('admin-ajax.php') a javascript.

 function load_script() { wp_enqueue_script( 'your-js', get_template_directory_uri() . '/js/your-js.js', array('jquery') ); wp_localize_script( 'your-js', 'ajax_object', array('ajaxurl' => admin_url('admin-ajax.php')) ); } add_action('wp_enqueue_scripts', 'load_script');

Ahora, en su archivo javascript, llame a ajaxurl en url y el nombre de la función de devolución de llamada en action .

 $.ajax({ url: ajax_object.ajaxurl, data: { action: 'printdata2' }, success: function(obj, textstatus) { // obj goes here... }, error: function(msg) { console.log(msg); } });
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda