Sidebar
ein-/ausblenden

Einstellungen setzen bei WordPress Multisite

Plugin für WordPress SEO

Anzeige

Die Nutzung von WordPress für diverse Blogs im Netzwerk ist sinnvoll, kann diverse Schritte vereinfachen und wird immer beliebter. Sei es um klassische Scenarios des Bloghosting durchzuführen oder mehrsprachige Landschaften zu erstellen bis hin zu anders getrimmten Ideen. Daher ist es auch für Pluginentwickler wichtig, die Funktionen zu nutzen und eigene Plugins dafür zu erweitern oder speziell zu entwicklen.

Vielen ist gleich, aber nicht alles und in diesem kleinen Beitrag möchte ich kurz darstellen, wie man beim Aktivieren eines Plugins gesetzte Einstellungen in der Datenbank absetzt. Der optimale Fall dafür ist eine Funktion von WordPress, die beim Aktivieren eines Plugins getriggert wird register_activation_hook(). Diese Funktion wird üblicher weise beim init oder im Construktor des Plugins aufgerufen. In der damit aufgerufenen Funktion stecken die Funktionen um die Voreinstellungen in WordPress in der Tabelle options abzulegen - add_option(). In Multisite gibt es auch dafür eine Funktion - add_site_option().

Nun gilt es nur noch zu trennen, ob das Plugin innerhalb des Network, in der Verwaltung der Multisite-Installation aktiviert wird, oder ob es lediglich in einer der Blogs des Netzwerkes oder einer Single-installation genutzt wird. Dafür gibt es aktuell keine Funktion, aber einen Wert, der übergeben wird. Das nachfolgenden Beispiel verdeutlicht es sicher.


register_activation_hook( __FILE__, 'fb_add_config' );
function fb_add_config() {

	$data = array(
		'active' => 0,
		'radio'  => 0,
		'link'   => 1,
		'theme'  => 1,
		'role'   => 'administrator',
		'unit'   => 1,
	);
	// if is active in network of multisite
	if ( is_multisite() && isset($_GET['networkwide']) && 1 == $_GET['networkwide'] ) {
		add_site_option( 'my_settings_id', $data );
	} else {
		add_option( 'my_settings_id', $data );
	}
}

Die Abfrage des Wertes in der globalen GET ist sicher schlüssig und die Abbildung dieser Abfrage kann sauber in die bereits vor geraumer Zeit angesprochene Lösung für Multisite und Settings von Thomas integriert werden.
Um weitere Abfragen im Umfeld Multisite zu lösen und die Einstellungen wieder zu entfernen, oder Menus im Network-Admin-Bereuch zu integrieren, ist die Funktion is_plugin_active_for_network() nützlich.

So lassen sich beispielsweise die Optionen wieder kontrolliert in Abhängigkeit der Installationsform von WordPress holen.


if ( is_multisite() && is_plugin_active_for_network( plugin_basename( __FILE__ ) ) )
	$values = get_site_option( 'my_settings_id' );
else
	$values = get_option( 'my_settings_id' );

Kommentar schreiben

Kommentarregeln: Bleib cool, kritisch ist in Ordnung, aber wenn du unhöflich bist, dann lösche ich deinen Kommentar. Bitte benutze deinen persönlichen Namen oder Initialen und nicht den Namen eines Unternehmens, dies würde als Spam gewertet und wird gelöscht. Der Zusammenhang zwischen Namen und URL sollte nicht offensichtlich auf Spam hindeuten! ♥ Ansonsten, vielen Dank für den Kommentar und viel Spaß mit meinem Blog.

E-Mail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.

Kommentar-Hilfe

händischer Spam:
Beachte die Kommentarregeln, jede Form von versuchtem Spam wird gelöscht. Warum und wieso steht in einem meiner Beiträge.

Bezug auf Textstellen:
Du kannst direkt bezug auf Textstellen im Beitrag nehmen. Dazu muss lediglich der Bereich im Artikel markiert werden; daraufhin erscheint ein Button, der den markierten Text in das Kommentarfeld übernimmt und als Zitat auszeichnet. Die Funktion ist nur bei aktivem JavaScript nutzbar.

xHTML:
Du kannst folgende Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <pre> <em> <strong> <strike> <ul> <ul> <li>

Achte darauf, wenn du Code im Kommentar hinterlegen willst, dann muss der Code maskiert sein. Dann wird er nicht interpretiert. Der Code muss mit Hilfe von HTML-Entities dargestellt werden, d.h. dass man z.B. < als &lt; und > als &gt; einfügt.

E-Mail-Benachrichtigung bei neuen Kommentaren ?
Wenn der Haken in der Checkbox gesetzt ist, dann wirst du über neue Kommentare vie E-Mail informiert. Der Versand erfolgt nur, wenn du die URL in der Bestätigungs-E-Mail genutzt hast oder schon Abonnent hier im Blog bist.

Kommentar erscheint nicht:
Alle Kommentare werden manuell geprüft, freigegeben und nach Möglichkeit beantwortet. Bitte um etwas Geduld und Nachsicht.

Identifikationsbilder (Avatare):
Auf Gravatar.com kann man sich mit seiner E-Mail-Adresse registrieren und ein Bild hochladen, dann erscheint dieses Gravatar hier und in vielen weiteren Blogs.

Spamschutz:
Das Kommentarformular ist mit einem Spamschutz ausgerüstet. Solltest du diesen Artikel ohne JavaScript besuchen und kommentieren wollen, so muss du die Frage beantworten und das jeweilige Wort in das Textfeld eingeben.