Ésto no va a ser un tutorial al uso, porque básicamente para hacer una plantilla para Wordpress solo es necesario coger algún tema que ya esté hecho y copiar/pegar las funciones necesarias en los sitios indicados. Pero sí que me gustaría aconsejar algunas prácticas que creo que os harán la vida más fácil, si decidís crear vuestro propio diseño.

Lo primero es que diseñéis una página de prueba en un HTML y un CSS. Ahí podéis probar con varios navegadores hasta que obtengáis el resultado apropiado. Os recomiendo que metáis bastante contenido, no os limitéis a poner un post de prueba con el Holamundo clásico.

Lo siguiente que debéis hacer es poner este trozo de código (poniendo vuestros datos, claro) al comienzo de vuestro fichero CSS:

/*
Theme Name: Pitch Black
Theme URI: http://ataja.es/miguelherrero
Description: WP Dark theme with a "web 2.0" twist
Version: 1.0
Author: Miguel Herrero
Author URI: http://ataja.es/miguelherrero
*/

Ese texto será el que saque wordpress en el panel de elección de temas. También podéis hacer una captura de vuestra plantilla y llamarla screenshot.png y saldrá al lado de la descripción. Ya sabéis, una imagen vale más que mil palabras. Ahora llega lo peliagudo, hay que empezar a descuartizar vuestro html y transformarlo en varios ficheros PHP.

Aquí no hay mucho misterio pero, para no liarnos, lo mejor es empezar solo haciendo el index.php. El resto de archivos no son necesarios por el momento. Una vez que tengáis funcionando el índice (con sidebars, si las tenéis) deberíais sacar la cabecera y pié de página de la web a los ficheros header.php y footer.php respectivamente.

Probad en todo momento que la web funciona correctamente, que luego los errores son difíciles de detectar. Una vez que tengáis eso, la mayoría de archivos restantes son variaciones del índice, con pequeñas modificaciones. Por ejemplo, en mi fichero single.php, que representa cuando hacéis clic en el título de un post, al mostrarse los comentarios, se elimina la etiqueta con el número de comentarios.

Un poco distinto es el fichero comments.php que se llama desde single.php para mostrar la lista de comentarios. Ese fichero no es una página en si misma, por lo que solo está ahí para separar el código y que sea más legible.

En Wordpress está todo pensado, así que si necesitáis algo, no tenéis más que buscar. Por ejemplo, para hacer la parte superior (en la que se muestran las páginas estáticas) lo habitual es llamar a una función que las lista, que devuelve una lista no ordenada (etiqueta <ul>). Luego habría que crear un estilo para esa lista y poner la línea float: left para que la lista fuera horizontal.

Sin embargo, a mí no me gusta crear código css especial para estos casos, y con poner un enlace detrás de otro era suficiente. Tenía que quitar esa lista de más, y para ello tenía que hacer una consulta a la base de datos y sacar las páginas a mano. Para ayudar en esa tarea, Wordpress crea una variable global $wpdb que permite abstraerte de la BBDD e incluso tiene atributos con los nombres de las tablas, para que se pueda hacer todo de una forma abstracta, sin tener que poner los nombres (y el prefijo de las tablas) directamente. Tal que así:

$sql = "SELECT ID, post_title FROM $wpdb->posts WHERE post_type = 'page'";
$results = $wpdb->get_results($sql);

Así que no os cortéis si tenéis ideas perversas que queréis poner en práctica en la plantilla de vuestro blog. Seguro que Wordpress tiene algo para facilitar su realización.