- 12, May 2024
- #1
Я сделал плагин, который автоматически генерирует базу данных, если она не существует. Точно так же я хочу создать таблицу в сгенерированной базе данных. Например
Я пробую эти коды
- Я создаю базу данных с такими кодами, как ABCD.
- Теперь я хочу создать таблицу DEF в базе данных ABCD.
Я пробую эти коды
function plugin_name_activation() {
require_once( ABSPATH . '/wp-admin/includes/upgrade.php' );
global $wpdb;
$db_table_name = $wpdb->prefix . 'table_name';
if( $wpdb->get_var( "SHOW TABLES LIKE '$db_table_name'" ) != $db_table_name ) {
if ( ! empty( $wpdb->charset ) )
$charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
if ( ! empty( $wpdb->collate ) )
$charset_collate .= " COLLATE $wpdb->collate";
$sql = "CREATE TABLE " . $db_table_name . " (
id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
type varchar(100) NOT NULL DEFAULT '',
extra longtext NOT NULL,
date_time datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (id)
) $charset_collate;";
dbDelta( $sql );
}
}
register_activation_hook(__FILE__, 'plugin_name_activation');
Код (разметка): Ссылка на эти коды: web-profile.com.ua/wordpress/dev/create-table-on-plugin-activation/
Но не работают эти коды.
Пожалуйста помоги. Помощь оценена по достоинству.