WordPress como CMS – Antes de empezar

Al decir que queremos usar wordpress como un verdadero CMS, básicamente queremos decir que queremos armar un portal con secciones bastante diferenciadas.

Para dividir las secciones usaremos las categorías. Pero no las trataremos de la misma forma que en un blog. Es por eso que antes de empezar tenemos que tener bien definidas las distintas secciones, aunque nada dice que no se puedan agregar después.

El sitio que estoy montando, de ejemplo, y de paso para un proyecto propio, es el de una marmolería. No es un portal propiamente dicho pero a los fines prácticos de este mini-tutorial nos va a servir muy bien.

El ejemplo va a ser bastante sencillo en realidad. La pagina principal tendra un texto introductorio y se listaran las ultimas noticia (De la categoria noticias).

Después tendremos la seccion de mesadas prefabricadas y otra seccion de mesadas a medida. Con unos ligeros cambios podemos agregar todas las secciones que querramos. Por ejemplo, se me ocurre agregar una seccion de muebles.

Ya definida la estructura temática del sitio queda definir la estructura gráfica de el.

Esto ya es mas difícil de explicar, pero ya lo tengo pensado, asi que para ejemplificarlo van a tener que verlo:

wordpress-cms

Definido esto a grandes rasgos queda hacerlo :p

Mientras escribo aca juego en el blog de pruebas, pueden ver como va quedando entrando a cmswordpress.ferticidio.com.

Listar solo las ultimas paginas creadas

En socialte tenemos un funcionamiento que difiere un poco del normal de un blog. Tenemos, para decirlo de una manera, dos tipos de contenidos. Estos contenidos, como es de esperarse, los dividimos en posts y paginas porque era lo mas sencillo de hacer.

Los posts son reseñas de paginas, y las paginas son artículos, lo idea seria lo contrario tal vez, pero eso nos limitaba otras cosas. Asi que quedo de esa forma.

El problema se presento cuando la cantidad de artículos aumento. Tener un listado con 30 o 40 artículos (que son paginas) es bastante problemático. Por suerte en la biblia de wordpress encontré algo muy útil.

A partir de la version 2.8 de wordpress dentro del tag de plantilla wp_list_pages tenemos unos cuantos argumentos útiles. Conocía algunos, exclude y cosas asi, pero habia uno “number” que no conocía.

El parámetro number limita la cantidad de paginas que se muestran en ese listado. Entonces con un poco de código podemos listar, por ejemplo, solo las ultimas 10 paginas publicadas. El código me quedo asi:

<?php wp_list_pages(‘number=10&title_li=&exclude=1&sort_column=ID&sort_order=DESC’); ?>

A ver… un par de cosas:

sort_column es para ordenarlas por algún campo en particular, el normal, creo, es por el titulo.

sort_order es para decirle como queremos que se orden, el normal es ascendiente, creo, como queremos los últimos 10 usamos descendiente.

El exlude ya sabemos para que se usa ¿no?

Hacer que las Customs Fields se comporten como tags o categorias

Hoy se me ocurrió darle una vuelta mas de tuerca a deplanos.com. Básicamente, además de las categorias y tags, necesitaba una “taxonomia” (¿existe eso?) mas.

Actualmente en deplanos.com tengo las categorías para clasificar los planos según para que sean (planos de casas, planos de departamentos y cosas asi). Los tags los uso para poner los detalles de los planos, quiero decir: cantidad de habitaciones, baños, pisos y todo eso.

Queria agregar un nivel mas, “casas modernas”, “Casas de madera”, etc. Asi que me puse a buscar algo que me permitiera hacerlo. Y ¿Como no? encontré un plugin que me permite hacerlo: Custom Fields Taxonomies.

Pero… ahora que lo pienso mejor, prefiero crear mas categorías y listo :p. Pero un plugin como este siempre es bueno tenerlo a mano. Es una de esas cosas que transforman a wordpress en un excelente CMS.

Ordenar categorias en wordpress

Muchas veces, sobre todo cuando pensamos usar wordpress como CMS, necesitamos ordenar las categorías de una forma no “habitual” quiero decir, no por “id” de categoría, ni alfabéticamente.

Una solucion a eso es poner los enlaces a mano en todo lugar donde se listen las categorias.

Pero como soy vago busque y encontre un plugin que nos hace la vida mas facil.

Es sencillo, lo descargamos lo activamos y desde el menu elegimos el orden que queremos, tan solo es arrastrar y soltar.

Les dejo un captura donde se ve el panel para ordenar las categorias y además la seccion desde donde podemos encontrar ese panel (siempre que activo un plugin tardo unos minutos en encontrar donde esta el nuevo link :p)

ordenar categorias

Link: Category order

PD: Esas son las categorias de socialte.

Como poner enlaces en los listados de paginas

A ver si me explico un poco muchas veces tenemos la necesidad de poner un enlace en donde listamos las paginas del blog, puede ser para llevarlos a una seccion el sitio que no es una pagina de wordpress, para linkear otro proyecto o cosas por el estilo.

Mi necesidad en particular era vincular dos sitios distintos. Uno en el dominio principal y el otro en un subdominio. El que esta en el subdominio es una versión en ingles del primero, pero con con el mismo contenido… bien, la idea era poner el enlace en le listado de paginas para dar la sensación de ser todo parte del mismo sitios (que de hecho lo es) y que no se note que son dos instalaciones disitintas de wordpress.

Primero los resultados pueden verlos en socialte y en la version en ingles.  Veamos un poco de cogido (es sencillo).

Para listar las paginas del blog tenemos algo asi:

<ul>
<li><a href=”/”>home</a></li>
<?php wp_list_pages(‘title_li=”); ?>
</ul>

Bien… si se fijan para poner el enlace a la home del sitio solo pone un elemento en la lista con el enlace. Nosotros tenemos que hacer lo mismo.

Lo que a mi me quedo:

<ul>
<li><a href=”/”>home</a></li>
<?php wp_list_pages(‘title_li=”); ?>
<li><a href=”http://en.socialte.com”>English</a></li>
</ul>

Y eso es todo… ¿sencillo no?