Oprește dezactivarea pluginurilor și schimbarea temei WordPress

Dacă folosești funcționalitatea de CMS a WordPress pentru a crea site-uri pentru clienți, probabil știi cât de curioși sunt unii dintre ei și de prea multe ori te-ai trezit cu tema sau pluginuri dezactivate. Astfel site-ul își va pierde din funcționalitate și fără designul personalizat la care ai muncit.

Copy/paste în functions.php pentru a opri editarea și dezactivarea pluginurilor WordPress

add_filter( 'plugin_action_links', 'slt_lock_plugins', 10, 4 );
function slt_lock_plugins( $actions, $plugin_file, $plugin_data, $context ) {
	// Remove edit link for all
	if ( array_key_exists( 'edit', $actions ) )
		unset( $actions['edit'] );
	// Remove deactivate link for crucial plugins
	if ( array_key_exists( 'deactivate', $actions ) && in_array( $plugin_file, array(
		'slt-custom-fields/slt-custom-fields.php',
		'slt-file-select/slt-file-select.php',
		'slt-simple-events/slt-simple-events.php',
		'slt-widgets/slt-widgets.php'
	)))
		unset( $actions['deactivate'] );
	return $actions;
}

Pentru a selecta un anumit plugin trebuie să introduci calea relativă la wp-content/plugins către fișierul principal al pluginului. De exemplu pentru pluginul antispam Akismet aceasta este akismet/akismet.php – caută fișierul care are exact la început declarațiile privind numele, descrierea și autorului pluginului. Înlocuiește array-ul din codul de mai sus și completează-l cu oricâte de multe pluginuri esențiale pentru buna funcționare a site-ului.

La fel pentru a opri editarea și schimbarea temei curente WordPress folosește acest cod

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

Meniul Themes și submeniul Themes – Editor va fi disponibil doar pentru utilizatorul ID=1 care, în mod normal, ar trebui să fie developerul acelui site ce rulează sub WordPress.

Codul via Steve Taylor.

Articole similare:

  1. Actualizarea WordPress și a pluginurilor prin SSH
  2. Meniul Favorites din WordPress
  3. Adaugă un footer widget ready temei tale

2 Responses

  1. vimishor
    vimishor 9 august 2011 at 13:36 | | Reply

    Alternativa ca sa nu mai insiri toate pluginurile manual: http://chopapp.com/#cc0j533h

Leave a Reply