Gibt es einen recover_post-Hook für den trash_post-Hook?

Ich verwende den trash_post Hook, um ein Flag in einer benutzerdefinierten Tabelle trash_post , um anzuzeigen, dass dieses Element “gelöscht” ist. Wenn der Benutzer diesen Post jedoch wiederherstellen möchte, welchen Hook kann ich dafür verwenden? Ich konnte nichts auf dieser Seite https://codex.wordpress.org/Plugin_API/Action_Reference finden , aber vielleicht gibt es eine andere Möglichkeit, das Problem zu lösen.

Vielen Dank!

Solutions Collecting From Web of "Gibt es einen recover_post-Hook für den trash_post-Hook?"

Betrachtet man den Code für WP 3.3.2, scheint trash_post tatsächlich wp_trash_post . Von der function wp_trash_post() in /wp-includes/post.php :

 do_action('wp_trash_post', $post_id); add_post_meta($post_id,'_wp_trash_meta_status', $post['post_status']); add_post_meta($post_id,'_wp_trash_meta_time', time()); $post['post_status'] = 'trash'; wp_insert_post($post); wp_trash_post_comments($post_id); do_action('trashed_post', $post_id); 

Also … ich würde den Haken, den du benutzt, um deine erste Flagge zu setzen, überprüfen.

Es gibt jedoch einen Hook, den Sie verwenden können, um zu erkennen, wenn ein Benutzer einen Beitrag wiederherstellt. Es heißt treffend untrash_post .

Hier ist es in Aktion von der gleichen coredatei:

 function wp_untrash_post($post_id = 0) { if ( !$post = wp_get_single_post($post_id, ARRAY_A) ) return $post; if ( $post['post_status'] != 'trash' ) return false; do_action('untrash_post', $post_id); $post_status = get_post_meta($post_id, '_wp_trash_meta_status', true); $post['post_status'] = $post_status; delete_post_meta($post_id, '_wp_trash_meta_status'); delete_post_meta($post_id, '_wp_trash_meta_time'); wp_insert_post($post); wp_untrash_post_comments($post_id); do_action('untrashed_post', $post_id); return $post; } 

Wenn ein Post nicht angegriffen wird, ruft WordPress wp_untrash_post . Das ruft zwei Aktionen auf: untrash_post vor dem Untrashing und untrashed_post danach. Beide übergeben die Post-ID als Argument.

Irgendwo auf der edit.php ist eine wp_untrash_post aber die Dokumentationsseite ist leer ( http://codex.wordpress.org/Function_Reference/wp_untrast_post ), vielleicht, wenn Sie einen Blick auf die Quelle casting, können Sie einen Weg http finden: //wpseek.com/wp_untrast_post/ http://phpxref.ftwr.co.uk/wordpress/nav.html?wp-admin/edit.php.source.html