私は新しいプラグインに取り組んでいますが、データベースにオプションを保存するために保存するのが私の最初です。
現在私はadd_option
を使っています、そして私はそれを仮定しました
- アクティベーションが失敗する、または - 間違った値がwp_blogID_optionsテーブルに保存される
私はadd_blog_option
を使っていなかったからです。すべての 投稿 /文学(Wrox、Apressなど)私が読んだのはadd_blog_option
を使う必要があるということです。
しかし、私が行ったすべてのテスト(およびSQLテーブルの検査)は、私が間違っていることを証明しています。それで...プラグインを作るときにadd_blog_optionの代わりにadd_optionを使うことの何が問題になっていますか(それはシングルインストールかマルチサイトかもしれません)。
私には... add_option
(あるいはget_option
さえ)はすべてうまくいくようです。 Settings APIには保護ラッパーがあると思います。
しかし、それはadd_blog_option
(またはget_blog_option)の使用が「純粋主義者」のためだけのものであることを意味します。
私が「学ぶ」ようになったのは、マルチサイト設定のためのプラグインアクティベーションに関する3つの状態があるということです。
新しいプラグインをインストールするサイト管理者のためにこれを考えてください。
シナリオ1:プラグインはステートレスなので、プラグインの有効化(またはネットワークの有効化)で 'add_option'を安全に使用できます。
シナリオ2: 'add_blog_option'を使用して各ブログをループ処理する必要があります - プラグインがアクティブになるのでネットワークアクティベーションを行う場合。
シナリオ3:あなたは 'add_blog_option'を使わなければならず、理想的にはプラグインが保留中なのでネットワークアクティベーションを許可しません。
私の場合、ブログの所有者がショートコードのあるページを作成するまで、私のプラグインは何もしません。
add_blog_option
は最終的に コンテキスト を提供されたブログIDに切り替えた後にadd_option
自身を呼び出してオプションを追加します。違いは、add_option
は現在のブログのコンテキストでのみ機能するという点です。ここで、add_blog_option
では、現在のコンテキストとは異なる可能性があるブログIDを指定できます。