WordPress: impedire ai clienti di cambiare il tema

WordPress: impedire ai clienti di cambiare il tema

Sicuramente vi sarà capitato di ricevere messaggi dai clienti allarmati che vi informano che il sito, magicamente o misteriosamente, ha smesso di funzionare. Se i vostri clienti hanno un account come admin, è molto probabile che abbiano pasticciato con il backend di WordPress e poi, magicamente o misteriosamente, cercano di trovare un modo per dissimulare l'accaduto. Una delle cose che i clienti amano fare è quella di cambiare il tema che gli avete impostato. Se il tema, scritto da voi o da terzi, usa gli hook di WordPress durante l'attivazione e la disattivazione, è molto probabile che, magicamente o misteriosamente, il cliente abbia resettato il tema. Ecco come agire.

Aggiungete il seguente codice al file functions.php:


add_action('admin_init', 'my_lock_theme');

function my_lock_theme() {
	global $submenu, $userdata;
	get_currentuserinfo();
	if ($userdata->ID != 1) {
		unset($submenu['themes.php'][5]);
		unset($submenu['themes.php'][15]);
	}
}

Questo codice tuttavia non vi mette al riparo dall'eventualità che il cliente abbia un amico, conoscente, parente o consimile che abbia una seppur vaga infarinatura di PHP che gli permetta di modificare il vostro codice. In questo caso il disastro sarà una realtà.

Morale: mai dare ai clienti account amministrativi su WordPress.

Torna su