我开发了一个需要数据库表的插件和一个在激活时创建该表的函数:
defined( 'ABSPATH' ) OR exit;
global $mva_db_version;
$mva_db_version = '1.0';
function Setup_on_activation(){
if ( ! current_user_can( 'activate_plugins' ) )
return;
$plugin = isset( $_REQUEST['plugin'] ) ? $_REQUEST['plugin'] : '';
check_admin_referer( "activate-plugin_{$plugin}" );
global $wpdb;
$db_name = $wpdb->prefix . 'table_test';
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE IF NOT EXIST $db_name (
id int(11) NOT NULL AUTO_INCREMENT,
title text NOT NULL,
content text NOT NULL,
shortcode text NOT NULL,
PRIMARY KEY (id)
) $charset_collate;";
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
dbDelta( $sql );
add_option( 'mva_db_version', $mva_db_version );
}
register_activation_hook(__FILE__,'Setup_on_activation');
我遵循与here相同的示例,但是它并没有在数据库上创建一个表,我的代码是否存在任何问题?
我添加以下图片以显示激活插件时显示的错误: