---
title: "Change the Delete Entry mode from &#8220;Delete&#8221; to &#8220;Trash&#8221;"
date: 2026-04-23
author: "GravityKit"
link: "https://www.gravitykit.com/docs/gravityview/advanced/change-the-delete-entry-mode-from-delete-to-trash/"
---

The entry is permanently deleted when deleting it in GravityView ( [see more here](https://www.gravitykit.com/docs/gravityview/edit-entry/configuring-delete-entry/)). If you want to have the entry moved to the **trash** instead, please use the code snippet below:

```
add_filter( 'gk/gravityview/delete-entry/mode', 'gk_delete_entry_mode_return_trash' );

function gk_delete_entry_mode_return_trash() {
	return 'trash';
}
```

```
add_filter( 'gk/gravityview/delete-entry/mode', 'gk_delete_entry_mode_return_trash' );

function gk_delete_entry_mode_return_trash() {
	return 'trash';
}
```

### How to only target a specific View

```
add_filter( 'gk/gravityview/delete-entry/mode', 'gk_delete_entry_mode_return_trash', 10, 3 );

  /**
   * Sets the delete mode to "trash" for specific Views, allowing permanent deletion from the Trashed Entries View.
   *
   * @param string   $mode    Delete mode: 'trash' or 'delete'. Default: 'delete'.
   * @param array    $entry   The entry being deleted.
   * @param int|null $view_id The View ID. Default: null.
   *
   * @return string The delete mode.
   */
  function gk_delete_entry_mode_return_trash( $mode, $entry, $view_id ) {
      if ( null === $view_id ) {
          return $mode;
      }

      $view_id = (int) $view_id;

      // For your main View(s): trash entries instead of deleting.
      if ( in_array( $view_id, [ 123, 321 ], true ) ) {
          return 'trash';
      }

      // Force deletion on Views where you want to permanently delete entries.
      if ( 456 === $view_id ) {
          return 'delete';
      }

      // Use the original mode (default: 'delete').
      return $mode;
  }
```

```
add_filter( 'gk/gravityview/delete-entry/mode', 'gk_delete_entry_mode_return_trash', 10, 3 );

  /**
   * Sets the delete mode to "trash" for specific Views, allowing permanent deletion from the Trashed Entries View.
   *
   * @param string   $mode    Delete mode: 'trash' or 'delete'. Default: 'delete'.
   * @param array    $entry   The entry being deleted.
   * @param int|null $view_id The View ID. Default: null.
   *
   * @return string The delete mode.
   */
  function gk_delete_entry_mode_return_trash( $mode, $entry, $view_id ) {
      if ( null === $view_id ) {
          return $mode;
      }

      $view_id = (int) $view_id;

      // For your main View(s): trash entries instead of deleting.
      if ( in_array( $view_id, [ 123, 321 ], true ) ) {
          return 'trash';
      }

      // Force deletion on Views where you want to permanently delete entries.
      if ( 456 === $view_id ) {
          return 'delete';
      }

      // Use the original mode (default: 'delete').
      return $mode;
  }
```

### For earlier versions of GravityView

If you wish to apply this setting to a specific View only instead of changing the mode for all Views, then use the code below by making sure to replace "123" with the ID of your View:

```
add_filter( 'gk/gravityview/delete-entry/mode', 'gk_delete_entry_mode_return_trash' );

function gk_delete_entry_mode_return_trash() {
	$view = gravityview()->request->is_view();

	if ( $view ) {
		$view_id = $view->settings->get( 'id' ); 

		if( $view_id == 123 ){ //Change 123 to your View ID
			return 'trash';
		}
	}

	return 'delete';
}
```

```
add_filter( 'gk/gravityview/delete-entry/mode', 'gk_delete_entry_mode_return_trash' );

function gk_delete_entry_mode_return_trash() {
	$view = gravityview()->request->is_view();

	if ( $view ) {
		$view_id = $view->settings->get( 'id' ); 

		if( $view_id == 123 ){ //Change 123 to your View ID
			return 'trash';
		}
	}

	return 'delete';
}
```

### How this code works

The plugin uses the `gk/gravityview/delete-entry/mode` filter to return a value of `trash` instead of the default, `delete` .

See how to add this code snippet to your website: [Where to put code samples](https://www.gravitykit.com/docs/gravityview/customizing-your-views/where-to-put-code-samples/).