maybe_drop_column()
Drops column from database table, if it exists.
Хуков нет.
Возвращает
bool. True on success or if the column doesn't exist. False on failure.
Использование
maybe_drop_column( $table_name, $column_name, $drop_ddl );
- $table_name(строка) (обязательный)
- Database table name.
- $column_name(строка) (обязательный)
- Table column name.
- $drop_ddl(строка) (обязательный)
- SQL statement to drop column.
Заметки
Global. wpdb. $wpdb WordPress database abstraction object. |
Список изменений
| С версии 1.0.0 | Введена. |
Код maybe_drop_column() maybe drop column WP 7.1.3
function maybe_drop_column( $table_name, $column_name, $drop_ddl ) {
global $wpdb;
// phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Cannot be prepared. Fetches columns for table names.
foreach ( $wpdb->get_col( "DESC $table_name", 0 ) as $column ) {
if ( $column === $column_name ) {
// Found it, so try to drop it.
// phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared -- No applicable variables for this query.
$wpdb->query( $drop_ddl );
// We cannot directly tell whether this succeeded!
// phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Cannot be prepared. Fetches columns for table names.
foreach ( $wpdb->get_col( "DESC $table_name", 0 ) as $column ) {
if ( $column === $column_name ) {
return false;
}
}
}
}
// Else didn't find it.
return true;
}