SummArg | Cursos y recursos para webmasters

14/08/2011

Personalizar login y escritorio de WordPress II

Hace un tiempo atrás vimos como realizar algunas personalizaciones a nuestro escritorio WordPress utilizando un poco de código y algunos plugins. Ver nota aquí. En esta nota veremos cómo podemos lograr el mismo resultado pero exclusivamente desde el código functions.php del theme, basándonos en el tutorial de Onextrapixel

Todos los códigos que compartimos aquí van ubicados dentro del archivo functions.php del theme. En caso de que no traiga dicho archivo, se lo puede crear y se deben añadir las etiquetas <?php y ?> al final. Se recomienda utilizar algún editor como Notepad++ o Dreamweaver.

Eliminar el logo de WordPress de la pantalla de login

Con este código se puede reemplazar el logo de WordPress por el de la marca del blog en la pantalla de login. El logo del cliente debe ir dentro de la carpeta /theme/images/

function my_custom_login_logo() {
echo '<style type="text/css">
h1 a { background-image:url('.get_bloginfo('template_directory').'/images/logo.jpg) !important; }
</style>';
}
add_action('login_head', 'my_custom_login_logo');

Reemplazar el logo WP del escritorio

Se puede eliminar el logo de WordPress que se encuentra arriba a la izquierda en el escritorio. Nuevamente se debe colocar el archivo con el logo dentro de /theme/images/ y debe tener un tamaño apropiado (similar al de WP de 32 x 32px).

add_action('admin_head', 'my_custom_logo');
function my_custom_logo() {
echo '<style type="text/css">
#header-logo { background-image: url('.get_bloginfo('template_directory').'/images/logo.jpg) !important; }</style>';
}

Cambiar el color del header del escritorio

El siguiente código añade un degradado linear que se ve sólo en navegadores con motor webkit. Se puede reemplazar por colores sin gradientes o imágenes.
function wp_admin_dashboard_header_colour() {
echo '<style type="text/css">#wphead{background:#000000;
background-image: -webkit-gradient(linear, 0% 100%, 0% 0%, from(#7684hg), to(#730fvk));
}
#wphead h1#site-heading a{color: #ggg;}
#wphead h1#site-heading a:hover{color: #fff;}
#wphead #wphead-info #user_info{color: #ggg;}
#wphead #wphead-info #user_info a{color: #ggg;}
#wphead #wphead-info #user_info a:hover{color: #fff;}
</style>';
}
add_action('admin_head', 'wp_admin_dashboard_header_colour');

Remover items del menú del escritorio

Es ideal para evitar que nuestros clientes se vean abrumados por la cantidad de opciones o accidentalmente cambien algo que no debían. En el siguiente código se remueven las secciones de Diseño, Usuarios y Plugins.

// removing appearance, users and plugins options from menu Items in WordPress Dashboard
function wp_admin_dashboard_remove_menus() {
global $menu;
$restricted = array(__('Appearance'), __('Users'), __('Plugins'));
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}
}
add_action('admin_menu', 'wp_admin_dashboard_remove_menus');

Los términos que pueden utilizarse para remover items son los siguientes:

$restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));

Eliminar el aviso de actualización para usuarios que no sean administradores

if ( !current_user_can( 'edit_users' ) ) {
add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );
add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );
add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );
}

Añadir feeds de noticias personalizados al inicio del escritorio

Es posible que un cliente quiera leer noticias sólo de determinado sitio al ingresar a su panel. Para ello podemos añadir el siguiente widget. Chequeen que necesita que indiquemos la URL del feed.

function wp_admin_dashboard_add_news_feed_widget() {
global $wp_meta_boxes;
wp_add_dashboard_widget( 'dashboard_new_feed', 'FEEDS ELEGIDOS', 'dashboard_my_feed_output' );
}
add_action('wp_dashboard_setup', 'wp_admin_dashboard_add_news_feed_widget');
function dashboard_my_feed_output() {
echo '<div>';
wp_widget_rss_output(array(
'url' => 'http://www.website.com/feed/',
'title' => 'Noticias de mi elección',
'items' => 2,
'show_summary' => 1,
'show_author' => 0,
'show_date' => 1
));
echo "</div>";
}

Editar el texto del footer

El pié de página en el escritorio de WordPress contiene algunos links que pueden ser reemplazados facilmente.

function remove_footer_admin () {
echo "Texto personalizado";
}
add_filter('admin_footer_text', 'remove_footer_admin');

Dejar un comentario

  1. Buen día, gracias por la información, quisiera además hacer una pregunta ¿conocen una forma de eliminar el letrero que dice “Estás usando WordPress 3.4.2″ del escritorio de WordPress pero solo para los no colaboradores?

Dejar un comentario