Neue Wordpress Nutzerrollen anlegen

Ich finde es gut, wenn Kunden eigene Nutzerrollen bekommen, oder andere User die nur abonnieren können sollen. Mit dem Script kann man Wordpress Nutzerrollen anlegen und deren Rechte steuern.

<?php
 
/*
 *  REGISTRIERT NEUE NUTZER ROLLEN 
 *  FÜR KUNDEN / CLIENTS
 * 
 *  Client Master > Kann alles vom Editor + Nutzer, Menüs, Widgets & Customzier bearbeiten
 *  Client User   > Kann alles vom Editor + Menüs & Widgets bearbeiten
 * 
 *  Clients können nichts updaten oder selbst installieren
 * 
 */
function user_role_clients() {
 
	// *** ROLLE: CLIENT MASTER USER ***
	// Prüfen ob "Client Master User" bereits existiert
	if ( !get_role( 'client_master_user' ) ) {
		$user_capabilities = get_role( 'editor' )->capabilities; // Basis ist die 'Editor'-Rolle
		$user_capabilities = array_merge(
			$user_capabilities,
			// Zusätzliche Optionen hier hinzufügen
			array(
				// Client Master kann jetzt Nutzer bearbeiten
				'list_users'	=> true,
				'create_users'  => true,
				'edit_users'	=> true,
				'promote_users' => true,
				'delete_users'  => true,
				'remove_users'  => true,
 
				// Client Master kann Menüs & Widgets bearbeiten
				'edit_theme_options' => true,
 
				// Client Master kann in das Theme>Custumize Menü gehen
				'customize' => true,
			)
		);
		add_role( 'client_master_user', 'Client Master-User', $user_capabilities ); // Nutzer-Rolle hinzufügen
	}
 
	// *** ROLLE: CLIENT USER ***
	// Prüfen ob "Client  User" bereits existiert
	if ( !get_role( 'client_user' ) ) {
		$user_capabilities = get_role( 'editor' )->capabilities; // Basis ist die 'Editor'-Rolle
		$user_capabilities = array_merge(
			$user_capabilities,
			// Zusätzliche Optionen hier hinzufügen
			array(
				// Client User kann Menüs & Widgets bearbeiten
				'edit_theme_options' => true,
			)
		);
		add_role( 'client_user', 'Client User', $user_capabilities ); // Nutzer-Rolle hinzufügen
	}
 
}
 
 
add_action( 'admin_init', 'user_role_clients' );