«

»

Imprimir esta Post

Template a medida para portfolio en WordPress

Los que visitáis el blog con cierta asiduidad habréis comprobado como el estilo se ha modificado (y lo que le queda) cada semana aproximadamente. Esto es porque ninguno de los temas que encontraba para WordPress me convencía del todo. A veces por motivos estéticos, otros por motivos funcionales y otros por motivos de configuración o gestión.

Una de las cuestiones que más me echaban para atrás era la necesidad de tener un tema que incluyera plantillas (templates) para un tipo personalizado de entrada muy extendido en temas de toda índole: el portfolio. Al final, pese a que me negaba a dedicarme a programar nada para el blog, ha sido la mejor decisión y posiblemente sea la mejor para ti si tienes tipos custom de entradas y no te acaban de convencer los temas que encuentras o compras.

Puesto que este blog es una apología del DIY en el asunto de los juegos, me parece coherente intentar llevar una filosofía similar en la parte de software. Voy a intentar recopilar breves apuntes, sobre todo enlazando, donde explicar cómo mantener un blog lo más barato posible, pero con funcionalidades profesionales o próximas a ser profesionales.

Warning!

En ningún momento voy a intentar sustituir el comportamiento y la comodidad de una buena plantilla adquirida en Woothemes o Themeforest, sino dar una alternativa a aquellos que no temen mancharse las manos y que pueden permitírselo frente al gastar unos cuantos dólares.

Custom post types

En WordPress 3 se permite la definición de tipos de entrada personalizados. Esto permite que no sólo haya posts y pages, que es lo usual, sino que uno puede crear tipos de documentos, con sus campos personalizados y asociados a plantillas propias, para cubrir las necesidades de una web enfocada a un uso como CMS (Sistema de gestión de contenidos o Content Management System) y no necesariamente restringida a ser un blog.

Por ejemplo, puedes tener una sección de portfolio donde mostrar tus trabajos, y cada entrada ahí, en lugar de meterla en la categoría trabajo o similar, simplemente la creas de un tipo nuevo, que tendrá sus características definidas por ti, sus propias categorías, sus etiquetas, etc.

Muchos temas traen configuración por defecto para portfolio o clientes, por ejemplo. Es el caso del primer tema que usé en el blog. Tengo varias entradas de tipo portfolio y cuando instalo un tema que no tenga plantillas que lo soporten, pierdo mucha funcionalidad del blog. Esto lleva a dos posibilidades en primera reflexión si no quiero programar nada:

  1. Convierto las entradas tipo portfolio a entradas normales del blog y me quito de problemas
  2. Busco otro tema que tenga soporte para el mismo tipo de entrada

La primera opción puede hacerse a mano si es poco contenido o puede automatizarse mediante plugins (como Post Type Switcher). Lo segundo puede hacerse mediante búsquedas filtradas en webs de temas, ya que normalmente uno de los criterios es que los temas estén listos para tipos portfolio.

El problema

El caso es que ninguna de esas soluciones es escalable usando temas gratuitos. La primera solución implica que, si el blog crece y tiende a convertirse en algo más complejo, con una gestión de contenidos que requiera más detalles, vamos a tener un infierno de contenidos clasificados por categorías y/o etiquetas que posiblemente tengamos que trabajar a mano ante cualquier cambio. El segundo caso implica gastar tiempo en buscar temas, probarlos todos y aún así, nos asegura que tendremos plantillas para el tipo portfolio pero, ¿y si deseamos introducir nuevos tipos con el tiempo? Además, al ser temas gratuitos no nos aseguramos compatibilidades en el futuro por lo general.

Notice

Al final, el esfuerzo dedicado a categorizar y a buscar temas frente al de aprender a resolver este pequeño problema por nuestra cuenta, creo que no compensa.

Pasos para manejar custom post types

Me voy a centrar en un sólo ejemplo de código a la hora de trabajar con estos posts. No entraré en como se definen o se configuran y sólo voy a explicar como mostrar todos los posts de un tipo personalizado, al igual que hace WordPress automáticamente para las entradas o las páginas.

Para hacer esto necesitas crear una plantilla. Luego, creas una página normal del blog, le asignas esa plantilla y todo estará listo. Obtendrás algo parecido a esto.

Important!

Una plantilla es un archivo escrito en lenguaje php que puedes editar con cualquier editor de archivos, como el bloc de notas. WordPress cuenta con documentación en el Códex donde explica como generar estos archivos.

Una vez que creas el archivo, debes subirlo mediante FTP a tu servidor, para que la instalación de WordPress lo reconozca como plantilla válida y puedas asignarlo a la página en la que quieres mostrar todos tus portfolios.

Por último, creas la página, le asignas la plantilla y la publicas. Posiblemente quieras enlazarla desde el menú de tu WordPress para que los visitantes puedan verla como un listado más de entradas.

Ejemplo

He simplificado el código encontrado aquí para generar una plantilla que liste un cierto tipo de entradas custom para hacer el código más fácil de entender. He eliminado filtrados y algunas cosas más, dejando lo esencial para listar los títulos de las entradas junto a la imagen asociada a cada post:

 

 

Aparte del código, hay que tener varias cosas en cuenta, como:

  • Los estilos. El listado que aparecerá será feo. Habrá que añadir un conjunto de estilos CSS que nos dejen todo como queramos que se vea visualmente.
  • Child Themes. No es buena práctica modificar el tema que tenemos instalado añadiendo, quitando o modificando cosas. WordPress recomienda el uso de temas hijos y lo veremos en una entrada posterior. Sin embargo, como hablamos de añadir una plantilla, no estaremos modificando en profundidad nuestro tema, por lo que podemos probar de esta manera sin riesgo de romper nada.
  • Shortcodes. En el código podéis ver algunas etiquetas raras en los textos, que engloban a elementos :en y :es. Estas son marcas de lenguaje para el plugin qTranslate. De igual manera que con este plugin, para otros que requieran de shortcodes habrá que usar ciertas funciones especiales y seguir ciertas normas a la hora de escribir nuestros PHP.

Important!

Para los que controlan de programación, de uso de FTP y configuración de WordPress, el código puede resolver el asunto sin mucha más explicación (aunque falta la parte de estilos). Para el resto, que no controléis tanto, tengo un par de entradas más que publicaré en breve donde explico como hacer todo el proceso. Podéis apuntaros a la lista de correo en la columna derecha para recibir las nuevas actualizaciones y no perderos nada.

Acerca del autor

Dani Ramírez

Artesano del conocimiento, del software y los juegos de mesa. También Ex-CEO de una empresa que nunca dio beneficios, Ex-programador a tiempo completo, Ex-estudiante de ingeniería... Knowledge, software and board game craftsman. Also, Ex-CEO-of-a-company-which-never-had-profits, Ex-full-time-programmer, Ex-engineering-student, ...

Enlace permanente a este artículo: http://danibishop.com/template-medida-para-portfolio/

Pinterest