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;
}

Changelog

Version Description
1.0.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/maybe_drop_column