maybe_drop_column() WordPress Function
The maybe_drop_column() function is used to check if a column exists in a database table, and if it does, to drop it. This is useful when upgrading a plugin or theme, as it allows you to remove old columns that are no longer needed.
maybe_drop_column( string $table_name, string $column_name, string $drop_ddl ) #
Drops column from database table, if it exists.
Parameters
- $table_name
(string)(Required)Database table name.
- $column_name
(string)(Required)Table column name.
- $drop_ddl
(string)(Required)SQL statement to drop column.
Return
(bool) True on success or if the column doesn't exist. False on failure.
Source
File: wp-admin/install-helper.php
function maybe_drop_column( $table_name, $column_name, $drop_ddl ) {
global $wpdb;
foreach ( $wpdb->get_col( "DESC $table_name", 0 ) as $column ) {
if ( $column === $column_name ) {
// Found it, so try to drop it.
$wpdb->query( $drop_ddl );
// We cannot directly tell that whether this succeeded!
foreach ( $wpdb->get_col( "DESC $table_name", 0 ) as $column ) {
if ( $column === $column_name ) {
return false;
}
}
}
}
// Else didn't find it.
return true;
}
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
| Version | Description |
|---|---|
| 1.0.0 | Introduced. |