¿wp_schedule_event no funciona?
No puedo hacer que un cron de WordPress se dispare. Estoy intentando ejecutar este código para ver si puedo recibir un correo electrónico cada hora.
Está tomado directamente de los ejemplos de WordPress aquí: http://codex.wordpress.org/Function_Reference/wp_schedule_event. Excepto que eliminé los guiones bajos (ver advertencia en la documentación).
El código se ejecuta en el archivo functions.php de mi tema. El cron parece estar registrado pero la función prefixdothishourly
no se ejecuta (hasta donde puedo ver).
add_action( 'wp', 'prefixsetupschedule' );
/**
* En un hook de acción temprano, verifica si el hook está programado - si no, lo programa.
*/
function prefixsetupschedule() {
if ( ! wp_next_scheduled( 'prefixhourlyevent' ) ) {
wp_schedule_event(time(), 'hourly', 'prefixhourlyevent');
}
}
add_action( 'prefixhourlyevent', 'prefixdothishourly' );
/**
* En el hook de acción programada, ejecuta una función.
*/
function prefixdothishourly() {
return wp_mail("me@example.com", "Notificación TEST", "TEST", null);
}
El ALTERNATE_WP_CRON
básicamente realiza una redirección transparente cuando un usuario visita tu sitio y podría resultar en un parámetro de consulta doing_wp_cron
añadido a la URL.
Si por cualquier razón tus trabajos cron de WordPress están fallando debido a demasiada carga o debido a muy poco tráfico en el sitio web, puede ser una buena opción cambiar a un trabajo cron del lado del servidor/externo para activar el cron de WordPress por ti.
