Cron est un utilitaire UNIX standard pour planifier l’exécution d’une tâche (script ou commande) à une heure, une date ou un intervalle spécifique. La tâche qu’il va exécuter est connue sous le nom de tâche cron. Comme vous pouvez le deviner, le but d’une tâche cron est d’automatiser les tâches répétitives afin que vous puissiez utiliser votre temps de manière plus productive.
Cependant, la tâche cron de WordPress est légèrement différente de la tâche cron standard, et c’est pourquoi avant de plonger dans l’action et le processus, vous devez comprendre ce qu’est un cron WordPress et comment il fonctionne.
- Qu’est-ce qu’un cron WordPress ?
- Comment gérer une tâche cron WordPress
- Comment gérer les tâches cron de WordPress avec un plugin
- Etape 1 : Installer le plugin WP Control
- Etape 2 : Voir et comprendre les événements cron
- Etape 3 : éditer l’événement cron
- Étape 4 : Ajout d’un intervalle de temps personnalisé
- Etape 5 : Ajouter un nouvel événement cron
- Comment gérer les tâches cron de WordPress avec WP CLI
- Comment configurer une véritable tâche cron
- Étape 1:Ouvrir et modifier le fichier wp-config.php
- Étape 2 : Ajout d’une nouvelle tâche cron au serveur
- Mots finaux !
Qu’est-ce qu’un cron WordPress ?
WordPress a son propre système de cron pour planifier des tâches telles que la vérification des mises à jour, la planification de la publication d’un article et la suppression des commentaires de la corbeille. Toutes les tâches cron sont gérées par WP-Cron.
Bien que le nom (et l’idée principale) vienne de UNIX cron, WP-Cron ne fonctionne pas comme cela et utilise des intervalles pour la planification des tâches. Les intervalles de temps par défaut fournis par WordPress sont l’heure, deux fois par jour, le jour et la semaine. Ici, les tâches temporelles dépendent des utilisateurs qui visitent votre site, ce qui signifie que WP-Cron ne s’exécutera que si un utilisateur visite votre site Web.
En d’autres termes, WP-Cron est exécuté lorsque la page se charge. Parfois, ce n’est pas si fiable, et c’est pourquoi de nombreux utilisateurs préfèrent une tâche cron au niveau du serveur plutôt que la tâche WP-Cron.
Dans cet article, je vais vous montrer comment gérer les tâches cron de WordPress et configurer une véritable tâche cron pour votre site WordPress.
Comment gérer une tâche cron WordPress
Il existe de nombreuses façons de configurer et de gérer les tâches cron WordPress, mais je vais vous montrer deux méthodes populaires.
La première utilise un plugin de gestion cron comme WP Crontrol qui vous permet d’ajouter, de modifier et de gérer les tâches cron WordPress directement depuis le tableau de bord WP. Vous pouvez également créer une tâche cron, construire des crochets et des fonctions, et définir des intervalles de temps personnalisés pour les tâches.
Et la deuxième méthode est avec WordPress CLI.
Comment gérer les tâches cron de WordPress avec un plugin
J’utiliserai le plugin WP Crontrol qui vous permet de visualiser et de contrôler les tâches cron de WP pour votre application WordPress. C’est le plugin populaire utilisé pour gérer les tâches cron de WP et a plus de 100 000 installations actives.
C’est la méthode la plus simple pour gérer les tâches cron de WordPress et vous pouvez rapidement voir, modifier, créer, supprimer et peut faire beaucoup plus avec les événements cron de WP.
Alors, commençons!
Etape 1 : Installer le plugin WP Control
Comme tout autre plugin, vous devez installer WP Crontrol depuis le dépôt de plugins et l’activer. Une fois qu’il est installé, vous remarquerez qu’une nouvelle option « Cron Events » est apparue dans l’onglet Tools.
Etape 2 : Voir et comprendre les événements cron
Puis, vous devez cliquer sur Cron Events et vous verrez une liste des événements cron qui sont en cours d’exécution sur votre application WordPress.
À partir de cette section, vous pouvez exécuter, modifier et supprimer vos événements cron. Vous verrez cette option lorsque vous passerez votre souris sur n’importe quel événement cron.
Vous trouverez également des informations utiles sur ces tâches cron, et identifierez rapidement quelle tâche cron est utilisée à quelle fin et bien plus encore. Dans la première colonne, Hook indique le nom du hook utilisé par le noyau WordPress ou tout plugin. Par exemple, le préfixe « wp » indique simplement qu’il s’agit d’un cron du noyau de WordPress. Vous remarquerez également qu’il n’y a pas d’option pour supprimer ces événements cron, mais vous pouvez utiliser les options edit et run now. De même, pour vos plugins, vous remarquerez que d’autres préfixes sont utilisés (par exemple, pour WooCommerce, « wc » ou « woocommerce »).
La deuxième colonne Arguments contient juste les arguments qui sont passés aux fonctions de hook.
La troisième colonne indique quand cette tâche cron va s’exécuter la prochaine fois.
La quatrième colonne Action indique quelle action cette tâche cron va effectuer (la « fonction » de la tâche cron).
La dernière colonne définit les timings de récurrence des tâches cron. Il s’agit essentiellement de l’intervalle de temps pour la tâche planifiée.
Etape 3 : éditer l’événement cron
Maintenant, éditons une tâche cron WP pour tester ce plugin.
Aller sur le nom d’un crochet et cliquer sur éditer. Une nouvelle section « Edit Cron Event » apparaîtra où vous verrez différents champs. Dans mon cas, j’ai édité le crochet « wp_privacy_delete_old_export_files ». Ensuite, je vais changer la récurrence de cette tâche cron à « Toutes les quinze minutes ».
Étape 4 : Ajout d’un intervalle de temps personnalisé
Puis, je vais vous montrer comment ajouter un intervalle de temps personnalisé pour vos événements cron. Pour cela, cliquez sur l’onglet « Cron Schedule » et un nouvel écran apparaîtra où vous verrez les détails des intervalles de temps programmés. Ensuite, faites défiler jusqu’en bas où vous verrez « Add Cron Schedule ». Remplissez les champs et cliquez sur Add Cron Schedule.
Notez que la saisie de l’intervalle est en secondes. Je vais utiliser 600 secondes pour définir l’intervalle à 10 minutes.
Maintenant, vous pouvez modifier votre événement cron et le remplacer par votre propre intervalle personnalisé.
Etape 5 : Ajouter un nouvel événement cron
Maintenant, vous savez comment gérer les tâches simples pour vos événements cron mais que faire si vous voulez ajouter votre propre tâche cron pour votre application WordPress. Ne vous inquiétez pas, c’est si simple et tout ce que vous avez à faire est de suivre les instructions ci-dessous.
D’abord, cliquez sur Add Cron Event et vous arriverez dans la section add cron. Ensuite, il suffit de donner un nom de crochet comme vous le souhaitez (devrait suivre la convention de nommage normale de PHP et sans espaces).
Puis, ajoutez les arguments (c’est facultatif) et dans mon cas, c’est vide. Et ensuite, sélectionnez n’importe quelle option et mettez une heure dans le champ Prochaine exécution. Enfin, choisissez une heure de récurrence (heure de planification) pour votre nouveau cron et cliquez sur Add Event.
Si vous avez des questions à ce sujet, alors vous pouvez vérifier les paramètres de n’importe quelle tâche cron en cours d’exécution à partir de vos événements cron.
Après avoir ajouté une nouvelle tâche cron, puis allez dans l’onglet événements cron et vérifiez votre cron nouvellement créé. Vous remarquerez que dans la colonne action, il vous montrera None (erreur). C’est parce que vous n’avez pas défini d’actions pour cette tâche cron. Vous devez donc écrire quelques lignes de code dans le fichier functions.php du thème et ajouter une action.
Note : Avant d’aller plus loin, il est fortement recommandé de sauvegarder le site WordPress.
Ouvrons le fichier et ajoutons les lignes de code suivantes juste après <?php:
add_action( 'cloudways_new_cron', 'cw_function' );function cw_function() {wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - a Managed Cloud Hosting!' );}
N’oubliez pas de remplacer mon adresse email par la vôtre.
Vous pouvez voir dans l’image ci-dessus, je l’ai directement édité avec le tableau de bord WordPress. Si vous le souhaitez, vous pouvez éditer ce fichier via un client FTP comme FileZilla.
Puis, vérifions la boîte de réception des emails et voyons si nous recevons le message.
Tada ! C’est fait et nous avons ajouté avec succès un nouvel événement cron.
Comment gérer les tâches cron de WordPress avec WP CLI
Vous pouvez également afficher et gérer toutes vos tâches cron de WordPress à partir de WordPress CLI. Chez Cloudways, vous devez lancer le terminal et vous connecter avec les informations d’identification du serveur.
Puis, placez le chemin de votre application WordPress. Dans mon cas, l’URL était :
cd applications/urrghmpqks/public_html/
Puis, vous devez exécuter cette commande :
wp cron event list
Vous pouvez voir le nom du crochet, la prochaine heure d’exécution, la prochaine exécution relative et la récurrence (heure prévue).
Comment configurer une véritable tâche cron
Maintenant, vous savez ce qu’est une tâche cron WordPress et comment elle fonctionne. Que faire si vous voulez le remplacer par une véritable tâche cron en raison d’une raison quelconque comme un faible trafic, des tâches importantes qui doivent être exécutées à un moment particulier, des attaques DDoS excessives ou un temps de chargement de page élevé.
Alors, commençons!
Étape 1:Ouvrir et modifier le fichier wp-config.php
D’abord, vous devez ouvrir le fichier wp-config en utilisant un client FTP comme FileZilla ou un client SSH comme puTTY. Après cela, éditez le fichier et placez la ligne de code suivante avant la ligne où il est écrit /* C’est tout, arrêtez d’éditer ! Bon blogage. */
Code:
define('DISABLE_WP_CRON', true);
Ce code désactive les événements cron en cours d’exécution sur votre site WordPress et vous pouvez maintenant créer une véritable tâche cron.
Étape 2 : Ajout d’une nouvelle tâche cron au serveur
Puis, connectez-vous à votre plateforme Cloudways puis allez dans le panneau de gestion des applications > Gestion des tâches cron > Section avancée.
Puis ajoutez la commande suivante et cliquez sur Enregistrer les modifications:*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Dans la commande ci-dessus, d’abord, j’ai défini un intervalle de cinq minutes pour la tâche cron. Vous pouvez utiliser ce site pour vérifier l’expression de l’horaire. Dans mon cas, */5 * * * *
est l’expression de l’intervalle.
Congratulations ! Vous avez ajouté avec succès une véritable tâche cron.
Mots finaux !
J’espère que cet article vous a aidé à comprendre le fonctionnement de la tâche cron de WordPress. J’ai discuté de deux méthodes pour gérer les tâches cron de WordPress ; l’une à travers un plugin et l’autre à travers WP-CLI. J’ai également discuté de la façon de mettre en place une véritable tâche cron sur un serveur en direct.