Comment créer et modifier une tâche WordPress Cron

Rifat Plugins WordPress Jul 4, 2023

Cron est un utilitaire couramment utilisé dans les systèmes Unix/Linux pour programmer des commandes ou des scripts sur un serveur Web qui fonctionne en arrière-plan. Une tâche cron fait référence à une tâche spécifique planifiée pour s'exécuter à des heures, des dates ou des intervalles fixes prédéterminés. Ces tâches sont souvent répétitives et automatisées pour améliorer l'efficacité. Dans le cas de WordPress, la fonction WP-Cron est utilisée pour émuler un système cron.

Les instances de tâches cron WordPress peuvent inclure la planification de la publication d'un article ou l'exécution d'un plugin de sauvegarde selon un calendrier prédéfini. L'objectif de cette discussion est de fournir des conseils complets sur la création, la modification et l'exécution sans effort d'une tâche cron WordPress.

Comment configurer une tâche Cron dans WordPress

Il convient de noter que WP-Cron diffère légèrement d'un système cron, et chacun a ses propres avantages et inconvénients. WP-Cron repose uniquement sur des intervalles, tandis qu'un cron système repose sur des heures spécifiques. De plus, WP-Cron ne fonctionne que lorsque la page est chargée, que ce soit le back-end ou le front-end, ce qui peut entraîner une moindre fiabilité. Les intervalles par défaut fournis par WordPress incluent des horaires horaires, biquotidiens et quotidiens.

Pour programmer des événements WP-Cron, il est nécessaire de créer des hooks personnalisés. Nous vous recommandons fortement de consulter le manuel officiel du plugin WordPress, qui offre un excellent guide sur la planification des événements WP-Cron. Si vous recherchez une méthode alternative pour configurer un système cron dans WordPress, nous vous suggérons de vous référer à l'article de Tom Mcfarlin’ sur la définition d'un travail cron WordPress. De plus, pour ceux qui sont peut-être moins expérimentés, nous explorerons un moyen simple d'utiliser WP-Cron en conjonction avec le populaire plugin gratuit WP C r ontrol. Ce plugin vous permet de surveiller et de gérer les activités au sein du système WP-Cron.

Créer des sites Web incroyables

Avec le meilleur constructeur de page Elementor

Commencer Maintenant

WP Crontrol revendique un nombre impressionnant d'installations actives dépassant les 200 000, associées à une note exceptionnelle de 4,5 sur 5. Au sein de la communauté WordPress, ce plugin a suscité une grande admiration.

Ce plugin offre une utilité remarquable en fournissant un aperçu complet des tâches CRON dont l'exécution est planifiée. Il constitue une excellente première étape vers la compréhension des processus sous-jacents et la détermination de leur statut opérationnel. Ces mérites ont conduit à une note unanime de 5 étoiles. De plus, la possibilité de créer de nouvelles tâches cron et d'initier l'exécution de tâches existantes améliore encore sa valeur, justifiant une note supplémentaire de 5 étoiles, comme l'a affirmé Josh, le créateur de Caldera Forms.

Pour acquérir ce plugin, on peut soit le télécharger directement depuis le référentiel WordPress, soit le localiser dans le tableau de bord WordPress sous la section "Ajouter de nouveaux plugins". Les caractéristiques remarquables de WP Control comprennent :

  • Un affichage complet de tous les événements cron, y compris leurs arguments respectifs, les modèles de récurrence et les heures d'exécution à venir.
  • La possibilité de modifier, de supprimer ou de lancer immédiatement tout événement cron.
  • La disposition pour introduire de nouveaux événements cron.
  • La possibilité d'ajouter, de modifier et de supprimer des planifications cron personnalisées.

Horaires WP-Cron

Lors de l'activation, l'utilisateur a la possibilité de modifier les horaires de travail WordPress Cron en accédant à la section "Cron Schedules" dans les paramètres de son tableau de bord WordPress. Il est important d'observer que le plugin introduit un calendrier par défaut supplémentaire d'une fréquence hebdomadaire. De plus, les utilisateurs ont la possibilité d'inclure des horaires supplémentaires mesurés en secondes, par exemple, 21600 secondes pour exécuter des tâches toutes les 6 heures.

Ces intervalles peuvent être incorporés dans le code en utilisant un filtre, illustré par la ligne de code suivante:

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


Par la suite, le plugin peut également être utilisé pour afficher les tâches WordPress Cron existantes qui ont été planifiées. Pour accéder à cette fonctionnalité, accédez à la section "Événements Cron" sous l'onglet "Outils". De nombreux noms d'action sont facilement identifiables, car ils sont censés correspondre à des parties spécifiques du nom du plug-in, telles que "woocoomerce_cleanup_sessions" ou "gravityforms_cron".


Pour initier une exécution immédiate d'un événement Cron, il suffit de cliquer sur l'option "Exécuter maintenant" adjacente au nom de l'action correspondante. Cette fonctionnalité s'avère avantageuse lors du processus de dépannage, en particulier lorsqu'il devient nécessaire d'exécuter plusieurs fois un événement Cron.

Ajouter un événement Cron

