maybe_add_column()WP 1.3.0

Adds column to a database table, if it doesn't already exist.

Хуков нет.

Возвращает

true|false. True on success or if the column already exists. False on failure.

Использование

maybe_add_column( $table_name, $column_name, $create_ddl );
$table_name(строка) (обязательный)
Database table name.
$column_name(строка) (обязательный)
Table column name.
$create_ddl(строка) (обязательный)
SQL statement to add column.

Заметки

  • Global. wpdb. $wpdb WordPress database abstraction object.

Список изменений

С версии 1.3.0 Введена.

Код maybe_add_column() WP 6.7.1

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