Renvoyer $ post_id quand DOING_AUTOSAVE?
-
-
Pour référence,voici [modifier qui aintroduit lapremière version de ceci dans le Codex] (http://codex.wordpress.org/index.php?title=Function_Reference/add_meta_box&diff=77958&oldid=74247).Jene reconnaispas la connexion,vouspouvezessayer de rechercher unepersonneet demander (si cela vousintéresse).For reference here is [edit that introduced early version of this to Codex](http://codex.wordpress.org/index.php?title=Function_Reference/add_meta_box&diff=77958&oldid=74247). I do not recognize the login, you could try to look person up and ask (if that interested).
- 0
- 2011-04-07
- Rarst
-
2 réponses
- votes
-
- 2011-04-07
L'action
'save_post'
était ajouté aunoyau dans la version 2.0 ,et atoujours été une action.Enparcourant lesprocédures d'enregistrement automatiqueen cours,ilne semblepas appeler l'action'save_post'
directement àtoutmoment.La réponse courteest doncnon.Iln'y a aucune raison,et n'ajamais été aucune raison,de renvoyer une valeur sur cette action.Bien sûr,celane faitpas demal de renvoyer l'identifiant dumessage.
The
'save_post'
action was added to core in 2.0, and has always been an action. Looking through the current autosave procedures, it doesn't appear to call the'save_post'
action directly at any time.So the short answer is, no. There is no reason, and has never been any reason, to return any value on this action. Of course, it doesn't hurt at all to do return the post id.
-
- 2011-05-03
Puisque rienn'estfait avec la valeur de retour,renvoyer l'ID depublicationestinutileet ne doitpas êtrefait.Celane laisseplace qu'à la confusion.
Je viens de l'essayer,l'action
save_post
suivantefonctionnebien.function my_save_post($post_id) { // Stop WP from clearing custom fields on autosave if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return; // Prevent quick edit from clearing custom fields if (defined('DOING_AJAX') && DOING_AJAX) return; // Sanitize, validate and save ... }
Since nothing is being done with the return value, returning the post ID is pointless and should not be done. It only provides room for confusion.
Just tried it out, the following
save_post
action works fine.function my_save_post($post_id) { // Stop WP from clearing custom fields on autosave if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return; // Prevent quick edit from clearing custom fields if (defined('DOING_AJAX') && DOING_AJAX) return; // Sanitize, validate and save ... }
Je vois lemodèle suivantencoreet encore, sur ce site et à d'autresendroits:
Pourquoi devrais-je renvoyer
$post_id
?save_post
est une action,et la valeur de retour d'ungestionnaire d'actionestignorée . Lenoyau WordPress lui-même ne faitpasnonplus .L'exemple Codex renvoie le
$post_id
,mais cene seraitpas lapremière ligneincorrecte (ou obsolète) du Codex.Est-ce queje manque quelque chose? Dois-je renvoyer
$post_id
? Y a-t-ileu unmoment où cela étaitnécessaire?