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.


Top ↑

Return

(bool) True on success or if the column already exists. False on failure.


Top ↑

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


Top ↑

Changelog

Changelog
VersionDescription
1.3.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.