Exemple #1
0
/**
 * Move a post or page to the Trash
 *
 * If trash is disabled, the post or page is permanently deleted.
 *
 * @since 2.9.0
 *
 * @see wp_delete_post()
 *
 * @param int $post_id Optional. Post ID. Default is ID of the global $post
 *                     if EMPTY_TRASH_DAYS equals true.
 * @return false|array|WP_Post|null Post data array, otherwise false.
 */
function wp_trash_post($post_id = 0)
{
    if (!EMPTY_TRASH_DAYS) {
        return wp_delete_post($post_id, true);
    }
    if (!($post = get_post($post_id, ARRAY_A))) {
        return $post;
    }
    if ($post['post_status'] == 'trash') {
        return false;
    }
    /**
     * Fires before a post is sent to the trash.
     *
     * @since 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());
    $post['post_status'] = 'trash';
    wp_insert_post(wp_slash($post));
    wp_trash_post_comments($post_id);
    /**
     * Fires after a post is sent to the trash.
     *
     * @since 2.9.0
     *
     * @param int $post_id Post ID.
     */
    do_action('trashed_post', $post_id);
    return $post;
}
/**
 * Moves a post or page to the Trash
 *
 * If trash is disabled, the post or page is permanently deleted.
 *
 * @since 2.9.0
 * @uses do_action() on 'trash_post' before trashing
 * @uses do_action() on 'trashed_post' after trashing
 * @uses wp_delete_post() if trash is disabled
 *
 * @param int $post_id Post ID.
 * @return mixed False on failure
 */
function wp_trash_post($post_id = 0)
{
    if (!EMPTY_TRASH_DAYS) {
        return wp_delete_post($post_id, true);
    }
    if (!($post = wp_get_single_post($post_id, ARRAY_A))) {
        return $post;
    }
    if ($post['post_status'] == 'trash') {
        return false;
    }
    do_action('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);
    return $post;
}
 public function trashed_post_comments($post_id, $statuses)
 {
     wp_trash_post_comments($post_id);
 }