Barra de admin donde quieras

A falta de una barra al estilo de WordPress.com hay un Javascript en forma de "bookmarlet", WP Toolbar, que, añadido a la barra de favoritos de tu navegador te permite acceder a las funciones habituales de administración de WordPress.

Ahora bien, no va a permitirte acceso a nada que no tengas acceso ya, o sea, que si no tienes un usuario registrado en este blog, aunque veas los enlaces no podrás entrar y hacer todo lo que se muestra, solo aquello a lo que habitualmente tengas permiso como usuario registrado, valga la aclaración para que no te lleves a engaño, que esto no es un atajo para entrar en cualquier WordPress.

Lo que si ofrece es una serie de iconos, una vez hecho clic en el bookmarlet, desde los que acceder a las secciones de administración habituales en tus WordPress, mientras los visitas, no desde otra web que visites. Digamos que, por ejemplo, estás leyendo una entrada de tu blog y te das cuenta de que querías modificar algo del tema, pues no hace falta que teclees la dirección para acceder al escritorio, solo haces clic en el bookmarlet y eliges la opción adecuada, así de fácil.

Además, para los que no gusten de usar bookmarlets también hay una extensión de GreaseMonkey, instalable en Firefox por ejemplo, e incluso una extensión para el navegador Safari. Por opciones que no quede.

Configura tu WordPress: los plugins

Si el otro día hablábamos de la configuración de Widgets para los que estén entrando en el mundo de WordPress, hoy vamos a hablar de cómo instalar un plugin. Para los habituales es una tarea muy fácil, casi monótona, pero si es de las primeras veces que lo haces puede que no tengas muy claro el procedimiento.

Antes de nada, una recomendación personal: utiliza el buscador de plugins que te proporciona WordPress. Lo puedes encontrar en el menú de administración de tu blog, en el apartado Plugins / Añadir nuevo. De esta forma te será mucho más fácil instalarlo, ya que no tendrás que utilizar el servidor FTP de tu página.

Por lo tanto, el procedimiento es el siguiente:

  1. Ventana Plugins / Añadir nuevo. Busca el nombre del plugin o la funcionalidad y escoge el que más te guste.
  2. Selecciona la opción de Instalar. Te aparecerá la descripción; haz clic en “Instalar ahora”.
  3. Te aparecerá la ventana de Instalando plugin, y te informará si ha sido instalado correctamente.
  4. En Acciones, tienes la opción de Activar plugin. De esta forma el plugin empezará a funcionar.
  5. ¡Ya tienes el plugin instalado y activado!

Como ves, es muy fácil y rápido. Los pasos a seguir a partir de este momento son distintos según el plugin que quieras instalar. Hay plugins que no tienen ninguna opción de configuración: quizá funcione automáticamente o quizá tengas que mirar la documentación para saber cómo utilizarlo. La mayoría, sin embargo, incluyen un menú en el propio escritorio de administración de WordPress. Podrás encontrarlo dentro de la sección “Plugins”, “Herramientas” o “Opciones”.

Si no sabes cómo configurarlo, lo mejor es que entres a la página del autor del plugin y busques más información. También puedes probar a pasar por ForoWordPress y preguntar, es probable que alguien pueda ayudarte.

Mejorar la navegación de páginas en la administración

Hoy presentamos una manera rápida de poder navegar mejor nuestra Administración, en concreto las páginas que hayamos creado.

El plugin creará un espacio en la bienvenida desde el que acceder directamente a nuestras páginas (muy útil cuando tenemos un montón de ellas, al haber creado un site basado en páginas estáticas por ejemplo).

Para instalarlo, tendréis que descomprimir el plugin, subirlo a la carpeta de “plugins” y activarlo desde la Administración.

Podéis bajar el plugin desde el repositorio oficial de WordPress.

Esperamos vuestros comentarios.

Crear nuestros menús desde la Administración, por fin en WP 3.0

Recientemente apuntábamos en un artículo sobre los sites construidos a base de páginas estáticas que debíamos reflejarlas en el menú principal de nuestra web. Usualmente, lo más cómodo es crear una lista “hard-codeada”, esto es, donde manualmente se escriben los enlaces dentro del HTML:

<ul>
<li><a href="http://site.com/sobre-nosotros">Sobre nosotros</a>
</li>
<li><a href="http://site.com/contacto">Contacto</a>
</li>
<li><a href="http://site.com/pagina-estatica">Esto es una pagina estática</a>
</li>
<li><a href="http://site.com/categorias/musica">Esto una categoría</a>
</li>
<li><a href="http://site.com/etiquetas/rock">Esto un tag</a>
</li>
</ul>

