Title: wpdb::delete
Published: April 25, 2014
Last modified: February 24, 2026

---

# wpdb::delete( string $table, array $where, string[]|string $where_format = null ): int|false

## In this article

 * [Description](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#description)
    - [See also](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#see-also)
 * [Parameters](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#changelog)
 * [User Contributed Notes](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#user-contributed-notes)

[ Back to top](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#wp--skip-link--target)

Deletes a row in the table.

## 󠀁[Description](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#description)󠁿

Examples:

    ```php
    $wpdb->delete(
        'table',
        array(
            'ID' => 1,
        )
    );
    $wpdb->delete(
        'table',
        array(
            'ID' => 1,
        ),
        array(
            '%d',
        )
    );
    ```

### 󠀁[See also](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#see-also)󠁿

 * [wpdb::prepare()](https://developer.wordpress.org/reference/classes/wpdb/prepare/)
 * wpdb::$field_types
 * [wp_set_wpdb_vars()](https://developer.wordpress.org/reference/functions/wp_set_wpdb_vars/)

## 󠀁[Parameters](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#parameters)󠁿

 `$table`stringrequired

Table name.

`$where`arrayrequired

A named array of WHERE clauses (in column => value pairs).
 Multiple clauses will
be joined with ANDs. Both $where columns and $where values should be "raw". Sending
a null value will create an IS NULL comparison – the corresponding format will be
ignored in this case.

`$where_format`string[]|stringoptional

An array of formats to be mapped to each of the values in $where.
 If string, that
format will be used for all of the items in $where. A format is one of `'%d'`, `'%
f'`, `'%s'` (integer, float, string). If omitted, all values in $data will be treated
as strings unless otherwise specified in wpdb::$field_types.

Default:`null`

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#return)󠁿

 int|false The number of rows deleted, or false on error.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#source)󠁿

    ```php
    public function delete( $table, $where, $where_format = null ) {
    	if ( ! is_array( $where ) ) {
    		return false;
    	}

    	$where = $this->process_fields( $table, $where, $where_format );
    	if ( false === $where ) {
    		return false;
    	}

    	$conditions = array();
    	$values     = array();
    	foreach ( $where as $field => $value ) {
    		if ( is_null( $value['value'] ) ) {
    			$conditions[] = "`$field` IS NULL";
    			continue;
    		}

    		$conditions[] = "`$field` = " . $value['format'];
    		$values[]     = $value['value'];
    	}

    	$conditions = implode( ' AND ', $conditions );

    	$sql = "DELETE FROM `$table` WHERE $conditions";

    	$this->check_current_query = false;
    	return $this->query( $this->prepare( $sql, $values ) );
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/class-wpdb.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-includes/class-wpdb.php#L2769)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-includes/class-wpdb.php#L2769-L2797)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#related)󠁿

| Uses | Description | 
| [wpdb::process_fields()](https://developer.wordpress.org/reference/classes/wpdb/process_fields/)`wp-includes/class-wpdb.php` |

Processes arrays of field/value pairs and field formats.

  | 
| [wpdb::query()](https://developer.wordpress.org/reference/classes/wpdb/query/)`wp-includes/class-wpdb.php` |

Performs a database query, using current database connection.

  | 
| [wpdb::prepare()](https://developer.wordpress.org/reference/classes/wpdb/prepare/)`wp-includes/class-wpdb.php` |

Prepares a SQL query for safe execution.

  |

[Show 1 more](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#)

| Used by | Description | 
| [wp_delete_signup_on_user_delete()](https://developer.wordpress.org/reference/functions/wp_delete_signup_on_user_delete/)`wp-includes/ms-functions.php` |

Deletes an associated signup entry when a user is deleted from the database.

  | 
| [wp_delete_site()](https://developer.wordpress.org/reference/functions/wp_delete_site/)`wp-includes/ms-site.php` |

Deletes a site from the database.

  | 
| [delete_network_option()](https://developer.wordpress.org/reference/functions/delete_network_option/)`wp-includes/option.php` |

Removes a network option by name.

  | 
| [wpmu_delete_user()](https://developer.wordpress.org/reference/functions/wpmu_delete_user/)`wp-admin/includes/ms.php` |

Deletes a user and all of their posts from the network.

  | 
| [wp_install_defaults()](https://developer.wordpress.org/reference/functions/wp_install_defaults/)`wp-admin/includes/upgrade.php` |

Creates the initial content for a newly-installed site.

  | 
| [wp_delete_user()](https://developer.wordpress.org/reference/functions/wp_delete_user/)`wp-admin/includes/user.php` |

Delete user and optionally reassign posts and links to another user.

  | 
| [wp_delete_link()](https://developer.wordpress.org/reference/functions/wp_delete_link/)`wp-admin/includes/bookmark.php` |

Deletes a specified link from the database.

  | 
| [wp_insert_term()](https://developer.wordpress.org/reference/functions/wp_insert_term/)`wp-includes/taxonomy.php` |

Adds a new term to the database.

  | 
| [wp_delete_term()](https://developer.wordpress.org/reference/functions/wp_delete_term/)`wp-includes/taxonomy.php` |

Removes a term from the database.

  | 
| [delete_option()](https://developer.wordpress.org/reference/functions/delete_option/)`wp-includes/option.php` |

Removes an option by name. Prevents removal of protected WordPress options.

  | 
| [wp_delete_attachment()](https://developer.wordpress.org/reference/functions/wp_delete_attachment/)`wp-includes/post.php` |

Trashes or deletes an attachment.

  | 
| [wp_delete_post()](https://developer.wordpress.org/reference/functions/wp_delete_post/)`wp-includes/post.php` |

Trashes or deletes a post or page.

  | 
| [wpmu_validate_user_signup()](https://developer.wordpress.org/reference/functions/wpmu_validate_user_signup/)`wp-includes/ms-functions.php` |

Sanitizes and validates data required for a user sign-up.

  | 
| [wpmu_validate_blog_signup()](https://developer.wordpress.org/reference/functions/wpmu_validate_blog_signup/)`wp-includes/ms-functions.php` |

Processes new site registrations.

  | 
| [wp_delete_comment()](https://developer.wordpress.org/reference/functions/wp_delete_comment/)`wp-includes/comment.php` |

Trashes or deletes a comment.

  | 
| [delete_metadata_by_mid()](https://developer.wordpress.org/reference/functions/delete_metadata_by_mid/)`wp-includes/meta.php` |

Deletes metadata by meta ID.

  |

[Show 11 more](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#)

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#changelog)󠁿

| Version | Description | 
| [3.4.0](https://developer.wordpress.org/reference/since/3.4.0/) | Introduced. |

## 󠀁[User Contributed Notes](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#user-contributed-notes)󠁿

 1.   [Skip to note 3 content](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#comment-content-5395)
 2.    [Anisur Rahman](https://profiles.wordpress.org/anisur8294/)  [  5 years ago  ](https://developer.wordpress.org/reference/classes/wpdb/delete/#comment-5395)
 3.  [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwpdb%2Fdelete%2F%23comment-5395)
     Vote results for this note: 2[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwpdb%2Fdelete%2F%23comment-5395)
 4.      ```php
         function oop_ac_delete_address( $id ) {
         	global $wpdb; 							// WPDB class object 
     
             return $wpdb->delete(
                 $wpdb->prefix . 'ac_addresses', 		// table name with dynamic prefix
                 ['id' => $id], 						// which id need to delete
                 ['%d'], 							// make sure the id format
             );
         } 
         ```
     
 5.   [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwpdb%2Fdelete%2F%3Freplytocom%3D5395%23feedback-editor-5395)
 6.   [Skip to note 4 content](https://developer.wordpress.org/reference/classes/wpdb/delete/?output_format=md#comment-content-4406)
 7.    [1naveengiri](https://profiles.wordpress.org/1naveengiri/)  [  5 years ago  ](https://developer.wordpress.org/reference/classes/wpdb/delete/#comment-4406)
 8.  [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwpdb%2Fdelete%2F%23comment-4406)
     Vote results for this note: 1[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwpdb%2Fdelete%2F%23comment-4406)
 9.  **Example**
 10.     ```php
         wpdb::delete(
             'wp_table', // table to delete from
             array(
                 'column1' => 123 // value in column to target for deletion
             ),
             array(
                 '%d' // format of value being targeted for deletion
             )
         );
         ```
     
 11.  [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwpdb%2Fdelete%2F%3Freplytocom%3D4406%23feedback-editor-4406)

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwpdb%2Fdelete%2F)
before being able to contribute a note or feedback.