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.


Top ↑

Return

(bool) True on success or if the column doesn't exist. False on failure.


Top ↑

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


Top ↑

Changelog

Changelog
VersionDescription
1.0.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.