Cron est un utilitaire Unix/Linux qui est généralement utilisé pour planifier des commandes ou un script sur un serveur web qui tourne en arrière-plan. Une tâche cron est la tâche elle-même, qui est utilisée pour planifier des tâches à des heures, des dates ou des intervalles fixes périodiques. Il s’agit généralement de tâches répétitives qui sont automatisées pour gagner du temps. Dans WordPress, ceci est géré par WP-Cron, qui est utilisé pour simuler un cron système.
Quelques exemples d’une tâche cron de WordPress peuvent impliquer la planification d’un article à être publié ou d’un plugin de sauvegarde s’exécutant selon un calendrier prédéfini. Aujourd’hui, nous allons nous plonger dans la façon de créer, de modifier et d’exécuter facilement une tâche cron WordPress.
- Comment configurer une tâche WordPress
- Programmation de WP-Cron
- Événements WP-Cron
- Modifier un événement Cron
- Ajouter un événement Cron
- WP-Cron avec WP-CLI
- Comment désactiver WP-Cron
Comment configurer une tâche cron WordPress
Il est important de noter que WP-Cron est légèrement différent d’un cron système et ils ont chacun leurs propres avantages et inconvénients. Par exemple, WP-Cron repose entièrement sur des intervalles, alors qu’un cron système repose sur des temps spécifiques. Un WP-Cron ne fonctionne également que lorsque la page est chargée (backend ou frontend), ce qui pourrait être moins fiable. Les intervalles par défaut fournis par WordPress sont horaires, biquotidiens et quotidiens.
Pour planifier les événements WP-Cron, vous devez créer des hooks personnalisés. Nous vous recommandons de consulter le manuel officiel du plugin WordPress qui contient un guide intéressant sur la planification des événements WP Cron. Si vous êtes à la recherche d’une autre façon de configurer un cron système avec WordPress, nous vous recommandons de lire l’article de Tom Mcfarlin sur la définition d’une tâche cron WordPress. Et pour ceux qui ne sont peut-être pas aussi avancés, nous allons explorer comment utiliser facilement WP-Cron avec le populaire plugin gratuit WP Crontrol. Ceci vous permet de voir et de contrôler ce qui se passe dans le système WP-Cron.

WP Crontrol a plus de 80 000 installations actives avec une note impressionnante de 4,9 sur 5. Beaucoup de gens dans la communauté WordPress aiment vraiment ce plugin.
Ce plugin est super utile. Il montre ce que les tâches CRON devraient exécuter, excellente première étape pour comprendre ce qui se passe et si cela fonctionne ou non. 5 étoiles juste là. De plus, vous pouvez créer de nouvelles tâches cron et déclencher des crons existants à être exécutés, 5 étoiles bonus en plus. — Josh, créateur de Caldera Forms
Vous pouvez le télécharger à partir du référentiel WordPress ou en le recherchant dans votre tableau de bord WordPress sous « Ajouter » extensions. Les caractéristiques de WP Control incluent :
- La possibilité de visualiser tous les événements cron avec leurs arguments, leur récurrence et la date d’exécution suivante.
- Modifier, supprimer et exécuter immédiatement tous les événements cron.
- Ajouter de nouveaux événements cron.
- Ajouter, modifier et supprimer des crons programmés personnalisés.
Cron serveur
Si vous êtes un client Kinsta, nous avons également un cron serveur qui fonctionne sur tous les sites toutes les 15 minutes. Consultez notre article sur la gestion des crons serveurs chez Kinsta.
Programmation de WP-Cron
Une fois activé, vous pouvez modifier les tâches cron de WordPress sous « Cron Schedules » dans les paramètres de votre tableau de bord WordPress. Notez que le plugin ajoute une programmation par défaut supplémentaire hebdomadaire. Vous pouvez également ajouter des programmations supplémentaires en quelques secondes, par exemple 21600 secondes pour toutes les 6 heures.

