web-dev-qa-db-ja.com

マルチサイト:グローバルオプションとサイトオプションを保存する方法

ちょっとそこに私はWordPressのマルチサイトのインストール内でネットワーク全体のオプションを保存する方法についてかなり混乱しています。

WordPressに設定を保存する通常の方法は次のとおりです。

add_option();
update_option();
delete_option();

ただし、wp_optionsテーブルは、マルチサイトインストール内の各サイトに対して作成されます。

次の表はサブサイト固有のものです。

myprefix_siteid_commentmeta          
myprefix_siteid_comments             
myprefix_siteid_links                
myprefix_siteid_options              
myprefix_siteid_postmeta             
myprefix_siteid_posts                
myprefix_siteid_term_relationships   
myprefix_siteid_term_taxonomy        
myprefix_siteid_termmeta             
myprefix_siteid_terms                

次の表はネットワーク全体のものです。

myprefix_blogs // multisite specific
myprefix_blog_versions // multisite specific
myprefix_registration_log // multisite specific
myprefix_signups // multisite specific
myprefix_site // multisite specific
myprefix_sitemeta // multisite specific
myprefix_users
myprefix_usermeta

あなたは問題を見ますか?ネットワーク全体のオプションを格納するための適切なテーブルはありません。

ただし、ネットワーク全体のオプションは基本のwp_optionsテーブル(myprefix_options)に格納するとします。しかし、以前はswitch_to_blog(1)を使わずにadd_option()やupdate_option()などを使うことはできません。

より良い可能性はありますか?そうでない場合は、どのように私はベースのwp_optionsテーブルプレフィックスを取得することができますか?

3
Blackbam

ネットワーク全体のオプションを保存および取得するための関数があります。

add_network_option();

update_network_option();

get_network_option();

これらのオプションの値はwp_sitemetaに格納されています。

4
Jacob Peattie