W3cubDocs

/WordPress

maybe_drop_column( string $table_name, string $column_name, string $drop_ddl )

Drop column from database table, if it exists.

Description

Parameters

$table_name

(string) (Required) Table name

$column_name

(string) (Required) Column name

$drop_ddl

(string) (Required) SQL statement to drop column.

Return

(bool) False on failure, true on success or doesn't exist.

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–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/maybe_drop_column