La otra posibilidad, con ayuda o no de plugins que nos permitan añadir o quitar páginas y categorías de los menús, es usar, en combinación, dos template tags nativos de WordPress:

<ul>
<?php wp_list_pages(); ?>
<?php wp_list_categories(); ?>
</ul>

Para ahondar en ambos:
- (wp_list_pages)
- (wp_list_categories)

Sin embargo, y como un paso significativo en el desarrollo de WordPress, se ha anunciado recientemente la incorporación de una pantalla en la Administración que, combinada con cierto template tag (¿alguien ha tenido la oportunidad de trabajar con la versión beta de WP 3.0?), nos permitirá crear menús en nuestro site que incluyan, a voluntad, todos estos elementos:

- páginas estáticas (a escoger)
- categorías (a escoger)
- links (a escoger)
- etiquetas (a escoger)

Veamos un adelanto:

Image and video hosting by TinyPic

Y la edición del elemento:

Image and video hosting by TinyPic

Quienes originaron la inclusión son los chicos de Woo Themes (que son una empresa muy activa en la creación de temas de pago), como podéis ver en el enlace anterior.

Tendremos que esperar al lanzamiento de WP 3.0 y actualizar nuestros themes particulares para habilitarlos a la novedad, pero esto es realmente un paso que afianza a WordPress como un CMS OpenSource que está para quedarse.

Miniaturas… en la administración de WordPress

Si alguna vez os habéis preguntado cómo hacer que una imagen de cada artículo salga al lado de su título, en el interior de nuestra web (es decir, en la Administración), aquí veremos cómo conseguirlo.

WordPress se hará así mucho más fácil de navegar, de forma más visual, ya que cada artículo será, además de por su título, representado por una imagen, lo cual nos irá de perlas a medida que nuestro blog va creciendo.

Sin dudar un instante más, abrid vuestro functions.php y pegad lo siguiente:

if ( !function_exists('fb_AddThumbColumn') && function_exists('add_theme_support') ) {

	// for post and page
	add_theme_support('post-thumbnails', array( 'post', 'page' ) );

	function fb_AddThumbColumn($cols) {

		$cols['thumbnail'] = __('Thumbnail');

		return $cols;
	}

	function fb_AddThumbValue($column_name, $post_id) {

			$width = (int) 35;
			$height = (int) 35;

			if ( 'thumbnail' == $column_name ) {
				// thumbnail of WP 2.9
				$thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );
				// image from gallery
				$attachments = get_children( array('post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image') );
				if ($thumbnail_id)
					$thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true );
				elseif ($attachments) {
					foreach ( $attachments as $attachment_id => $attachment ) {
						$thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true );
					}
				}
					if ( isset($thumb) && $thumb ) {
						echo $thumb;
					} else {
						echo __('None');
					}
			}
	}

	// for posts
	add_filter( 'manage_posts_columns', 'fb_AddThumbColumn' );
	add_action( 'manage_posts_custom_column', 'fb_AddThumbValue', 10, 2 );

	// for pages
	add_filter( 'manage_pages_columns', 'fb_AddThumbColumn' );
	add_action( 'manage_pages_custom_column', 'fb_AddThumbValue', 10, 2 );
}

Guardamos y cerramos.

Recordad que functions.php puede ser creado como simple archivo con un editor de texto como Notepad++ y que, en cualquier caso, necesitará que le añadamos las declaraciones de apertura y cierre de PHP en caso de que lo creemos desde cero:

<?php

//código proporcionado aquí

?>

Créditos: WP Engineer.
Esperamos que os sea útil este truco.

Quitando menús del escritorio de WordPress

Si gestionas sitios de clientes y quieres eliminar acceso a los menús de administración, aunque el usuario sea administrador, puedes hacerlo de un modo muy sencillo y, lo más importante, sin tocar los archivos 'core' de WordPress, con lo que no tendrás que rehacer las modificaciones tras una actualización.

Como ya estarás imaginando, echaremos mano del fichero functions.php de tu tema activo - y si no existe lo creas ahora mismo - y le añadiremos este código:

