wp_schedule_event no funciona?

2

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.

Se toma directamente de los ejemplos de Wordpress aquí: enlace . Excepto que quité los guiones bajos (ver advertencia en la documentación).

El código se está ejecutando en mi archivo de funciones de tema.php. El cron parece estar registrado pero la función prefixdothishourly no se activa (por lo que puedo decir)

add_action( 'wp', 'prefixsetupschedule' );

/**
 * On an early action hook, check if the hook is scheduled - if not, schedule it.
 */
function prefixsetupschedule() {
    if ( ! wp_next_scheduled( 'prefixhourlyevent' ) ) {
        wp_schedule_event(time(), 'hourly', 'prefixhourlyevent');
    }
}

add_action( 'prefixhourlyevent', 'prefixdothishourly' );

/**
 * On the scheduled action hook, run a function.
 */
 function prefixdothishourly() {
     return wp_mail("me@example.com", "Notification TEST", "TEST", null);
 }
    
pregunta benedict_w 06.06.2014 - 16:27

2 respuestas

6

Resulta que tuve que establecer el indicador ALTERNATE_WP_CRON en wp-config.php para que esto funcione:

define('ALTERNATE_WP_CRON', true);
    
respondido por el benedict_w 10.06.2014 - 14:55
0

Básicamente, ALTERNATE_WP_CRON redirige de forma transparente a un usuario que visita su sitio y podría generar un parámetro de consulta doing_wp_cron agregado a la URL.

Si, por algún motivo, las tareas cron de WordPress fallan debido a una carga excesiva o debido al poco tráfico en el sitio web, puede ser una buena opción cambiar a una tarea cron / externa del servidor para activar el cron de WordPress. usted.

    
respondido por el tribulant 11.05.2016 - 21:34

Lea otras preguntas en las etiquetas