WordPressmanía (julio 2010)

Enlaces relacionados con WordPress que se nos quedaron en el tintero en el mes de Julio. Algunos de ellos los pusimos en Twitter pero ahora quedan aquí recogidos para una degustación tranquila.

Blogpocket.com: blog ganador en los Premios Bitacoras.com 2010, en la categoría Premio Especial Honorífico

También puedes leerme en Twitter y en Weblog Magazine

Y si te gusta la música, no dejes de suscribirte a Acordes Modernos, finalista en los Premios Bitacoras.com 2010, en la categoría Mejor Blog Cultural

WordPress 3.0: redirección de dominios

WP multisiteComo les decía en un anterior post, la configuración de los dominios en el servidor, es el punto más delicado de la instalación de la opción multisite de WordPress 3.0.

Si quieres tener una red de blogs formada por tu dominio principal (www.misitio.com) y un conjunto de subdominios (sitio1.misitio.com, sitio2.misitio.com, etc.), después de activar la opción multisite y antes de crear tus subdominios (ver pasos a seguir para instalar WP 3.0 multisite), ten en cuenta lo siguiente:

- Configura el Wildcard DNS Record. Básicamente, consiste en añadir un registro de tipo “A” en la configuración de dns asociado a la IP del dominio. Los paneles de administración de los proveedores de hosting más conocidos proporcionan esta opción y es muy fácil de llevar a cabo. Por ejemplo, así se implementa en DirectAdmin.

- Configurar Apache para admitir la redirección en el archivo Httpd.conf. Esto consiste en añadir la sentencia “ServerAlias *.misitio.com”

- Asegurarse de que no existe ningún alias de dominio definido. Hay dos formas de redirigir a un dominio desde otro, partiendo de la base de que yo les aconsejo tener el registro del dominio con una empresa y el alojamiento en otra. Una es realizar la redirección, con un alias de dominio, definido en el proveedor con el que tenemos el hosting. Y la segunda, contratar también “parking” en la empresa donde tenemos el registro. El parking no implica alojamiento, simplemente es un servicio (suele ser gratuito) que permite redirección o mostrar una página web de aviso. Para que funcione WP multisite debemos optar por la segunda alternativa.

Sin embargo, si lo que se quiere es una url publica como misegundositio.com pero formando parte de la instalacion multisite de misitio.com (por ejemplo desde sitio2.misitio.com), hay que utilizar el mapeo de dominios. Y eso se puede hacer con el plugin Domain-mapping. Para ilustrar el mapeo de dominios, les recomiendo la lectura de WordPress 3.0 Multisite Domain Mapping Tutorial from Otto.

Espero que este post les saque del atasco. A mi me sacó de él Guillermo Carvajal, un auténtico experto en WP MU.

email Twitter Tumblr Posterous del.icio.us Google Bookmarks BarraPunto Meneame Wikio Ping.fm Technorati Add to favorites

Vota Acordes Modernos en los Premios Bitacoras.com 2010



También puedes votar mi blog en ABC.es: Weblog Magazine

WordPress 3.0 multisite: cómo instalarlo (I)

Este es el primero de una serie de dos posts donde veremos cómo instalar la opción multisite de WordPress 3.0
WP Multisite

La opción multisite es una de las funcionalidades más interesantes del nuevo WordPress 3.0, apodado Thelonius. Con ella se puede implementar una red de blogs, manteniendo una única instalación de la aplicación (una sola librería de themes y plugins) y cada uno con su dashboard. ¡Realmente espectacular!.

Si tienes un dominio www.misitio.com con una instalación de WP 2.9, se puede, en primer lugar y fácilmente, migrar a WP 3.0 y, a continuación, habilitar la opción multisite para disponer de una serie de dominios web1.misitio.com, web2.misitio.com, web3.misitio.com, etc. (cada uno con su WP 3.0, gestión centralizada con un superadministrador o individualizada con su usuario y password particular). Esto ya se podía realizar con WordPress MU (una extensión diferenciada de WP previa a esta versión unificada) pero era algo complicado. La fusión de ambas aplicaciones (WP “normal” y WP MU) ha sido, indudablemente, un acierto.

Pongámonos pues, manos a la obra.

En primer lugar, es fundamental llevar a cabo un backup tanto de la base de datos como de los archivos esenciales de nuestra instalación de WP. Otra tarea previa muy aconsejable es actualizar todos los plugins a la última versión. Ahora es muy sencillo realizarlo desde el panel de administración, simplemente facilitando el usuario y contraseña de FTP.

