WP_Customize_Manager::trash_changeset_post()
Trashes or deletes a changeset post.
The following re-formulates the logic from wp_trash_post() done in wp_publish_post(). The reason for bypassing wp_trash_post() that it will mutate the the post_content and the post_name when they should be untouched.
Method of the class: WP_Customize_Manager{}
Hooks from the method
Return
Mixed
. A WP_Post object for the trashed post or an empty value on failure.
Usage
$WP_Customize_Manager = new WP_Customize_Manager(); $WP_Customize_Manager->trash_changeset_post( $post );
- $post(int|WP_Post) (required)
- The changeset post.
Notes
- See: wp_trash_post()
- Global. wpdb. $wpdb WordPress database abstraction object.
Changelog
Since 4.9.0 | Introduced. |
WP_Customize_Manager::trash_changeset_post() WP Customize Manager::trash changeset post code WP 6.6.2
public function trash_changeset_post( $post ) { global $wpdb; $post = get_post( $post ); if ( ! ( $post instanceof WP_Post ) ) { return $post; } $post_id = $post->ID; if ( ! EMPTY_TRASH_DAYS ) { return wp_delete_post( $post_id, true ); } if ( 'trash' === get_post_status( $post ) ) { return false; } $previous_status = $post->post_status; /** This filter is documented in wp-includes/post.php */ $check = apply_filters( 'pre_trash_post', null, $post, $previous_status ); if ( null !== $check ) { return $check; } /** This action is documented in wp-includes/post.php */ do_action( 'wp_trash_post', $post_id, $previous_status ); add_post_meta( $post_id, '_wp_trash_meta_status', $previous_status ); add_post_meta( $post_id, '_wp_trash_meta_time', time() ); $new_status = 'trash'; $wpdb->update( $wpdb->posts, array( 'post_status' => $new_status ), array( 'ID' => $post->ID ) ); clean_post_cache( $post->ID ); $post->post_status = $new_status; wp_transition_post_status( $new_status, $previous_status, $post ); /** This action is documented in wp-includes/post.php */ do_action( "edit_post_{$post->post_type}", $post->ID, $post ); /** This action is documented in wp-includes/post.php */ do_action( 'edit_post', $post->ID, $post ); /** This action is documented in wp-includes/post.php */ do_action( "save_post_{$post->post_type}", $post->ID, $post, true ); /** This action is documented in wp-includes/post.php */ do_action( 'save_post', $post->ID, $post, true ); /** This action is documented in wp-includes/post.php */ do_action( 'wp_insert_post', $post->ID, $post, true ); wp_after_insert_post( get_post( $post_id ), true, $post ); wp_trash_post_comments( $post_id ); /** This action is documented in wp-includes/post.php */ do_action( 'trashed_post', $post_id, $previous_status ); return $post; }