Benutzerrechte für Zugriff auf Einstellungen von WP Rocket ändern

Per Werkseinstellung können nur WordPress-Nutzer_innen mit Administrator-Rechten auf die Einstellungen von WP Rocket zugreifen und diese verändern; in einer Multisite-Umgebung sind das sowohl die Administratoren individueller Sites im Netzwerk, als auch die Super-Admins für das gesamte Netzwerk.

Falls du die standardmäßig erforderlichen Mindestrechte für WP Rocket anpassen möchtest, kannst du das mit den folgenden Snippets tun. Implementiere deine Änderungen vorzugsweise als eigenes MU-Plugin, oder notfalls über die functions.php deines Themes.

Redakteur_innen Zugriff auf Einstellungen von WP Rocket gewähren

Du kannst die Mindestrechte für WP Rocket soweit herabsetzen, dass auch Redakteur_innen Zugriff auf die Einstellungen haben. So geht’s:

Eigenes MU Plugin

Folge den allgemeinen Anweisungen in diesem Artikel:
Eigenes (MU-)Plugin für Anpassungen erstellen

1
Lege einen neuen Ordner mu-plugins innerhalb von wp-content an.
Falls der Ordner mu-plugins dort schon existiert, verwende den existierenden.
2
Lege eine neue Datei an und speichere die folgenden Code-Zeilen darin. Nutze dafür einen Code- oder Texteditor:
<?php
defined( 'ABSPATH' ) or die( 'Cheatin&#8217; uh?' );
/**
 * Plugin Name: WP Rocket | Settings Access for Site Editors 
 * Description: Allows site editors to access and modify WP Rocket’s settings.
 * Author:      WP Rocket Support Team
 * Author URI:  http://wp-rocket.me/
 * License:     GNU General Public License v3 or later
 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
 */

/**
 * Set minimum user capability for WP Rocket.
 * @param  string $capability WordPress user capability
 * @return string             WordPress user capability
 */
function rocket_for_editor( $capability ) {

	if ( current_user_can( 'editor' ) ) {
		return 'editor';
	}

	return $capability;
}
add_filter( 'rocket_capacity', 'rocket_for_editor' );
// only required before 2.8.9:
add_filter( 'rocket_capability', 'rocket_for_editor' );
	
3
Speichere die Datei unter einem beliebigen Namen, aber nutze ausschließlich lateinische Kleinbuchstaben, Ziffern, und Bindestriche im Dateinamen. Zum Beispiel:
wp-rocket-userrole.php
4
Lade die Datei in den Ordner mu-plugins aus Schritt 1 hoch.
5
Zuletzt deaktiviere und re-aktiviere WP Rocket einmal.

Vom Theme aus

Füge den folgenden Code-Schnipsel in die functions.php deines Child-Themes oder eigenen Themes ein:

/**
 * Set minimum user capability for WP Rocket.
 * @param  string $capability WordPress user capability
 * @return string             WordPress user capability
 */
function rocket_for_editor( $capability ) {
	if ( current_user_can( 'editor' ) ) {
		return 'editor';
	}
	return $capability;
}
add_filter( 'rocket_capacity', 'rocket_for_editor' );
// only required before 2.8.9:
add_filter( 'rocket_capability', 'rocket_for_editor' );

Multisite: Zugriff auf Einstellungen nur für Super-Admins

In einer Multisite-Umgebung kannst du den folgenden Code in deinem MU-Plugin, oder deiner functions.php nutzen, um den Zugriff auf die Einstellungen von WP Rocket ausschließlich Super-Admins zu erlauben.

/**
 * Restrict settings access to Super Admins.
 * @param  string $capability WordPress user capability
 * @return string             WordPress user capability
 */
function rocket_for_super_admin( $capability ) {
	if ( ! current_user_can( 'manage_network' ) ) {
		return 'manage_network';
	}
	return $capability;
}
add_filter( 'rocket_capacity', 'rocket_for_super_admin' );
// only required before 2.8.9:
add_filter( 'rocket_capability', 'rocket_for_super_admin' );