激活wordpress插件时创建数据库表

时间:2015-05-14 17:00:50

标签: php wordpress-plugin wordpress

我开发了一个需要数据库表的插件和一个在激活时创建该表的函数:

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相同的示例,但是它并没有在数据库上创建一个表,我的代码是否存在任何问题?

我添加以下图片以显示激活插件时显示的错误: error activationg plugin

0 个答案:

没有答案
相关问题