wp_trash_post( int $post_id )
Move a post or page to the Trash
Description
If trash is disabled, the post or page is permanently deleted.
See also
Parameters
- $post_id
-
(Optional) Post ID. Default is ID of the global $post if EMPTY_TRASH_DAYS equals true.
Return
(WP_Post|false|null) Post data on success, false or null on failure.
Source
File: wp-includes/post.php
function wp_trash_post( $post_id = 0 ) {
if ( ! EMPTY_TRASH_DAYS ) {
return wp_delete_post( $post_id, true );
}
$post = get_post( $post_id );
if ( ! $post ) {
return $post;
}
if ( 'trash' === $post->post_status ) {
return false;
}
/**
* Filters whether a post trashing should take place.
*
* @since WP-4.9.0
*
* @param bool $trash Whether to go forward with trashing.
* @param WP_Post $post Post object.
*/
$check = apply_filters( 'pre_trash_post', null, $post );
if ( null !== $check ) {
return $check;
}
/**
* Fires before a post is sent to the trash.
*
* @since WP-3.3.0
*
* @param int $post_id Post ID.
*/
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() );
wp_update_post( array( 'ID' => $post_id, 'post_status' => 'trash' ) );
wp_trash_post_comments( $post_id );
/**
* Fires after a post is sent to the trash.
*
* @since WP-2.9.0
*
* @param int $post_id Post ID.
*/
do_action( 'trashed_post', $post_id );
return $post;
}
Changelog
Version | Description |
---|---|
WP-2.9.0 | Introduced. |