PHP:
  1. //quitar menus de admin
  2. function quitar_menus () {
  3. global $menu;
  4.         $restricted = array( __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
  5.         end ($menu);
  6.         while (prev($menu)){
  7.             $value = explode(' ',$menu[key($menu)][0]);
  8.             if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
  9.         }
  10. }
  11. add_action('admin_menu', 'quitar_menus');

¿Que consigues con esto?, pues que solo se vean los menús personalizados - normalmente los que añaden los plugins - y aquellos que elimines de la lista de $restricted. En el ejemplo anterior solo verías el escritorio y aquellos menús de los plugins que tengas activos y a los que, por tu perfil de usuario, tengas acceso, justo lo que ves arriba en la captura.

Si también quieres quitar acceso al escritorio solo tendrías que añadir a la ista __('Dashboard'),.

Ahora bien, un usuario avezado aún podrá acceder a las distintas secciones tecleando la URL, o sea, que aunque quites el menú, si alguien teclea http://tudominio.com/wp-admin/plugins.php tendrá acceso. Si quieres eliminar también esa posibilidad, para los menús que definas, entonces el código se debe complicar un poco más, algo así:

PHP:
  1. function quitar_menus () {
  2. global $menu, $submenu, $user_ID;
  3.     $the_user = new WP_User($user_ID);
  4.     $valid_page = "admin.php?page=contact-form-7/admin/admin.php";
  5.     $restricted = array('edit.php','categories.php','upload.php','link-manager.php','edit-pages.php','edit-comments.php', 'themes.php', 'plugins.php', 'users.php', 'profile.php', 'tools.php', 'options-general.php');
  6.     $restricted_str = 'widgets.php';
  7.     end ($menu);
  8.     while (prev($menu)){
  9.         $menu_item = $menu[key($menu)];
  10.         $restricted_str .= '|'.$menu_item[2];
  11.         if(in_array($menu_item[2] , $restricted)){
  12.             $submenu_item = $submenu[$menu_item[2]];
  13.             if($submenu_item != NULL){
  14.                 $tmp = $submenu_item;
  15.                 $max = array_pop(array_keys($tmp));
  16.                 for($i = $max; $i> 0;$i-=5){
  17.  
  18.                      if($submenu_item[$i] != NULL){
  19.                         $restricted_str .= '|'.$submenu[$menu_item[2]][$i][2];
  20.                         unset($submenu[$menu_item[2]][$i]);
  21.                     }
  22.                 }
  23.             }
  24.             unset($menu[key($menu)]);
  25.         }
  26.     }
  27.     $result = preg_match('/(.*?)\/wp-admin\/?('.$restricted_str.')??(('.$restricted_str.'){1})(.*?)/',$_SERVER['REQUEST_URI']);
  28.     if ($result != 0 && $result != FALSE){
  29.         wp_redirect(get_option('siteurl') . '/wp-admin/' . $valid_page);
  30.         exit(0);
  31.     }
  32. }
  33. add_action('admin_menu', 'quitar_menus');

Con este código eliminas la visualización y el acceso a los menús. Y en la lista de $restricted puedes añadir o quitar a voluntad los menús a los que se tendrá acceso.

Contenido exclusivo para suscriptores al Feed

¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:

Clic aquí para iniciar la descarga Guía Windows Live Writer

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!

Quitando menús del escritorio de WordPress

Si gestionas sitios de clientes y quieres eliminar acceso a los menús de administración, aunque el usuario sea administrador, puedes hacerlo de un modo muy sencillo y, lo más importante, sin tocar los archivos 'core' de WordPress, con lo que no tendrás que rehacer las modificaciones tras una actualización.

Como ya estarás imaginando, echaremos mano del fichero functions.php de tu tema activo - y si no existe lo creas ahora mismo - y le añadiremos este código:

PHP:
  1. //quitar menus de admin
  2. function quitar_menus () {
  3. global $menu;
  4.         $restricted = array( __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
  5.         end ($menu);
  6.         while (prev($menu)){
  7.             $value = explode(' ',$menu[key($menu)][0]);
  8.             if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
  9.         }
  10. }
  11. add_action('admin_menu', 'quitar_menus');

¿Que consigues con esto?, pues que solo se vean los menús personalizados - normalmente los que añaden los plugins - y aquellos que elimines de la lista de $restricted. En el ejemplo anterior solo verías el escritorio y aquellos menús de los plugins que tengas activos y a los que, por tu perfil de usuario, tengas acceso, justo lo que ves arriba en la captura.

Si también quieres quitar acceso al escritorio solo tendrías que añadir a la ista __('Dashboard'),.

Ahora bien, un usuario avezado aún podrá acceder a las distintas secciones tecleando la URL, o sea, que aunque quites el menú, si alguien teclea http://tudominio.com/wp-admin/plugins.php tendrá acceso. Si quieres eliminar también esa posibilidad, para los menús que definas, entonces el código se debe complicar un poco más, algo así:

PHP:
  1. function quitar_menus () {
  2. global $menu, $submenu, $user_ID;
  3.     $the_user = new WP_User($user_ID);
  4.     $valid_page = "admin.php?page=contact-form-7/admin/admin.php";
  5.     $restricted = array('edit.php','categories.php','upload.php','link-manager.php','edit-pages.php','edit-comments.php', 'themes.php', 'plugins.php', 'users.php', 'profile.php', 'tools.php', 'options-general.php');
  6.     $restricted_str = 'widgets.php';
  7.     end ($menu);
  8.     while (prev($menu)){
  9.         $menu_item = $menu[key($menu)];
  10.         $restricted_str .= '|'.$menu_item[2];
  11.         if(in_array($menu_item[2] , $restricted)){
  12.             $submenu_item = $submenu[$menu_item[2]];
  13.             if($submenu_item != NULL){
  14.                 $tmp = $submenu_item;
  15.                 $max = array_pop(array_keys($tmp));
  16.                 for($i = $max; $i> 0;$i-=5){
  17.  
  18.                      if($submenu_item[$i] != NULL){
  19.                         $restricted_str .= '|'.$submenu[$menu_item[2]][$i][2];
  20.                         unset($submenu[$menu_item[2]][$i]);
  21.                     }
  22.                 }
  23.             }
  24.             unset($menu[key($menu)]);
  25.         }
  26.     }
  27.     $result = preg_match('/(.*?)\/wp-admin\/?('.$restricted_str.')??(('.$restricted_str.'){1})(.*?)/',$_SERVER['REQUEST_URI']);
  28.     if ($result != 0 && $result != FALSE){
  29.         wp_redirect(get_option('siteurl') . '/wp-admin/' . $valid_page);
  30.         exit(0);
  31.     }
  32. }
  33. add_action('admin_menu', 'quitar_menus');

Con este código eliminas la visualización y el acceso a los menús. Y en la lista de $restricted puedes añadir o quitar a voluntad los menús a los que se tendrá acceso.

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!

Activar creación de múltiples blogs en WordPress 3.0-dev


Como sabes, WordPress MU y WordPress se fusionarán en la versión 3.0 y, como comentaba Fernando hace un tiempo, esta opción se activará y es totalmente opcional. Si usas la versión en desarrollo (WordPress 3.0), te tenemos una estupenda noticia: ya puedes activar la función de multisitios.

¿Como lo activo?

Antes de hacer esto, comprueba que realmente estas usando WordPress 3.0-dev, ya que este truco no funcionará en otras versiones de WordPress. Una vez que compruebes esto, haz los siguientes pasos:

1) Abre tu wp-config.php y añade esta linea:
define ('MULTISITE', true);
Una vez que guardes los cambios, ingresa o recarga tu panel de administración. Ahora la opción para crear múltipes blogs se encuentra activa y notarás un nuevo menú.

2) Verás un mensaje. Copia las siguientes lineas y pégalas en tu wp-config.php:
define( 'AUTH_SALT', 'XXXXXXXXXXXXXXXXXXXXX' );
define( 'LOGGED_IN_SALT', 'XXXXXXXXXXXXXXXXXXXXX' );
define( 'SECURE_AUTH_SALT', 'XXXXXXXXXXXXXXXXXXXXX' );

