it-swarm.com.de

Multisite: Wie werden globale Optionen im Vergleich zu Site-Optionen gespeichert?

Hey, da bin ich ziemlich verwirrt darüber, wie netzwerkweite Optionen in einer WordPress-Multisite-Installation gespeichert werden.

Die übliche Art, Einstellungen in WordPress zu speichern, ist:

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

Die Tabelle wp_options wird jedoch für jeden Standort innerhalb einer Installation mit mehreren Standorten erstellt.

Die folgenden Tabellen sind spezifisch für die Unterwebsite:

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                

Die folgenden Tabellen sind netzwerkweit:

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

Siehst du das problem Es gibt keine adäquate Tabelle zum Speichern von Optionen für das gesamte Netzwerk, was meiner Meinung nach scheiße ist.

Ich gehe jedoch davon aus, dass Sie netzwerkweite Optionen in der Basis-wp_options-Tabelle (myprefix_options) speichern. Ich kann jedoch nicht add_option () und update_option () usw. verwenden, ohne zuvor switch_to_blog(1) zu verwenden.

Gibt es eine bessere Möglichkeit? Wenn nicht, wie kann ich das Basis-Tabellenpräfix wp_options erhalten?

3
Blackbam

Es gibt Funktionen zum Speichern und Abrufen von netzwerkweiten Optionen:

add_network_option();

update_network_option();

get_network_option();

Die Werte dieser Optionen sind in wp_sitemeta gespeichert.

4
Jacob Peattie