Redakteuren die Bearbeitung der Seite für die Datenschutzerklärung erlauben

Vor einigen Wochen wurde ich gefragt, wie ein jemand mit der Rolle „Redakteur“ den Inhalt der Datenschutzseite ändern kann. Wenn ihr die Einstellungen „Einstellungen > Datenschutz > Eine Seite für die Datenschutzerklärung auswählen“ verwenden und hier eine Seite auswählt, kann diese Seite nur von jemandem mit der Rolle „Administrator“ bearbeitet werden. Um der Rolle „Redakteur“ das Aktualisieren dieser Seite zu ermöglichen, gibt es mehrere Optionen.

Option 1: Macht die Seite zu einer normalen Seite

Wenn ihr die Seite nicht unter „Einstellungen > Datenschutz > Eine Seite für die Datenschutzerklärung auswählen“ einstellt, kann ein „Redakteur“ den Inhalt bearbeiten, da es sich nur um eine normale Seite handelt. Aber diese Einstellung hat dennoch eine gewisse Bedeutung. Zum Beispiel wird automatisch unterhalb des Formulars auf der Seite wp-login.php ein Link zu dieser Seite angezeigt. Dieser Link kann auch mit der Funktion the_privacy_policy_link() in die Navigation eines Themes eingefügt werden, was einige ältere Standardthemes (Twenty Fourteen – Twenty Twenty-One) tun.

Falls ihr diese Option verwendet, ist es in der Regel sinnvoll, die Seite nur dann während der Bearbeitung als normale Seite einzurichten. Sobald der „Redakteur“ die Seite aktualisiert hat, sollte sie wieder als „Seite für die Datenschutzerklärung“ eingestellt werden.

Option 2: Gebt der „Redakteur“ Rolle die „manage_options“ Berechtigung

WordPress verfügt über alle viele sogenannter „Berechtigungen“ (im Englischen „Capablities“), um einem „Benutzern“ (oder einer „Rolle“) die Rechte zu geben, bestimmte Dinge zu tun. Eine neuere Berechtigung heißt manage_privacy_options und klingt wie die Rolle, die wir Redakteuren (oder einzelnen Benutzern) geben müssten, um die Seite mit der Datenschutzerklärung bearbeiten zu können, richtig? Leider ist das nicht der Fall. Diese Berechtigung ist eher eine „Meta-Berechtigung“, denn wenn diese Berechtigung einem Benutzer oder einer Rolle zugewiesen wird, benötigt der Benutzer die Berechtigung manage_options, um die Seite mit der Datenschutzerklärung bearbeiten zu können. Aber mit dieser Rolle würden man ihnen auch erlauben, (fast) alle Einstellungen der Website zu ändern. Das ist wahrscheinlich zu viel Macht und Verantwortung für Redakteure.

Option 3: Verwendung von speziellen Rollen in SEO-Plugins

Ich verwende für meine Website hauptsächlich Yoast SEO, das mit zwei zusätzlichen Rollen ausgestattet ist: „SEO Editor“ und „SEO Manager“. Beide erhalten alle Funktionen der „Redakteur“ Rolle, aber auch einige zusätzliche Funktionen für das Yoast SEO-Plugin. Und der „SEO Manager“ erhält auch die Möglichkeit, die Datenschutzseite zu bearbeiten.

Andere SEO-Plugins könnten ähnliche Rollen haben, aber ich habe sie nicht überprüft. Wenn das von euch verwendete Plugin eine solche Rolle oder eine Einstellung hat, die es Redakteuren erlaubt, die Datenschutzseite zu bearbeiten, hinterlasst bitte einen Kommentar mit dem Namen des Plugins und wie es damit funktioniert.

Option 4: Einen Codeschnipsel einfügen, um die Bearbeitung der Seite zu ermöglichen

Ich habe einen kleinen Codeschnipsel geschrieben, der es Redakteuren ermöglicht, die Seite mit den Datenschutzerklärung zu aktualisieren, ohne ihnen zu viele andere Berechtigungen zu geben, die sie nicht brauchen. Der Codeschnipsel filtert die Überprüfung auf die manage_privacy_options Berechtigung und entfernt dann die Notwendigkeit für die manage_options Berechtigung aus der Liste. Hier ist der Code dafür:

function allow_privacy_policy_page_edits( $caps, $cap ) {
	if ( $cap !== 'manage_privacy_options' ) {
		return $caps;
	}

	return array_diff( $caps, [ 'manage_options' ] );
}
add_filter( 'map_meta_cap', 'allow_privacy_policy_page_edits', 10, 2 );

Yoast SEO verwendet einen sehr ähnlichen Code, allerdings mit etwas mehr Komplexität, da es auf die eigene „SEO Manager“ Rolle überprüft.

Fazit

Ich kann verstehen, warum im WordPress Core die Möglichkeit zur Bearbeitung der Seite mit der Datenschutzerklärung auf eine kleinere Gruppe von Benutzern beschränkt wurde. In einem Ticket zu diesem Thema wurde diskutiert, dass Redakteure möglicherweise nicht „in Datenschutzgesetzen oder Unternehmensrichtlinien geschult“ sind, die erforderlich sind, um korrekte Inhalte in diese Seite zu schreiben. Aber warum sollte ein Benutzer mit der Rolle „Administrator“ unbedingt dafür ausgebildet sein? Aber nur diese Benutzer können die Seite aktualisieren, was auch einige rechtliche Risiken mit sich bringen kann, wenn dadurch eine regelmäßige Aktualisierung der Seite verhindert wird.

Wenn ihr meinen Codeschnipsel verwenden möchtet, finden ihr ihn als funktionierendes Plugin in Form einer GIST, wo ihr ihn auch als ZIP-Datei herunterladen könnt, um ihn auf eurer Website zu installieren.

Veröffentlicht von

Bernhard ist fest angestellter Webentwickler, entwickelt in seiner Freizeit Plugins, schreibt in seinem Blog über WordPress und andere Themen, treibt sich gerne bei den WP Meetups in Berlin und Potsdam herum und läuft nach Feierabend den ein oder anderen Halbmarathon.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert