jueves, 27 de octubre de 2011

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Evita que cambien de tema

Posted: 27 Oct 2011 03:32 PM PDT

Como continuación de lo que hablábamos ayer, donde explicábamos como evitar la desactivación de plugins, hoy vamos a ver un estupendo truco con el que evitar que alguien cambie de tema en WordPress.

La situación más habitual, de nuevo, es una web que has montado a un cliente y este, con más permisos de los que debiera, no se le ocurre otra cosa que instala algún tema y cambiar de tema “a ver que tal queda así la web“. El resultado ya lo sabes, que lo normal es que haga un desastre y luego no acierte con activar el anterior o que, al activarlo, algo deje de funcionar.

Ea, pues vamos a curarnos en salud y, si es tu caso, dejar a tu cliente que instale plugins y esas cosas pero que no cambie el tema en el que has estado trabajando arduamente por uno con más colorines que le ha dicho su hija que mola más porque se parece a Tuenti.

Simplemente añade este código al fichero functions.php de tu maravilloso tema, guardas los cambios y ya lo tienes. Lo único que tienes que adaptar del código es el ID de usuario que SI tiene acceso, o sea, tu ID de usuario administrador, que si no es el “1″ tienes que cambiarlo por tu ID.

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] ); 	} }

De nuevo, si prefieres usar plugins, puedes usar la funcionalidad de restricción de capacidades del plugin Members.

El código es una adaptación del truco del día de wpmu

Evitar la desactivación de plugins

Posted: 27 Oct 2011 12:32 PM PDT

Una de las cosas más delicadas cuando montas una web a un cliente con WordPress es el hecho de que te desactive o modifique plugins que, si no lo hace con conocimiento, pueda destrozar el sitio. No es raro, pasa, sobre todo si hablamos de plugins que has modificado a medida o sin los cuales el tema no funcionará correctamente.

No me refiero a poder instalarlos, algo bastante normal si tu cliente quiere añadir funcionalidades. Es más, si quieres que no toque nada de los plugins puedes hacerlo con el maravilloso plugin Members. Aquí vamos a asegurarnos que, por lo menos, no toque lo que tu le has instalado y configurado.

Pues bien, si te quieres evitar llamadas a horas intempestivas porque “se me ha caído la web”, puedes añadir este código al fichero functions.php de tu tema activo y ya lo tienes:

add_filter( 'plugin_action_links', 'slt_lock_plugins', 10, 4 ); function slt_lock_plugins( $actions, $plugin_file, $plugin_data, $context ) { 	// Quitamos el enlace de editar para todos 	if ( array_key_exists( 'edit', $actions ) ) 		unset( $actions['edit'] ); 	// Quitamos el enlace para desactivar en plugins importantes, cambia los ejemplos por los tuyos 	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; }

Esta maravilla de salvavidas la encontré en el blog de Steve Taylor

No hay comentarios:

Publicar un comentario

Seguidores

Archivo del blog