J'utilise des articles personnalisés, et dans ceux-ci, je n'ai pas besoin du titre.
Cela oblige Wordpress à définir les titres de mes messages sur "Brouillon automatique".
Je voudrais changer la valeur du titre en autre chose, calculée à partir d'autres champs de mon message.
Comment dois-je procéder en utilisant save_post ou un autre moyen?
custom-post-types
save-post
Tsahi Levent-Levi
la source
la source
register_post_type()
appel.Réponses:
Cette méthode la plus simple serait de modifier les données au point où elles sont insérées, plutôt que de les mettre à jour par la suite, en utilisant
wp_insert_post_data
au lieu desave_post
. Cela fonctionne sur la création d'une nouvelle publication ou la mise à jour d'une publication existante sans modification. Il évite également le danger de créer une boucle infinie en se déclenchant à l'update_post
intérieursave_post
.la source
J'avais exactement le même besoin, alors j'ai écrit cette fonction - qui fonctionne. Modifiez-le selon vos besoins. J'espère que cela t'aides.
la source
Essayez le filtre default_title :
la source
$post
? Veuillez lire la question initiale et les commentaires ci-dessous. Un titre de publication généré automatiquement n'est pas demandé. Seul un faux titre de post (un remplacement pour WordPress "Auto Draft") est nécessaire.Voici une solution qui utilise une variable statique pour empêcher une boucle infinie. Cela vous permet d'appeler en toute sécurité à l'
wp_update_post()
intérieur d'une fonction qui est accrochéesave_post
.Remarque: Pour limiter cette fonctionnalité à un certain type de publication, utilisez le crochet save_post _ {$ post-> post_type} au lieu de save_post.
la source