do_action( 'delete_post', int $postid, WP_Post $post )

Fires immediately before a post is deleted from the database.


Parameters Parameters

$postid

(int) Post ID.

$post

(WP_Post) Post object.


Top ↑

More Information More Information

Take note, by the time the hook triggers, the post comments and metadata would have already been deleted. Use the before_delete_post hook to catch post deletion before that.


Top ↑

Source Source

File: wp-includes/post.php

View on Trac



Top ↑

Changelog Changelog

Changelog
Version Description
5.5.0 Added the $post parameter.
1.2.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by Collins Mbaka

    Let’s suppose you have a plugin that, for one reason or another, stores its own post metadata in a separate database table called codex_postmeta. One of the ways you can achieve synchronization is to be made aware when a post is deleted so that you can replicate the changes yourself.

    add_action( 'admin_init', 'wpdocs_codex_init' );
    function wpdocs_codex_init() {
        add_action( 'delete_post', 'wpdocs_codex_sync', 10 );
    }
    
    function wpdocs_codex_sync( $pid ) {
        global $wpdb;
        $query = $wpdb->prepare( 'SELECT post_id FROM codex_postmeta WHERE post_id = %d', $pid );
        $var = $wpdb->get_var( $query );
        if ( $var ) {
            $query2 = $wpdb->prepare( 'DELETE FROM codex_postmeta WHERE post_id = %d', $pid );
            $wpdb->query( $query2 );
        }
    }
    

You must log in before being able to contribute a note or feedback.