Préparer une semaine de contenu d’un coup, mais les diffuser un par jour à heure fixe : c’est le scénario classique que couvre cette fonctionnalité, très utilisée par les rédactions et les équipes marketing qui travaillent par lots plutôt qu’au fil de l’eau.
Un rendez-vous posé dans le cron interne
Choisir une date future dans la boîte « Publier » attribue au contenu le statut future et enregistre, via le cron interne de WordPress (WP-Cron), un événement publish_future_post programmé pour l’instant précis choisi. À l’heure dite, ce sont les fonctions internes check_and_publish_future_post() puis wp_publish_post() qui basculent réellement le statut vers publish.
Ce mécanisme dépend entièrement du fuseau horaire défini dans Réglages > Général, et surtout du déclenchement effectif de WP-Cron, qui n’est pas un vrai processus système mais s’exécute à l’occasion d’une visite sur le site.
Exemple : forcer la vérification en ligne de commande
wp cron event run publish_future_post --due-now
Pièges fréquents
- Sur un site à très faible trafic, aucune visite ne survient parfois pendant plusieurs heures : l’article programmé peut alors se publier en retard, WP-Cron n’étant déclenché qu’au chargement d’une page.
- Désactiver WP-Cron via la constante
DISABLE_WP_CRONsans le remplacer par une tâche systèmecronréelle casse silencieusement cette fonctionnalité. - Un changement de fuseau horaire en cours de route peut décaler l’heure effective de publication de contenus déjà programmés.
- Certains hébergeurs mutualisés désactivent WP-Cron par défaut pour économiser des ressources et le remplacent par une vraie tâche
cronsystème appelantwp-cron.phpà intervalle régulier.