wp_schedule_event()

Définition : Dans WordPress, fonction qui programme un événement récurrent identifié par un hook et une fréquence. Il faut distinguer la planification enregistrée de l'exécution réellement observée sur le site.

Comprendre et utiliser

À quoi sert cette notion ?

Fonction qui programme un événement récurrent identifié par un hook et une fréquence. Un usage concret consiste à planifier une purge quotidienne lors de l'activation d'une extension. La fiche précise ainsi ce que résout l'élément et pourquoi son comportement importe dans un projet WordPress.

Fonctionnement technique

WP-Cron s'appuie sur des événements stockés par WordPress et sur les hooks auxquels des callbacks sont attachés. Contrairement à un ordonnanceur système, il peut être déclenché par l'arrivée d'une requête et les échéances ne garantissent pas un horaire à la seconde près. Pour ce terme, retenir précisément : fonction qui programme un événement récurrent identifié par un hook et une fréquence. La valeur pratique dépend de son cycle d'exécution et du type de données réellement manipulées.

Dans quel contexte l’utiliser ?

Exemple professionnel : Planifier une purge quotidienne lors de l'activation d'une extension. Avant l'application, relever la version de WordPress, le type d'installation, les droits disponibles et les éventuelles extensions participant au traitement.

Étude de cas : application professionnelle

Une intervention documentaire ATOOLPHA part du problème suivant : planifier une purge quotidienne lors de l'activation d'une extension. L'équipe relève l'état attendu et observe le comportement réel. Elle reproduit ensuite un cas limite lié à la notion : vérifier wp_next_scheduled avant de programmer pour éviter les répétitions. Elle contrôle alors les données réellement affectées. Elle note toute divergence avant déploiement.

Exemple technique commenté

Extrait PHP dans le contexte WordPress chargé, présenté comme exemple pédagogique isolé et non comme extension autonome. Les fonctions nécessitant un hook, un contrôle de permission ou une activation préalable doivent être intégrées à ces mécanismes.

if ( ! wp_next_scheduled( 'atoolpha_purge_temp' ) ) {
    wp_schedule_event( time() + HOUR_IN_SECONDS, 'daily', 'atoolpha_purge_temp' );
}

Décryptage du code et résultat attendu

Le plugin doit également enregistrer une callback pour atoolpha_purge_temp et retirer l'événement lors de sa désactivation. Examiner les arguments dans l'ordre, identifier le type de retour et distinguer les valeurs fictives des paramètres réellement requis par la fonction ou la commande.

Exercice guidé pour vérifier la notion

Lister les événements dans une instance de test, relever l'horaire prévu, déclencher une exécution contrôlée et comparer les journaux avant et après. Vérifier aussi le fonctionnement lorsque le site reçoit peu de visites. Pour « wp_schedule_event() », vérifier ensuite ce cas ciblé : planifier une purge quotidienne lors de l'activation d'une extension. Conserver la valeur observée, la date et le contexte de test.

Précautions et limites

Point de vigilance particulier : vérifier wp_next_scheduled avant de programmer pour éviter les répétitions. Les opérations qui modifient des données nécessitent permissions adéquates, sauvegarde si besoin et vérification après exécution.

À ne pas confondre

Le nom du hook identifie le traitement; l'événement représente une planification enregistrée, tandis qu'un cron Linux constitue un ordonnanceur externe. Cette distinction évite d'attribuer à « wp_schedule_event() » des responsabilités qui relèvent d'un autre mécanisme WordPress.

Diagnostic avancé

Lorsque le comportement ne correspond pas aux attentes, contrôler en priorité : vérifier wp_next_scheduled avant de programmer pour éviter les répétitions. Examiner ensuite les paramètres d'entrée, les éventuels retours d'erreur et les effets observables sur la cible exacte.

Choix d’architecture et déploiement

Isoler le travail dans une callback idempotente, vérifier que l'événement n'a pas déjà été programmé, le retirer à la désactivation si le plugin en est propriétaire et mesurer les durées réelles. Sur un VPS à faible trafic, une tâche système peut appeler le planificateur WordPress à intervalles stables. Pour le scénario retenu, documenter aussi les conditions d'installation, les dépendances de version et une manière réversible de corriger une erreur.

Références documentaires

Bouton retour en haut de la page