Saltar al contenido

Wordpress – admin-ajax.php devuelve 0. ¿Cómo puedo depurarlo y solucionarlo?

Solución:

Habilitar la depuración

WordPress tiene constantes definidas en wp-config.php donde puede imprimir errores en la pantalla y registrarlos en un archivo separado ubicado /wp-content/debug.log. Se parece a esto:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', true );
define( 'WP_DEBUG_LOG', true );

A continuación, puede imprimir su propia información en el registro de depuración en un punto específico y averiguar exactamente dónde (o si la función está siendo golpeada) la función está fallando:

function write_here_featured_image_upload() {
    error_log( 'Made it into the Ajax function safe and sound!' );
    /** ... Rest of your code ... **/
}

Compruebe la consola de herramientas de desarrollo

Casi todos los navegadores en la actualidad tienen herramientas de desarrollo y una consola a la que se envían los errores de Javascrpit. Si ve un error en la consola de Dev Tools, primero deberá solucionarlo.


En cuanto a una posible solución, tiene este condicional que le impide ejecutar ajax en el front-end del sitio web:

if ( is_admin() ) {
    add_action( 'wp_ajax_write_here_img_upload', 'write_here_featured_image_upload' );
    add_action( 'wp_ajax_nopriv_write_here_img_upload', 'write_here_featured_image_upload' );
}

La función is_admin() le dice a WordPress que solamente ejecute esas acciones en cualquier momento en el Panel de administración / Panel de control para que nunca vea que suceda nada en la interfaz de su sitio web. Intente eliminar el condicional y simplemente agregue la acción como está:

add_action( 'wp_ajax_write_here_img_upload', 'write_here_featured_image_upload' );
add_action( 'wp_ajax_nopriv_write_here_img_upload', 'write_here_featured_image_upload' );
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *