Récemment, l'un de nos lecteurs nous a demandé s'il était possible d'afficher et de contrôler le système de tâches Cron de WordPress dans le tableau de bord. D'après notre expérience, c'est une question que beaucoup d'utilisateurs de WordPress se posent, surtout lorsqu'ils se familiarisent avec le fonctionnement interne de WordPress.
Si vous n'êtes pas familier, Cron est une technologie permettant d'exécuter des tâches planifiées sur un serveur web. WordPress est doté de son propre système Cron intégré qui lui permet d'effectuer des tâches planifiées telles que la vérification des mises à jour, la publication d'articles planifiés, etc.
Dans cet article, nous vous montrerons comment afficher et contrôler les tâches Cron de WordPress.

Qu'est-ce que WordPress Cron ? Comment ça marche ?
Cron est un terme technique utilisé pour les commandes à exécuter à une heure prévue ou à intervalles réguliers. La plupart des serveurs web l'utilisent pour maintenir le serveur et exécuter des tâches planifiées.
WordPress est doté de son propre système Cron, qui lui permet d'effectuer des tâches planifiées. Par exemple, vérifier les mises à jour, supprimer les anciens commentaires de la corbeille, publier des articles planifiés, etc.
Les plugins WordPress peuvent également l'utiliser pour effectuer des tâches que vous spécifiez. Par exemple, votre plugin de sauvegarde WordPress peut utiliser WordPress Cron pour créer automatiquement des sauvegardes selon un calendrier donné.
Cependant, une utilisation irresponsable du cron de WordPress par les plugins peut ralentir votre site web. Surtout si vous êtes sur un hébergement partagé.
Si un plugin effectue fréquemment des tâches gourmandes en ressources, vous devez identifier le problème et le résoudre.
Jetons un coup d'œil à la façon de visualiser et de contrôler le système cron de WordPress sans écrire de code.
Visualiser et contrôler le système cron de WordPress
La première chose à faire est d'installer et d'activer le plugin WP Crontrol. Pour plus de détails, consultez notre guide étape par étape sur comment installer un plugin WordPress.
Après activation, vous devez visiter la page Outils » Événements Cron pour contrôler les paramètres du cron.

Vous verrez une liste de tous les événements cron programmés pour s'exécuter sur votre site en utilisant le système cron de WordPress.
Dans la première colonne, vous verrez le nom du hook qui exécute le cron.
Les noms des hooks vous donnent généralement une indication de ce que fait cet événement particulier.
La plupart des hooks par défaut de WordPress commencent par le préfixe wp_, comme wp_update_plugins, wp_update_themes, etc.
Vos plugins WordPress peuvent ou non utiliser leurs propres préfixes pour leurs hooks. Par exemple, All in One SEO utilise le préfixe aioseo_.
Vous verrez également quand un cron s'exécutera ensuite, et l'intervalle de temps entre les exécutions.
La dernière colonne de la liste vous permet de modifier, supprimer ou exécuter un événement cron.
Important : Soyez très prudent avec ce que vous faites des événements cron, et ne supprimez jamais un événement cron WordPress par défaut.
Supposons maintenant que vous voyez un événement cron créé par un plugin WordPress qui consomme beaucoup de ressources.
Tout d'abord, vous devriez vérifier les paramètres du plugin pour voir s'il existe une option pour le contrôler à partir de là. S'il n'y en a pas, vous pouvez cliquer sur le lien « Modifier » à côté de l'événement cron pour le changer.

Cliquer sur le bouton Modifier ouvrira l'onglet « Modifier l'événement Cron » ci-dessous.
Ici, vous pouvez changer la fréquence à laquelle vous souhaitez que l'événement s'exécute.

Une fois que vous avez terminé, cliquez sur le bouton « Modifier l'événement Cron » pour enregistrer vos paramètres.
Ajouter vos propres événements Cron dans WordPress
Le plugin WP Crontrol permet d'ajouter facilement vos propres tâches cron à WordPress. Visitez simplement la page Outils » Événements Cron et faites défiler jusqu'à l'onglet « Ajouter un événement Cron ».

Tout d'abord, vous devez fournir un nom de hook pour votre événement cron. Les noms de hook ne peuvent pas contenir d'espaces ou de caractères spéciaux.
Si la fonction que vous souhaitez exécuter nécessite des arguments, vous pouvez les fournir.
Ensuite, vous devez indiquer à WordPress quand exécuter le cron la prochaine fois. Vous pouvez entrer « now » (maintenant) pour déclencher le cron immédiatement, « tomorrow » (demain), « +2 days » (dans 2 jours), ou « 25-02-2020 12:34:00 ».
Enfin, vous devez sélectionner une planification. Vous pouvez choisir horaire, deux fois par jour, quotidiennement ou une fois par semaine. Vous pouvez également en faire un événement non répétitif.
Une fois que vous avez terminé, cliquez sur le bouton « Ajouter un événement Cron » pour enregistrer vos modifications.
Vous remarquerez que votre événement cron apparaît maintenant dans la liste des événements.
Cependant, actuellement, il ne fait rien car vous n'avez pas indiqué à WordPress quoi faire lorsque cet événement est déclenché.
Vous devrez ajouter votre hook et une fonction qui s'exécute lorsque le hook cron est déclenché.
add_action( 'wpb_custom_cron', 'wpb_custom_cron_func' );
function wpb_custom_cron_func() {
wp_mail( 'you@example.com', 'Automatic email', 'Automatic scheduled email from WordPress to test cron');
}
N'oubliez pas d'utiliser votre propre adresse e-mail.
Cette fonction envoie simplement un e-mail de test lorsque le cron s'exécute. Vous pouvez maintenant faire défiler la page vers le haut et cliquer sur le lien « Exécuter maintenant » à côté de votre événement cron pour le tester.
Remarque : L'utilisation de cron nécessite des compétences intermédiaires en programmation et en développement WordPress. Si vous n'avez pas ces compétences, nous vous recommandons de faire appel à un développeur WordPress.
C'est tout, nous espérons que cet article vous a aidé à apprendre comment afficher et contrôler les tâches cron de WordPress. Vous pourriez également consulter notre guide sur comment installer en masse vos plugins WordPress préférés ou notre sélection d'experts des meilleurs plugins de sécurité WordPress.
Si cet article vous a plu, abonnez-vous à notre chaîne YouTube pour des tutoriels vidéo WordPress. Vous pouvez également nous retrouver sur Twitter et Facebook.


