2010-10-30 6 views
3

besoin de changer le contenu du message avant qu'il ne soit publié. Je pourrais écraser la fonction de publication native, mais je ne veux pas le faire.wordpress - action hook 'publication préalable'?

Ce que je voudrais faire est quelque chose comme:

add_action('before_publish_post','my_func'); 
function my_func($content){ 
    $content = "new content"; 
    return $content; 
} 

J'ai eu un coup d'oeil au crochet « de publish_post », mais cela ne me permet de changer le contenu du message AFER il a été publié, pas avant.

toute aide serait appréciée, acclamations

Répondre

1

Utilisez le crochet save_post.

Vous pouvez lire plus ici: http://codex.wordpress.org/Plugin_API/Action_Reference

+0

Malheureusement, cela ne fonctionne pas non plus. 'save post' s'exécute après l'enregistrement de la publication dans la base de données. Mes messages contiennent du code que j'ai besoin de str_replace avant d'être publié (enregistré dans la base de données). Je suis sûr que leur doit être un moyen de capturer le $ _POST [«contenu»] avant qu'il ne soit écrit dans la base de données –

+0

Aussi, si vous avez d'autres plugins save_post peut appeler deux fois et plus – FallDi

2

Si j'étais vraiment cool j'attendre jusqu'à ce que la date anniversaire de ce poste & faire alors, mais ...

Il est également possible d'utiliser:

add_action('pre_post_update','alter_post_contents'); 

Je codage d'une interface d'administration en ce moment qui fera u Je vais donc vous dire si cela a été efficace. J'ai vu un autre article ici lié à l'utilisation de pre_post_update, mais il prétend utiliser l'ID de poste comme arg- et leur page post.php semble corroborer cela alors que le codex indique que le contenu est l'arg et qu'il convient vos objectifs sont morts ...

Semble que les tests le montreront d'une manière ou d'une autre.

Questions connexes