Ich möchte eine benutzerdefinierte Abfrage mit einigen Metadaten ausführen, wenn ein Beitrag aktualisiert oder veröffentlicht wird.
Gibt es etwas, das ich in die functions.php einfügen kann, um zu zünden, wenn diese Ereignisse auftreten?
Die Aktion save_post
wird ausgelöst, wenn ein Beitrag aktualisiert und/oder veröffentlicht wird - auch wenn ein neuer Beitrag eingefügt wird.
<?php
add_action( 'save_post', 'wpse41912_save_post' );
function wpse41912_save_post()
{
// do stuff
}
Wenn Sie möchten, dass Ihre Funktionen nur ausgelöst werden, wenn ein Beitrag bearbeitet wird, können Sie sich in edit_post
einbinden.
Wenn Sie möchten, dass ein Beitrag ausgelöst wird, wenn er vom Entwurf zum Veröffentlichen verschoben wird, können Sie sich in transition_post_status
einhängen.
Es gibt mehrere Aktionen, die Sie verwenden können . Zum Beispiel:
save_post
edit_post
publish_post
Während weniger verwendet, gibt es auch Post-Status-Übergangshaken .
der Hook edit_post ist wahrscheinlich der beste Hook ... da er immer dann ausgelöst wird, wenn ein Beitrag/eine Seite veröffentlicht oder aktualisiert wird. save_post ist eine weitere praktikable Option. Vielleicht ist sie besser, wenn Sie sie nicht zum Auslösen benötigen, wenn Kommentare aktualisiert werden.
http://codex.wordpress.org/Plugin_API/Action_Reference
die Seite save_post im Codex enthält ein Beispiel für eine Funktion, die beim Speichern eines Posts ausgelöst wird:
http://codex.wordpress.org/Plugin_API/Action_Reference/save_post
Wenn Sie beim Aktualisieren/Speichern eines benutzerdefinierten Beitrags eine Aktion ausführen möchten -
add_action('save_post','save_post_callback');
function save_post_callback($post_id){
global $post;
if ($post->post_type != 'MY_CUSTOM_POST_TYPE_NAME'){
return;
}
//if you get here then it's your post type so do your things....
}