如何在 WordPress 中正确添加版本或 table 数据库?

How can I add properly the version or a table database in WordPress?

我刚才看到我们可以根据 add_option(db_version) 更新 wordpress tables。因此,我的问题是如何正确添加此版本选项并检查 table 值是否根据当前版本更改。

这是代码的样子。

   // global $agro_db_ver;
    global $wpdb;

    // $db_name = DB_NAME;
    $charset_collate = $wpdb->get_charset_collate();

    $table_name = $wpdb->prefix . 'table1';
    $table_user = $wpdb->prefix . 'users';

    $sql = "CREATE TABLE IF NOT EXISTS $table_name(
        ID BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
        userID BIGINT(20) UNSIGNED NOT NULL,
        Name VARCHAR(200) NOT NULL,
        PRIMARY KEY (ID),
        FOREIGN KEY (userID) REFERENCES $table_user(ID)
        ) $charset_collate;";

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

    // Adding version control
    add_option('agro_db_ver', '1.0.0');'

但是激活挂钩中的数据库不显示版本。我如何检查 table 更改?

您可以使用最新版本值定义常量变量,您需要检查数据库中的选项值以使用您的常量值验证版本值,如果不是最新则更新

我发现您的代码中有错误。当你问问题时,我不确定它是否来了。但是我 运行 你的代码 add_option('agro_db_ver', '1.0.0'); 在我本地的页面模板中工作正常。

能否请您尝试使用 update_option 功能?

我试过像这样使用全局变量。

    // Define global db_variables
       $agro_db_ver = '1.0.0';
       global $agro_db_ver;
       define('agro_db_ver', '1.0.0'); 

但是触发器和定义错误,在数据库中 WordPress 无法识别该选项,我会尝试使用 update_option,如@fahad 所述。之后,验证了你的建议,非常感谢@Janki