Je suis nouveau dans le développement WordPress et j'utilise cron job pour la première fois. J'ai un problème avec le travail cron qui ne se déclenche pas. Voici toutes les mesures que j'ai prises pour y parvenir. J'ai mis cette ligne dans mon fichier wp-config
define('DISABLE_WP_CRON', true);
Ensuite, j'ai configuré un travail cron dans mon cpanel avec cette commande.
wget -q -O - http://mywebsite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
J'ai choisi un intervalle toutes les 30 minutes.
Mais maintenant, le travail de cron ne déclenche pas ma fonction WordPress. Voici le code que j'utilise dans functions.php de mon thème.
wp_schedule_event(time(), 'hourly', 'my_hourly_event');
add_action('my_hourly_event', 'do_this_hourly');
function do_this_hourly() {
wp_mail( '[email protected]', 'Automatic email', 'Automatic scheduled email from WordPress to test cron');
}
Quelqu'un peut-il me dire ce que je fais mal avec cela parce que je ne reçois pas d'e-mails de cette fonction. J'apprécierai vraiment ton aide.
Je vous remercie!
Vous devez d’abord créer l’intervalle de 30 minutes. Utiliser le filtre:
add_filter('cron_schedules','my_cron_schedules', 999 );
function my_cron_schedules($schedules) {
$schedules['thirty_min'] = array(
'interval' => 1800, // Every 30 mins
'display' => __( 'Every 30 mins' ),
);
return $schedules;
}
Ensuite, vous devez exécuter le travail planifié:
wp_schedule_event( time(), 'thirty_min', 'your_event_hook' );
Ajoutez ensuite l'action et la fonction de rappel:
add_action('your_event_hook', 'do_this_hourly');
function do_this_hourly() {
wp_mail( '[email protected]', 'Automatic email', 'Automatic scheduled email from WordPress to test cron');
}
vous avez besoin de define('DISABLE_WP_CRON', true);
dans votre wp-config.php
Ensuite, vous pouvez planifier votre système cron.