La migración a 3.0 se puede hacer también desde el dashboard (para ello, es conveniente revisar que los permisos de las carpetas son los adecuados para permitir la sobreescritura de archivos). Sin embargo, yo aconsejo -aunque se tarda un poquito más- seguir los pasos de una instalación convencional, previa descarga del software y el backup de la base de datos y archivos esenciales que comentábamos un poco más arriba.

La instalación de WP 3.0 no presenta ningún problema, salvo los lógicos errorcillos que serán subsanados en la release 3.1. Para tu blog principal, no es descabellado esperar a que salga esa primera release, quizás la tengamos dentro de unos días, y así ahorraremos posibles dolores de cabeza.

Respecto a la incompatibilidad de plugins, por ejemplo el famoso Google (XML) Sitemaps Generator (para generar archivos con el sitemap) no trabaja con WP multisite. Pero Jan Dembowski nos explica en Google XML Sitemaps and WordPress Multisite como solucionarlo. Lo he probado y funciona.

En el próximo capítulo, explicaré detalladamente cómo activar y configurar la opción multisite de WP 3.0

email Twitter Tumblr Posterous del.icio.us Google Bookmarks BarraPunto Meneame Wikio Ping.fm Technorati Add to favorites

Vota Acordes Modernos en los Premios Bitacoras.com 2010



También puedes votar mi blog en ABC.es: Weblog Magazine

Mostrar ‘Custom Post Types’: loop necesario

Recientemente os proponíamos la creación de Tipos de Contenido Personalizado o Custom Post Types para la versión 3.0 de WordPres, que está a punto de ser lanzada.

Una vez hemos creado en nuestra Administración las nuevas páginas desde las que crear esos contenidos personalizados, tendremos que ir hasta nuestras plantillas (templates) y generar los loops adecuados para extraer de la base de datos contenidos de tal o cual tipo.

El mejor método para conseguirlo es a través de wp_query:

<ul>
<?php global $wp_query;
$wp_query = new WP_Query("post_type=albums&post_status=publish");
while ($wp_query->have_posts()) : $wp_query->the_post(); ?>

    <li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></li>

<?php endwhile; ?>
</ul>

Aquí estaríamos creando una simple lista de aquellos contenidos creados bajo el Tipo de Contenido Personalizado “Albums”.

Podremos dentro de este loop, por lo tanto, extraer como de costumbre tantos elementos como queramos del contenido creado bajo esa rúbrica: título, extracto, contenido entero, imágenes adjuntas, campos personalizados, categoría, etc etc.

Esperamos vuestros comentarios.

Agregar el formulario de autentificación con un simple "template tag" en WordPress 3.0

WordPress 3.0 está a punto de salir (podéis seguir los acontecimientos en el blog oficial de WordPress, en inglés).

Tanto si cambiamos el código ocasionalmente o nos dedicamos intensivamente a ello, es bueno empezar a conocer los nuevos “template tags” que la última versión nos permitirá utilizar.

En este caso, el típico formulario de autentificación podrá ser ubicado en cualquier lugar de nuestro tema de WordPress. Si usualmente disponíamos de un simple link para irnos hasta wp-login.php, ahora podremos tener el formulario en nuestra barra lateral o en el pie de página, para un acceso más cómodo.

Tendremos que abrir, por ejemplo, sidebar.php (nuestra barra lateral) y pegar lo siguiente:

<?php wp_login_form(); ?>

A partir de ahí, el formulario aparecerá en el “frontend”.

Si queréis modificar su aspecto, el formulario os aparecerá bajo la id #loginform, de modo que tendréis que escribir algo así en el style.css de vuestro tema:

#loginform input{
     /*vuestros estilos aquí*/
}

No parece que se hayan animado a hacer lo mismo con el formulario de registro, lo cual estaría muy bien. Si podemos buscaremos cómo crear una función que nos lo permita.

Podéis encontrar la información completa de las variables que acepta este nuevo template tag en el códex oficial de WordPress.

Numerar cada uno de nuestros artículos

Si alguna vez habéis pensado en numerar vuestros artículos a medida que aparecen en el índice o las páginas de archivos, hoy veremos cómo coneguirlo. Tendremos que abrir functions.php en nuestro tema en uso y añadir lo siguiente:

Copiar y pegar código

Lo tendremos que pegar al final de todo, como un bloque de código aparte.

Tras salvar el archivo nos dirigiremos a nuestro index.php, donde buscaremos el template tag que nos sirve para mostrar el título de cada artículo dentro del loop, por ejemplo:

