2011-10-18 3 views
3

WordPressの推奨方法を使用して保存されたユーザー設定可能な設定がいくつかあるWordPress用のプラグインを作成しました。私はそれらがwp_optionsテーブルに保存されていることを知っていますが、これはWordPressオプションAPIによって抽象化されています。マルチサイトWordPressプラグインのグローバルデータはどこに保存する必要がありますか?

ここでは、マルチサイトインストールの[ネットワーク管理]セクションで設定できる設定の「グローバルオーバーライド」を追加しようとしています。私は設定ページをデザインするのに適切なフックを見つけましたが、データを保存する場所に関する情報は見つかりませんでした。

通常のオプションAPIを使用して保存すると、設定はサイトごとに個別に保存されます。私は、すべてのサイトでそれらをグローバルに保存する場所を探しています。そのため、プラグインはまず設定がサーバー管理者によってグローバルに上書きされているかどうかを調べることができます。

サイトの1つ(たとえばサイト#1)のwp_optionsテーブルに直接書き込むか、独自のテーブルを作成するコードを書くことができます。私はこれらのことをすべて行う方法を知っていますが、マルチサイトプラグインを作成するための好ましい方法があれば、それをしたくありません。

ありがとうございました。

+0

良い質問です。答えを知ることに興味があります。明確な方法が見つからない場合は、WordPressにチケットを提出することをお勧めします。マルチサイトは比較的新しいので、実際にはコアから抜けている可能性があります。 –

+0

http://wordpress.stackexchange.comに再送信してください。私はあなたがそこでより迅速に答えを得るだろうと思う。 – mrtsherman

+0

ああ、そのサイトは感謝の存在を知らなかった。私はここに再掲載http://wordpress.stackexchange.com/questions/31426/where-should-i-store-global-data-for-my-multi-site-wordpress-plugin – Jason

答えて

0

あなたが知っているように、単一のWordPressプラグインとマルチサイトプラグインの開発の主な違いは、データが書き込まれる場所です。 this articleによれば、プラグインは通常1つのデータベースに対して完全な統治権を持ち、プラグインのローカルページファイルでは、テーブルへのハードコードされた参照の代わりに$ wpdbグローバルオブジェクトを呼び出す必要があります。例えば

、あなたが投稿テーブルにSQLコマンドを実行する必要がある場合は、テーブル名としてwp_postsを使用していない$post_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM wp_posts"));

使用この

$post_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->posts"));

article用をご参照くださいさらに詳しい情報

関連する問題