Obviamente, las XXX son de ejemplo. En tu caso, será una serie de caracteres que no debes editar, tan solo copiar y pegarlos.

3) Recarga nuevamente tu panel de administración, y notarás que se te ha cerrado la sesión, así que vuelve a iniciarla. Luego, verás en el mensaje "Thank you for Upgrading! Please visit the Upgrade Site page to update all your blogs.". Haz click en el enlace "Upgrade Site", se te llevará a otra página, haz click en el botón "Upgrade Site", espera a que aparesca "All Done" y terminamos.

Desde ahora dispones de la función de múltiples blogs en tu sitio, pero ten cuidado y no lo uses en tu blog diario, ya que aún esta en desarrollo y puede provocar conflictos, de modo que te recomendamos activar esto solo en tu blog de pruebas para que puedas acostumbrarte poco a poco a esta nueva opción.

¿Como lo desactivo?

Muy simple. Cambia define ('MULTISITE', true); por define ('MULTISITE', false); y listo. Para activarla nuevamente, vuelve a ponerlo en true.

Contenido exclusivo para suscriptores al Feed

¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:

Clic aquí para iniciar la descarga Guía Domina tu Blog

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!

Programa el vaciado de la papelera

Papelera WordPress

Una de las novedades de WordPress 2.9 es la Papelera, un modo de borrar comentarios, entradas y páginas con red, bastante más seguro que el antiguo borrado con ventana de confirmación.

