0
假設插件已被應用商店中的人使用,是否有一種簡單的方法來強制數據庫更新,同時保留用戶擁有的數據?不得不擦除數據庫並刪除所有記錄並不是一個理想的情況。更新WordPress插件數據庫
記住的具體操作是爲現有記錄添加一個具有已知值的列。
任何幫助表示讚賞!
假設插件已被應用商店中的人使用,是否有一種簡單的方法來強制數據庫更新,同時保留用戶擁有的數據?不得不擦除數據庫並刪除所有記錄並不是一個理想的情況。更新WordPress插件數據庫
記住的具體操作是爲現有記錄添加一個具有已知值的列。
任何幫助表示讚賞!
有很多方法可以做到這一點。一種方法是比較插件版本並在那裏進行遷移。一旦完成更新版本,它不會重複。
function plugin_update() {
global $plugin_version;
if (get_site_option('plugin_version') != $plugin_version)
plugin_updates();
}
add_action('plugins_loaded', 'plugin_update');
function plugin_updates() {
global $wpdb, $plugin_version;
$table_name = $wpdb->prefix . 'thetable';
$wpdb->query(
"ALTER TABLE $table_name
ADD COLUMN `count` SMALLINT(6) NOT NULL
");
// update option
}
是的,更新插件版本並在新代碼中添加新列。 – Erevald
你會在哪裏添加添加新列的代碼?我之前曾在activate-plugin類中實例化數據庫,用於檢查表是否存在,並據此採取行動。 – mdobrenko
你會在這裏找到答案︰https://wordpress.stackexchange.com/questions/67345/how-to-implement-wordpress-plugin-update-that-modifies-the-database – Cedric