2010-02-14 14 views
5

Ich schreibe ein WordPress-Plugin. Ich möchte den Beitragsstatus veröffentlichen, wenn der Poststatus in der Zukunft liegt.Wordpress Hook Pre Post Update

Ich kenne einen Haken, der pre_post_update verwendet werden soll.

Aber wo ist das Array von postbezogenen Details gespeichert, so dass ich den post_status ändern kann?

Danke für die Hilfe

Antwort

10

Die Funktion, die die pre_post_update Haken auf der Leitung 1525 erscheint ruft wp-includes/posts.php für mich:

do_action('pre_post_update', $post_ID); 

Wie man sehen kann, übergibt er die ID des Posts, der aktualisiert wird, wenn er ausgeführt wird. Um den Beitrag von dort zu bekommen, würden Sie get_post() einfach anrufen, z.B .:

function do_something_with_a_post($post_id, $post_data) { 
    // now do something with $post_data 
} 
add_action('pre_post_update', 'do_something_with_a_post', 10, 2); 

Die $post Variable oben sollten ein Objekt mit all den verschiedenen Attributen zu einer Post Referenz für Sie suchen, hoffentlich.

+0

Ändern Sie, dass '$ post' -Variable es nicht an die Datenbank zu übertragen scheint. – cdmckay

+0

'pre_post_update' akzeptiert' $ data' als zweites Argument: 'do_action ('pre_post_update', $ post_ID, $ data);' – human