Mrteesurez
Merci beaucoup d'avoir abordé ce sujet et de nous avoir aidés à mieux comprendre les tâches cron de WordPress. Votre explication détaillée a vraiment clarifié leur fonctionnement et comment les gérer efficacement. J'apprécie les éclaircissements que vous avez partagés ; il est gratifiant d'avoir ces connaissances pour que nos sites fonctionnent sans problème. Merci encore pour votre précieux article !
Paul Barrett
Nous exécutons cron au niveau du serveur car wp-cron surcharge le serveur. Rien sur notre site n'est si critique en termes de temps pour que les tâches doivent s'exécuter fréquemment. Si nous définissions la fréquence à, disons, quotidienne, WordPress aurait-il un problème ?
Support WPBeginner
Cela dépendrait fortement de ce qui est fait sur le site et quand. Nous n'avons pas de recommandation spécifique pour ce qui peut être retardé à ce point.
Admin
Matt K
Quand je vais changer la récurrence sur les Hooks, ils sont simplement re-modifiés. Quelque chose ne va pas. Dois-je d'abord désactiver les crons WP dans wp-config.php ?
Support WPBeginner
Cela dépendrait de la tâche cron spécifique, si vous contactez le support du plugin, ils devraient être en mesure de vous aider
Admin
Heinz
Puis-je désactiver ou même supprimer le plugin WP Control après avoir défini une tâche cron, afin de ne pas avoir trop de plugins en cours d'exécution et de ralentir le site web ?
Support WPBeginner
Oui, tant que vous avez utilisé l'un des calendriers par défaut (comme quotidien). Si vous avez ajouté un calendrier personnalisé, tout événement qui l'utilise s'exécutera une fois de plus mais ne se répétera pas après cela.
Le plugin ne devrait pas ralentir votre site. Pour mieux comprendre comment les plugins WordPress affectent votre site, vous pouvez consulter notre article ici :
https://www.wpbeginner.com/opinion/how-many-wordpress-plugins-should-you-install-on-your-site/
Admin
Andre Hesdahl
Je suis un débutant avec WordPress et je ne sais pas où mettre (ou comment exécuter) le code :
add_action( ‘wpb_custom_cron’, ‘wpb_custom_cron_func’ );
function wpb_custom_cron_func() { wp_mail( ‘you@example.com’, ‘Email automatique’, ‘Email automatique programmé depuis WordPress pour tester le cron’); }
Jeff
Merci pour l'article. Intéressant de voir le nombre de plugins qui exécutent des tâches cron fréquemment. Une excellente plongée sous le capot des plugins...
David
Comment puis-je configurer le cron pour toutes les demi-heures ?
hazel beaver
Lorsque je vérifie le calendrier cron, les dates indiquées dans la colonne « prochaine exécution » sont toutes dans le passé. Cela signifie-t-il qu'elles ne s'exécutent pas ?
Dans le passé, je pense avoir ajouté « true » dans le fichier wp-config pour arrêter les mises à jour automatiques de wp qui cassaient mon site... cela pourrait-il en être la cause ?
Janson
Cela fonctionne-t-il en multisite ? Peut-on contrôler les crons pour toutes les instances dans un scénario multisite ?
Oleg
Excellent article, mais pas besoin de
if ( ! wp_next_scheduled( ‘wpb_custom_cron’ ) ) { wp_schedule_event( time(), ‘hourly’, ‘my_task_hook’ ); }
cette partie est gérée dans le plugin,
beny salim
comment puis-je ajouter une récurrence comme toutes les cinq minutes, toutes les dix minutes
Ahmad Sayeed
J'ai testé votre exemple. Il fonctionne comme un super-héros. Mais s'il vous plaît, donnez-nous un exemple pour envoyer des paramètres. J'ai ajouté la fonction lors de la création de l'événement. Mais je ne sais pas comment les utiliser dans la fonction PHP.
S'il vous plaît, donnez-nous un exemple
Sunny
Mon site web affiche une longue chaîne wp cron après mon URL et je n'arrive pas à m'en débarrasser. Des idées ?
?doing_wp_cron=1499261576.8675799369812011718750 apparaît après mon URL et cela me donne une apparence très spam. Vos éclaircissements seraient appréciés.
Aniket Ashtikar
Est-ce que le hook cron ‘my_task_hook’ est correctement mentionné à la ligne 2 ou devrait-il plutôt être remplacé par ‘wpb_custom_cron’ ?
Matt
Savez-vous s'il est possible de visiter un lien dans la zone d'administration de WordPress ? J'ai un plugin qui ajoute des fonctionnalités d'administration à mon site WordPress mais je veux vraiment que cela soit planifié toutes les 24 heures. J'ai le lien mais évidemment je dois être connecté.
Pam M
Avez-vous besoin de cette première instruction if montrée dans le code d'exemple ? Il semble qu'elle remplacerait la capacité de planifier et de désplanifier dans le plugin WP Crontrol.
Votre exemple a bien fonctionné lorsque j'ai planifié la tâche dans le plugin et l'ai testée avec l'option Exécuter maintenant. Je verrai si je reçois un e-mail à l'heure prévue.
Merci pour les informations de fond utiles.
Nigam
Salut
Lorsque je rafraîchis la page des événements WP-Cron depuis l'administration de WordPress, l'événement ne s'exécute que.