De plus, vous avez la possibilité d'incorporer des événements Cron dans votre configuration. Dans cet exemple, nous allons démontrer le processus d'ajout d'un travail WordPress Cron spécifiquement pour le plugin Disqus. De nombreuses personnes peuvent souhaiter effectuer cette tâche afin de modifier la fréquence de synchronisation ou de résoudre des problèmes liés à la synchronisation des commentaires. La documentation fournie par chaque développeur de plug-in tiers doit contenir le nom désigné pour son événement cron, ou en d'autres termes, le nom de l'action. Dans le cas du plug-in Disqus, le nom d'action utilisé est "dsq_sync_forum".

Si vous avez l'intention de créer un événement cron à partir de zéro, vous aurez besoin d'un hook d'action correspondant dans votre code, tel que le fichier functions.php. L'exemple suivant, gracieuseté de WP-Crontrol, illustre ce concept:

add_action( 'my_hookname', 'my_function' );

La prochaine fonction que vous allez écrire est -

function my_function() {
    wp_mail( '[email protected]', 'WP Crontrol', 'WP Crontrol rocks!' );
}


Dans le cas de Disqus, notre première étape consiste à incorporer un nouveau programme cron d'une durée de 600 secondes (équivalent à 10 minutes). Ensuite, nous procédons à l'accès à la fonctionnalité "Ajouter un événement Cron", où nous saisissons "dsq_sync_forum" comme nom d'action désigné. Nous sélectionnons ensuite l'heure d'exécution suivante et optons pour l'intervalle de 10 minutes que nous avons récemment établi. Enfin, nous concluons le processus en sélectionnant "Ajouter un événement Cron". Par conséquent, cette procédure assure une récurrence automatisée toutes les 10 minutes, facilitant la synchronisation manuelle des commentaires Disqus avec notre base de données WordPress.

Essentiellement, l'utilisation de cette fonctionnalité est simple et conviviale.

Modifier l'événement de maïs

De plus, il est possible de modifier des événements Cron préexistants en sélectionnant l'option "Modifier" à côté du nom de l'action. Par conséquent, vous avez la possibilité de modifier le nom de l'action, les arguments, l'exécution ultérieure et la récurrence planifiée. Il est important de faire preuve de prudence lors de telles modifications, car de nombreux plugins dépendent de leurs tâches Cron pour un bon fonctionnement.

Ajouter une tâche Cron à l'aide de cPanel

Si vous avez accès à un compte cPanel fourni par votre hébergeur, vous pouvez utiliser le panneau de configuration pour établir des tâches cron. Pour ce faire, connectez-vous à votre compte cPanel et accédez à la section "Avancé", puis sélectionnez "Cron Jobs".

La page des paramètres pour les tâches cron offre des choix pour configurer les notifications de tâches cron et en établir de nouvelles. Pour incorporer une tâche cron, veuillez accéder à la section intitulée "Ajouter une nouvelle tâche cron" en faisant défiler vers le bas.

Dans cette section, vous aurez la possibilité d'ajuster la fréquence de la commande.

Le menu Paramètres communs comprend divers choix préconfigurés, allant d'une fréquence d'une fois par minute à une fois par an. Les utilisateurs ont la possibilité de sélectionner l'une de ces options ou de personnaliser les champs ci-dessous en saisissant une valeur personnalisée.

Après avoir configuré la fréquence de la tâche cron, vous pouvez entrer la commande qu'elle exécutera dans le champ de commande désigné. Pour conserver les modifications, enregistrez la tâche cron en sélectionnant l'option "Ajouter une nouvelle tâche cron". Par conséquent, la tâche cron nouvellement créée sera affichée parmi les tâches cron actuelles répertoriées au bas de la page.

Désactiver WP-Cron

Dans certains cas, l'utilisation de la fonction WP-Cron peut entraîner des complications pour votre site Web. WP-Cron est une version simulée d'une tâche cron, dépourvue du fonctionnement continu généralement associé à de telles tâches. Au lieu de cela, WordPress exécute le script wp-cron.php chaque fois qu'une page est chargée.

Cette approche peut entraîner des difficultés pour les sites Web connaissant un trafic élevé, car des ressources substantielles doivent être allouées pour exécuter wp-cron.php à chaque chargement de page. Si le script ne s'exécute pas en raison du chargement des pages, les commandes planifiées peuvent également ne pas s'exécuter, car wp-cron.php ne surveille pas activement les intervalles.

Si vous rencontrez des problèmes avec WP-Cron, vous avez la possibilité de désactiver cette fonction en incorporant le code suivant dans le fichier WordPress wp-config.php :

define('DISABLE_WP_CRON', true);

Une fois les modifications enregistrées dans le fichier, le processus est terminé. Néanmoins, si vous choisissez de désactiver WP-Cron, vous devrez établir une solution alternative en utilisant l'une des méthodes décrites dans les sections précédentes de ce didacticiel.

Emballer

Améliorez l'efficacité et réduisez les dépenses tout en optimisant les fonctionnalités du site Web en tirant parti des intégrations de niveau entreprise d'une valeur de 275 $ ou plus, qui sont intégrées de manière transparente dans chaque plan WordPress géré. Ces intégrations comprennent un réseau de diffusion de contenu (CDN) hautes performances, une protection robuste contre le déni de service distribué (DDoS), des protections complètes contre les logiciels malveillants et les tentatives de piratage, des mécanismes de mise en cache de périphérie efficaces et les processeurs les plus rapides de Google. Commencez votre voyage sans avoir besoin d'engagements contractuels prolongés, bénéficiez de migrations guidées et profitez d'une garantie de remboursement de 30 jours.

Divi WordPress Theme