web-dev-qa-db-fra.com

Définir la date d'expiration d'une publication de l'interface avec wp_insert_post

j'essaie de créer un formulaire que les utilisateurs postent depuis le frontend, tout fonctionne bien mais j'ai besoin de savoir si c'est possible, si je joue avec la 'post_date' => date('Y-m-d H:i:s')?

si j'ajoute un champ masqué qui génère le jour d'expiration (+30 jours à compter du jour du message), puis l'ajoute au message avec add_post_meta($post_id, 'expiration', $expDate, true);

quelqu'un a-t-il des idées pour construire quelque chose comme ça?

merci beaucoup,
Philippe

2
Philip

Le message en lui-même n'est que des données, il ne peut pas effectuer une action telle que l'expiration. Vous avez donc besoin d’une forme de contrôle externe pour agir.

Vous pouvez utiliser WP Cron (voir wp_schedule_event() et connexes) pour exécuter une tâche périodique qui recherchez les publications de votre champ personnalisé et effectuez les actions voulues (suppression, annulation du statut publié, etc.).

3
Rarst

Certains plugins traitent cela aussi bien, comme ma Post Expiration Date , qui ne nécessite pas de WP Cron. WP Cron convient si vous l'avez, mais tout le monde ne le sait pas et tous les hôtes ne le prennent pas en charge.

0
Sal Cangeloso