【问题标题】:Wordpress insert data when creating table custom plugin创建表格自定义插件时Wordpress插入数据
【发布时间】:2021-12-18 09:15:45
【问题描述】:

您好,我正在 wordpress 中创建表格

        $sql = "CREATE TABLE IF NOT EXISTS $wpdb->prefix" . "profil_member(
            id_profil bigint(20)UNSIGNED NOT NULL AUTO_INCREMENT,
            id_member bigint(20) UNSIGNED NOT NULL,
            id_subscription bigint(20) UNSIGNED NOT NULL,
            createdAt DATETIME DEFAULT CURRENT_TIMESTAMP,
            updatedAt DATETIME,
            state int DEFAULT 1,
            PRIMARY KEY(id_member,id_subscription),
            FOREIGN KEY (id_profil) REFERENCES $wpdb->prefix" . "profil(id),
            FOREIGN KEY (id_member) REFERENCES $wpdb->prefix" . "member(id)
            ) " . $wpdb->get_charset_collate();

        require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
        dbDelta($sql);

我想在使用另一个表中的日期创建此表时填充此表

       if (version_compare($version, '1.7') < 0) {
            $this->populate_profil_member();
            update_option('my_plugin_version', '1.7');
        }

当前插件版本是 1.6。

如果我使用 1.7 更新加载插件,它会创建表但不插入数据并将插件更新到 1.7

如果我用创建表加载插件而不是插入它会创建表,然后如果我用更新重新加载它会插入数据并更新到 1.7

是否有一种解决方案可以只创建表并同时插入数据。 ?

【问题讨论】:

    标签: php mysql wordpress plugins


    【解决方案1】:

    按照这个例子:

    function insert_data_into_database() {
        global $wpdb;
        
        $welcome_name = 'Mr. WordPress';
        $welcome_text = 'Congratulations, you just completed the installation!';
        
        $table_name = $wpdb->prefix . 'your-table-name';
        
        $wpdb->insert( 
            $table_name, 
            array( 
                'time' => current_time( 'mysql' ), 
                'name' => $welcome_name, 
                'text' => $welcome_text, 
            ) 
        );
    }
    

    【讨论】:

      猜你喜欢
      • 2021-06-21
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 2014-12-22
      • 2012-05-03
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多