Ces intervalles peuvent également être ajoutés avec du code à l’aide d’un filtre, par exemple :
add_filter( 'cron_schedules', 'example_add_cron_interval' );
function example_add_cron_interval( $schedules ) {
$schedules['five_seconds'] = array(
'interval' => 5,
'display' => esc_html__( 'Every Five Seconds' ),
);
return $schedules;
}
Événements WP-Cron
Vous pouvez également utiliser le plugin pour voir vos tâches cron WordPress en cours qui sont déjà planifiées. Sous Outils, cliquez sur « Cron Events ». Beaucoup de noms d’actions sont facilement reconnaissables car ils doivent correspondre à une partie du nom du plugin, comme « woocoomerce_cleanup_sessions » ou « gravityforms_cron ».

Vous lancez un événement Cron immédiatement en cliquant simplement sur « Exécuter maintenant » à côté du nom de l’action. Cela peut être utile pour dépanner des choses comme vous pourriez avoir besoin d’exécuter un événement Cron plusieurs fois.

Modifier un événement Cron
Vous pouvez également éditer les événements Cron existants en cliquant sur « Edit » à côté du nom de l’action. Vous pouvez ensuite modifier le nom de l’action, les arguments, la prochaine exécution et la récurrence programmée. Soyez prudent avec cela, car de nombreux plugins dépendent de leur tâche Cron pour fonctionner correctement.

Ajouter un événement Cron
Vous pouvez également ajouter des événements Cron. Dans cet exemple, nous allons ajouter une tâche cron WordPress pour le plugin Disqus. Beaucoup peuvent vouloir le faire pour modifier la fréquence de synchronisation ou s’ils ont des problèmes avec la synchronisation des commentaires. La documentation de chaque développeur de plugin tiers devrait avoir le nom de son événement cron, ou plutôt le nom de l’action. Dans ce cas, c’est « dsq_sync_forum » qui est utilisé par le plugin.
Si vous en créez un à partir de zéro, vous aurez besoin d’un hook d’action correspondant quelque part dans votre code, tel que votre fichier functions.php. Ceci est l’exemple donné par WP-Crontrol :
add_action( 'my_hookname', 'my_function' );
L’étape suivante consiste à écrire votre fonction.
function my_function() {
wp_mail( '[email protected]', 'WP Crontrol', 'WP Crontrol rocks!' );
}
Pour Disqus, nous ajoutons d’abord une nouvelle programmation cron de 600 secondes (10 minutes). On clique ensuite sur « Add Cron Event » et on entre « dsq_sync_forum » comme nom d’action, on choisit le temps d’exécution suivant, et on choisit la récurrence de 10 minutes qu’on vient de créer. Puis on clique sur » Add Cron Event ». Cela s’exécutera désormais automatiquement toutes les 10 minutes pour nous permettre de synchroniser manuellement les commentaires de Disqus vers notre base de données WordPress.

Et c’est à peu près tout ! C’est très facile à utiliser.
WP-Cron avec WP-CLI
Vous pouvez également gérer des événements WP-Cron et/ou une tâche cron WordPress dans WP-CLI. Par exemple, la commande suivante vous donnera la liste des événements cron courants.
wp cron event list
Voir la documentation officielle de cron avec WP-CLI pour des commandes et paramètres supplémentaires.
Économisez du temps et de l’argent et optimisez les performances de votre site avec :
- Aide instantanée des experts en hébergement WordPress, 24/7.
- Intégration de Cloudflare Enterprise.
- Une audience mondiale avec 32 centres de données dans le monde entier.
- Optimisation avec notre surveillance intégrée de performance d’applications (APM).
Tout cela et bien plus encore, dans un seul plan sans contrat à long terme, avec des migrations assistées et une garantie de remboursement de 30 jours. Pour trouver le plan qui vous convient, Découvrez nos plans ou contactez nous.