2

すべてのオプションが単一のオプションの下に配列としてwp_optionsテーブルに保存されているWordPressプラグインを作成しました。次に、プラグインのオプションページのチェックボックスで設定された1つの新しいブールオプションを使用して、プラグインの新しいバージョンを作成しました。

このオプションをデフォルトでチェックしたいのですが、プラグインの新規インストールでは問題ありませんが、プラグインのアップグレードでは問題になります。

問題は、チェックボックスをオフにすると、オプションの配列キーがfalseに設定されず、配列から完全に削除されるため、値がまだ設定されていないか、ユーザーによってfalseに設定されているかを区別できないことです。 。

AFAIKには、プラグイン更新用のアクションフックはありません。

プラグインの更新中に新しいプラグインオプションのデフォルト値を設定するためのエレガントで好ましい方法はありますか?

4

1 に答える 1

1

アップグレード パスを処理する適切な方法は、必要な場合にのみアップグレード手順を実行することです。理想的には、プラグインのデータベース オプションに「バージョン」を格納してから、コードにバージョンを格納します。一致しない場合は、アップグレード プロシージャを起動し、データベース オプションをコード内のバージョンと同じに設定します。これは、アップグレードを処理するプラグインの数であり、コアも同様に機能します。

于 2012-11-20T20:27:41.353 に答える