Ahora bien, si eres de los olvidadizos y no quieres que tu base de datos crezca a un ritmo frenético puedes definir cada cuanto tiempo quieres que la papelera se vacíe automáticamente, sin tu intervención. Eso si, sabiendo que el valor por defecto de WordPress es que se vacíe cada 30 días.

Si tienes claro este concepto, pues no hay vuelta atrás, lo que vacíes desaparece, puedes añadir esta línea al fichero wp-config.php de tu instalación de WordPress:

PHP:
  1. define( 'EMPTY_TRASH_DAYS', 15 );

Tu decides el valor numérico de los días tras lo que se vaciará la papelera (15 en el ejemplo), y si quieres algo más radical puedes configurarlo para que no se guarde nada en la papelera, de hecho desaparece de tu área de administración, quedando solo la opción de "Borrar permanentemente" … 

PHP:
  1. define( 'EMPTY_TRASH_DAYS', 0 );

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!

Controlando el Spam sin plugins

desactivar-comentarios-psiquiatra

Uno de los plugins que vienen por defecto en la instalación de WordPress es Akismet, que hace un buen trabajo detectando los comentarios basura, ahora bien, no necesitas en realidad ningún plugin para controlar el spam, en el mismo panel de administración de WordPress tienes todo lo necesario para parar los pies a los visitantes indeseables que te quieren vender medicinas o animarte a que visites su web de venta de pisos, por ejemplo.

Lo único que tienes que hacer es pasarte por las Opciones de Discusión de tu WordPress y configurar adecuadamente la configuración para evitar el spam. Mis recomendaciones serían las siguientes:

Mejor me lo pienso

antispam1

Para curarte en salud puedes definir por defecto que no se reciban pingbacks, trackbacks o que esté cerrado el formulario de comentarios. Luego, en cada entrada, puedes activar estas opciones que no tienen por qué estar activas siempre obligatoriamente.

Y es que pensamos que por defecto tenemos que activar los comentarios pero no es así. Hay entradas que son meramente informativas y no tiene porqué requerir interacción del lector. Solo aquellas en que queramos abrir la conversación pueden ser susceptibles de ofrecer comentarios. Con ese objeto podemos configurar estas opciones.

Carné y horario de cierre

antispam2

También puedes exigir que los usuarios dejen su nombre y email, algo poco práctico. Es mucho mejor requerir que se registren. De este modo te aseguras que el email es válido (se le envía la contraseña para poder acceder) en caso de – incluso – tener que denunciarle.

Otra opción muy interesante y que casi nadie usa es la posibilidad de cerrar los comentarios tras un periodo razonable. Y es que está demostrado que a partir de un cierto tiempo a las entradas solo llegan los spammers y, si acaso, algún despistado.

Alertas

antispam3

Complementarias del resto de opciones, tienes estas casillas mediante las cuales puedes definir que se te avise antes de aprobar comentarios o después de recibirlos.

Esta es de las típicas opciones que todos activamos al principio pero, cuando el sitio se va haciendo popular y recibe muchos comentarios, desactivamos. No las desestimes si recibes mucho spam.

Solo para socios

antispam4

Por supuesto, casi nada de lo anterior sirve si tenemos cerrada la puerta y solo la abrimos cuando el usuario ya ha pasado nuestro primer filtro (su primer mensaje) o incluso estipulamos que hay que pasar por “el puerta” para comentar. Aquí puedes definirlo.

A la cola

antispam5

Además de todo lo anterior, o si quieres solo con esta opción, puedes mantener en cola de espera comentarios con palabras, direcciones, IPs, dominios que pongas en la lista de espera. Lo normal es que esta lista vaya creciendo con el tiempo.

A la puta calle

antispam6

Ahora bien, hay gente que se gana a pulso la expulsión. A fin de cuentas tu web, tu blog, es tu casa y si alguien incumple alguna de las normas de convivencia se ha ganado no participar.

Todo el que cumpla con esta premisa lo añades a esta lista. Puedes poner palabras, emails, urls, ips, etc.

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!

Get Adobe Flash playerPlugin by wpburn.com wordpress themes