在激活Wordpress插件时制作两个或多个表

JD_bravo

我最近完全是从头开始制作一个插件,我试图制作一个关于插件激活的表格,但我在其中取得了成功,但是现在我想制作一个以上关于插件激活的表格,但是我没有得到预期的结果。

它仅使两个表之一,这是下面的代码。

// Registering plugin

register_activation_hook(__FILE__,'myplugin_activate'); 

function myplugin_activate() 

{

                global $wpdb;
                $table_name1 = $wpdb->prefix . "myentries";
                $table_name2 = $wpdb->prefix . "myemail";

                //installed_ver = get_option('my-voting-version');

                if( $wpdb->get_var("show tables like '$table_name1' ") != $table_name1)  
                {

                    $sql = "CREATE TABLE IF NOT EXISTS `" . str_replace('`', '', $table_name1) . "`(
                    id mediumint(9) unsigned NOT NULL AUTO_INCREMENT,
                    name varchar(50) NOT NULL,
                    sub longtext NOT NULL,
                    message longtext NOT NULL,                   
                    );";
                    require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
                    dbDelta($sql);
                }   
               if( $wpdb->get_var("show tables like '$table_name2' ") != $table_name2 )      
                {    
                    $sql = "CREATE TABLE IF NOT EXISTS `" . str_replace('`', '', $table_name2) . "`(
                    id mediumint(9) unsigned NOT NULL AUTO_INCREMENT,
                    email varchar(50) NOT NULL,
                    PRIMARY KEY  (id)
                    );";
                    require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
                    dbDelta($sql);
                }          
}

此代码仅使一个表成为最后一个“ * prefix_myemail”。请建议我或给我写正确的代码以纠正此问题。

预先感谢您的帮助。

拉菲夫·阿斯塔德吉克

可能是您忘记了myentries的主键,请尝试像这样添加主键

if( $wpdb->get_var("show tables like '$table_name1' ") != $table_name1)  
{

    $sql = "CREATE TABLE IF NOT EXISTS `" . str_replace('`', '', $table_name1) . "`(
    id mediumint(9) unsigned NOT NULL AUTO_INCREMENT,
    name varchar(50) NOT NULL,
    sub longtext NOT NULL,
    message longtext NOT NULL,        
    PRIMARY KEY  (id)           
    );";
    require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
    dbDelta($sql);
} 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当一个表有多个值时如何连接两个表

来自分类Dev

在SQL中链接多个表时从两个表中查看数据

来自分类Dev

制作graphviz分支,分支到两个或多个分支

来自分类Dev

在检查多个 WHERE 子句时在 SQL 中连接两个表

来自分类Dev

多个表的两个选择-多个列的内容

来自分类Dev

激活wp插件时无法创建多个自定义数据库表

来自分类Dev

MySQL从两个表匹配的多个表中选择

来自分类Dev

查询多个表,其中两个是联结表

来自分类Dev

如何加入两个或多个Wordpress RSS源?

来自分类Dev

如何在SQL中从两个表制作一个表

来自分类Dev

只能同时激活两个屏幕

来自分类Dev

尝试更新Wordpress用户元时的两个问题

来自分类Dev

连接具有多个引用和两个值的两个表以进行添加

来自分类Dev

宏以两个条件对多个表进行排序

来自分类Dev

MSSQL-具有多个关系的两个表

来自分类Dev

使用greendao从两个表中选择多个列

来自分类Dev

Power BI,基于两个条件的多个表的总和

来自分类Dev

连接两个Mysql表以获取多个列的名称

来自分类Dev

具有两个或多个标题行的表

来自分类Dev

MSSQL-具有多个关系的两个表

来自分类Dev

MySQL在多个记录上联接两个表

来自分类Dev

SQL Server:来自两个或多个表的值

来自分类Dev

SQL查询,两个表,多个项目

来自分类Dev

选择匹配两个或多个相关表的记录

来自分类Dev

SQL针对多个列联接两个表

来自分类Dev

在 Rails 中加入两个或多个表?

来自分类Dev

MYSQL选择两个不存在的多个表

来自分类Dev

根据多个条件连接两个表

来自分类Dev

两个 SQL Server 表之间的多个 FOREIGN KEY