wp_ajax_trash_post

The timeline below displays how wordpress function wp_ajax_trash_post has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.3

/**
 * Handles sending a post to the Trash via AJAX.
 *
 * @since 3.1.0
 *
 * @param string $action Action to perform.
 */
function wp_ajax_trash_post($action)
{
    if (empty($action)) {
        $action = 'trash-post';
    }
    $id = isset($_POST['id']) ? (int) $_POST['id'] : 0;
    check_ajax_referer("{$action}_{$id}");
    if (!current_user_can('delete_post', $id)) {
        wp_die(-1);
    }
    if (!get_post($id)) {
        wp_die(1);
    }
    if ('trash-post' === $action) {
        $done = wp_trash_post($id);
    } else {
        $done = wp_untrash_post($id);
    }
    if ($done) {
        wp_die(1);
    }
    wp_die(0);
}

WordPress Version: 5.5

/**
 * Ajax handler for sending a post to the Trash.
 *
 * @since 3.1.0
 *
 * @param string $action Action to perform.
 */
function wp_ajax_trash_post($action)
{
    if (empty($action)) {
        $action = 'trash-post';
    }
    $id = isset($_POST['id']) ? (int) $_POST['id'] : 0;
    check_ajax_referer("{$action}_{$id}");
    if (!current_user_can('delete_post', $id)) {
        wp_die(-1);
    }
    if (!get_post($id)) {
        wp_die(1);
    }
    if ('trash-post' === $action) {
        $done = wp_trash_post($id);
    } else {
        $done = wp_untrash_post($id);
    }
    if ($done) {
        wp_die(1);
    }
    wp_die(0);
}

WordPress Version: 5.4

/**
 * Ajax handler for sending a post to the Trash.
 *
 * @since 3.1.0
 *
 * @param string $action Action to perform.
 */
function wp_ajax_trash_post($action)
{
    if (empty($action)) {
        $action = 'trash-post';
    }
    $id = isset($_POST['id']) ? (int) $_POST['id'] : 0;
    check_ajax_referer("{$action}_{$id}");
    if (!current_user_can('delete_post', $id)) {
        wp_die(-1);
    }
    if (!get_post($id)) {
        wp_die(1);
    }
    if ('trash-post' == $action) {
        $done = wp_trash_post($id);
    } else {
        $done = wp_untrash_post($id);
    }
    if ($done) {
        wp_die(1);
    }
    wp_die(0);
}

WordPress Version: 4.0

/**
 * Ajax handler for sending a post to the trash.
 *
 * @since 3.1.0
 *
 * @param string $action Action to perform.
 */
function wp_ajax_trash_post($action)
{
    if (empty($action)) {
        $action = 'trash-post';
    }
    $id = isset($_POST['id']) ? (int) $_POST['id'] : 0;
    check_ajax_referer("{$action}_{$id}");
    if (!current_user_can('delete_post', $id)) {
        wp_die(-1);
    }
    if (!get_post($id)) {
        wp_die(1);
    }
    if ('trash-post' == $action) {
        $done = wp_trash_post($id);
    } else {
        $done = wp_untrash_post($id);
    }
    if ($done) {
        wp_die(1);
    }
    wp_die(0);
}

WordPress Version: 3.7

function wp_ajax_trash_post($action)
{
    if (empty($action)) {
        $action = 'trash-post';
    }
    $id = isset($_POST['id']) ? (int) $_POST['id'] : 0;
    check_ajax_referer("{$action}_{$id}");
    if (!current_user_can('delete_post', $id)) {
        wp_die(-1);
    }
    if (!get_post($id)) {
        wp_die(1);
    }
    if ('trash-post' == $action) {
        $done = wp_trash_post($id);
    } else {
        $done = wp_untrash_post($id);
    }
    if ($done) {
        wp_die(1);
    }
    wp_die(0);
}