Deletes a row in the table.
Description
Examples:
$wpdb->delete( 'table', array( 'ID' => 1, ) ); $wpdb->delete( 'table', array( 'ID' => 1, ), array( '%d', ) ); See also
- wpdb::prepare()
- wpdb::$field_types
- wp_set_wpdb_vars()
Parameters
$tablestringrequired- Table name.
$wherearrayrequired- 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_formatstring[]|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
Source
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 ) ); } Changelog
| Version | Description |
|---|---|
| 3.4.0 | Introduced. |
Example