<h3><?php the_title(); ?></h3>

Y añadiremos lo siguiente:

<h3><?php echo get_post_meta($post->ID,'incr_number',true); ?> <?php the_title(); ?></h3>

Salvamos y ya podremos tener nuestros artículos numerados.

Metadescripciones para SEO desde cada post

Los blogueros interesados por mantener un buen nivel en cuanto a indexación de su blog podrán hacer uso de un sencillo método que permite dar a cada artículo de WordPress un campo personalizado que mostrar en header.php como metadatos (rastreados por Google).

Tendremos que abrir nuestro header.php y añadir el siguiente código:

<meta name="description" content="
<?php if ((is_home()) || (is_front_page())) {
	bloginfo('description');
} elseif(is_category()) {
	echo category_description();
} elseif(is_tag()) {
	echo 'Archivo de Etiqueta - ' . single_tag_title();
} elseif(is_month()) {
	echo 'Archivo de Mes - ' . the_time('F, Y');
} else {
	echo get_post_meta($post->ID, 'metadescription', true);
} ?>" />

Este código nos permite lo siguiente:

- cuando Google abra el inicio de nuestro site, darle la descripción que hayamos establecido en Opciones > General
- cuando se trate de un archivo de categoría, darle la descripción de categoría (a especificar en cada caso en Artículos > Categorías)
- cuando se trate de un archivo de etiqueta, mostrar el título
- cuando se trate de un archivo de mes, mostrar la fecha
- y, finalmente y lo más interesante, cuando se trate de una página de artículo normal, mostrar lo que hayamos escrito en un campo personalizado.

Como sabréis, los campos personalizados son las cajas de edición extras que encontramos debajo del editor principal a la hora de escribir un artículo.

Tendréis que crear un nuevo campo personalizado llamado metadescription y darle, en cada post, una descripción especial, que Google usará para indexar óptimamente nuestro site.

Esperamos que este truco sea de vuestra utilidad.

Mostrar el número de usuarios registrados en nuestro site

He aquí un fácil truco para mostrar cuántos usuarios registrados tenemos en nuestro blog, en el caso por ejemplo de que lo usemos como revista colectiva, o tengamos espacios especiales que sólo los registrados pueden ver, etc:

Copiar y pegar.

Podremos pegar este snippet allí donde nos convenga, por ejemplo, al comienzo de todo de nuestro archivo sidebar.php

Mostrar una lista con nuestros últimos tweets en WordPress

Muchos plugins nos permiten preparar una lista con nuestros últimos tweets, normalmente en la barra lateral. Si queremos implementar la misma funcionalidad sin un plugin (para que esté disponible directamente en nuestro tema en uso), podemos utilizar las funciones nativas de Twitter.

En sidebar.php por ejemplo vamos a buscar un espacio para disponer la lista de tweets:

<ul id="twitter_update_list">
</ul>
<script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/username.json?callback=twitterCallback2&count=3" ?></script>

Recordemos que donde pone “username” deberemos escribir nuestro nombre de usuario de Twitter (y debe ser una cuenta “abierta”, sin candado).

Podemos modificar "count=3", al final de la última línea, por el número de tweets que deseamos mostrar.

La lista la dejaremos vacía, debería llenarse automáticamente con los correspondientes tweets.

Esperamos que este truco os sea útil.

¿Cómo listar todos nuestros artículos en una página?

Hoy veremos cómo listar todos nuestros artículos en una página, en el caso de que queramos proporcionar a nuestros lectores una vista general de todo cuanto hayamos escrito en nuestro site.

Primero, tendremos que crear una plantilla de página, esto es, un archivo de texto que podemos llamar todos-los-posts.php, y que llenaremos con el siguiente código:

<?php
/*
Template Name: Todos los posts
*/
?>
<?php
$debut = 0; //primer artículo a mostrar
?>
<?php while(have_posts()) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<ul>
<?php
$myposts = get_posts('numberposts=-1&offset=$debut');
foreach($myposts as $post) :
?>
<li><?php the_time('d/m/y') ?>: <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
<?php endwhile; ?>

Salvaremos y cerraremos, y pondremos el archivo junto al resto de archivos de nuestro tema en uso.

Ahora iremos a nuestra Administración y crearemos una nueva página, a la que tendremos que asignar la plantilla que acabamos de crear. ¡Eso es todo! No olvidéis, por supuesto, referenciar con un enlace esta nueva página creada en vuestro menú principal.