Wordpress WP Ulike 插件,无法添加其他用户表 (PHP)



我正在使用Wordpress制作一个网站,人们可以在其中喜欢并为文章留下评论。我正在使用一个名为WP ULike的插件,我想将另一个表添加到该插件在我的网站中启动时创建的数据库中。

用于创建所有表的 PHP 代码如下:

/**
* Fired for each blog when the plugin is activated.
*
* @since    3.1
*/
private static function single_activate() {
global $wpdb;
if ( get_site_option( 'wp_ulike_dbVersion' ) != WP_ULIKE_DB_VERSION ) {
$posts_table = $wpdb->prefix . "ulike";
if ( $wpdb->get_var( "show tables like '$posts_table'" ) != $posts_table ) {
$sql = "CREATE TABLE " . $posts_table . " (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`post_id` bigint(20) NOT NULL,
`date_time` datetime NOT NULL,
`ip` varchar(30) NOT NULL,
`user_id` varchar(30) NOT NULL,
`status` varchar(15) NOT NULL,
PRIMARY KEY (`id`)
);";
require_once ABSPATH . 'wp-admin/includes/upgrade.php';
dbDelta( $sql );
} else {
// Fix an old issue with user_id column
$wpdb->query( "ALTER TABLE $posts_table CHANGE `user_id` `user_id` VARCHAR(30) NOT NULL" );
}
}
}

当我激活插件时,我可以看到所有表格都显示正常。所以我决定在数据库中添加另一个表,称为能力表。我的代码如下:

$comptencies_table = $wpdb->prefix . "ulike_competencies";
if ( $wpdb->get_var( "show tables like '$competencies_table'" ) != $competencies_table ) {
$sql = "CREATE TABLE " . $comptencies_table . " (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`competency_id` bigint(20) NOT NULL,
`date_time_acquired` datetime NOT NULL,
`ip` varchar(30) NOT NULL,
`user_id` varchar(30) NOT NULL,
`competency_value` smallint(5) NOT NULL,
PRIMARY KEY (`id`)
);";
require_once ABSPATH . 'wp-admin/includes/upgrade.php';
dbDelta( $sql );
} else {
// Fix an old issue with user_id column
$wpdb->query( "ALTER TABLE $competencies_table CHANGE `user_id` `user_id` VARCHAR(30) NOT NULL" );
}

因此,上一个表的代码几乎相同,但有一些不同的变量,并且它位于另一个表代码正下方的同一文件中。

但是当我停用并重新激活插件,然后去检查数据库时,新表无处可见。

有谁知道为什么会这样?

谢谢!

只需更改主文件上的"WP_ULIKE_DB_VERSION"值即可。(您也可以在数据库中手动添加此表(

相关内容

最新更新