maybe_add_column() WordPress Function
The maybe_add_column() function is a utility function that allows you to conditionally add a new column to a WordPress database table. This is useful if you need to add a new column to a table but only if it doesn't already exist.
maybe_add_column( string $table_name, string $column_name, string $create_ddl ) #
Adds column to a database table, if it doesn’t already exist.
Parameters
- $table_name
(string)(Required)Database table name.
- $column_name
(string)(Required)Table column name.
- $create_ddl
(string)(Required)SQL statement to add column.
Return
(bool) True on success or if the column already exists. False on failure.
Source
File: wp-admin/includes/upgrade.php
function maybe_add_column( $table_name, $column_name, $create_ddl ) {
global $wpdb;
foreach ( $wpdb->get_col( "DESC $table_name", 0 ) as $column ) {
if ( $column === $column_name ) {
return true;
}
}
// Didn't find it, so try to create it.
$wpdb->query( $create_ddl );
// We cannot directly tell that whether this succeeded!
foreach ( $wpdb->get_col( "DESC $table_name", 0 ) as $column ) {
if ( $column === $column_name ) {
return true;
}
}
return false;
}
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
| Version | Description |
|---|---|
| 1.3.0 | Introduced. |