I wanna be a wordpress rockstar PARTE II

Siguiendo con la guía, y tomando lo aprendido en la PARTE I, te explico cómo puedes crear tus propios «post types» (para contenido personalizado, como vehículos, propiedades, artistas, etc), y tus propias «taxonomies» (para clasificar tu contenido por marcas, modelos, color de pelo, lo que se te ocurra).

La manera número uno, no cubierta por esta guía, es la manera ñoña by hand, es decir, declarando nuestros post_types y taxonomies a través del archivo functions.php en la carpeta de tu tema, con esto puedes generar una lista de declaraciones que le «digan» a wordpress que tienes uno o varios «post types» y que también tienes disponibles algunas taxonomies habilitadas para ciertos tipos de posts.

Como seremos rockstars inteligentes, utilizaremos uno de los mejores plugins (y gratuitos), para realizar esta labor: Types de OnTheGoSystems, para instalarlo, tan sólo debes ir a los Plugins en tu administrador de wordpress y buscar «Types».

Captura Plugin Types

¿Por qué este, y no otro?, sencillamente porque me gusta, lo he usado desde el año 2012 y su evolución ha sido siempre favorable, además del soporte para otros plugins que veremos más adelante en esta misma saga, más de 200.000 instalaciones activas no pueden estar tan mal ¿no crees?.

Una vez instalado y activado el plugin, obtendremos un menú similar al siguiente:

Menú Types

Si te fijas ahora, la terminología que aquí aparece, ya no debería ser tan desconocida para ti, esto nos facilitará muchos las cosas para ser un verdadero rockstar.

La primera opción titulada «Tipos de entradas personalizadas», como te podrás haber anticipado, sirve para crear POST TYPES, es decir post_type = propiedades, o vehículos, o artistas, o productos, o lo que se te ocurra para llevar a cabo un proyecto personalizado.

La segunda opción llamada «Taxonomías personalizadas», sirve para clasificar tu contenido en nuevas taxonomies, tal como lo explicamos en la PARTE I.

La tercera opción llamada «Campos personalizados», sirve para crear la información adicional que vayamos a introducir en nuestros POST TYPES, es decir todo lo que va dentro de wp_postmeta, los metadatos que incluyamos (como marca, modelo, kilometraje en el caso de los vehículos).

Si te vuelves todo un rockstar y personalizas tanto un sitio, o de plano ya está al nivel de aplicación web, tendrás un número considerable de post_types y sus respectivos campos personalizados, por lo que la cuarta opción te permitirá tener una visión más amplia del «Control de campos personalizados».

Lo siguientes dos ítemes en el menú, corresponden a campos personalizados que pueden establecerse y controlarse a lo usuarios de wordpress, esto lo veríamos en las últimas entregas de esta guía, por lo que la dejaremos de lado unos días.

Finalmente, las últimas 3 opciones, corresponden a configuraciones propias del plugin, que nos permiten importar y exportar datos, además de establecer los permisos de accesos para las secciones que vayamos creando.

Nuestra primera pega: El sitio de corredores de propiedades

Supongamos que tenemos nuestro primer cliente: La corredora RRE (Rockstar Real Estate), nos encarga un sitio web en donde sus Clientes puedan ver las propiedades que se encuentran tanto en arriendo como las que están en venta; El cliente tiene una idea muy peculiar de web, y el template de wordpress que vas a utilizar cuadra con el diseño de twenty fifteen, y en esa línea gráfica no has encontrado un template de pago que reúna las características  necesarias, por lo que es necesario «arreglártelas por ti mismo».

Un requerimiento sencillo que debemos cumplir utilizando todo nuestro conocimiento rockstar.

Para comenzar, necesitamos detenernos un momento y planificar qué es lo que queremos conseguir y cómo lo vamos a lograr.

Nuestro Cliente trabaja con «propiedades», que tienen características comunes entre sí (superficie, habitaciones, baños, cocina, patio, jardín, pisos, etc.) y estas además se clasifican en «propiedades en venta» y «propiedades en arriendo», también tomamos en cuenta que las propiedades pueden ser clasificadas como «casa, departamento u oficina».

En este caso luego de pensar un momento, tomamos la decisión y planificamos:

  1. Realizaremos 1 POST TYPE llamado «propiedad» para ingresar toda la información común referente a las propiedades.
  2. Luego realizaremos 1 TAXONOMÍA llamada «tipo de propiedad», donde tendremos disponibles las clasificaciones de «departamento, casa y oficina».
  3. Y finalmente 1 TAXONOMÍA llamada «tipo de contrato» donde indicaremos si es «arriendo o compraventa»

POST TYPE propiedad

Vamos al menú de Types, y seleccionamos la primera opción «Tipos de entradas personalizadas» y presionamos en el botón «Agregar nuevo tipo de entrada personalizado».

Y aquí te encontrarás de frente con una muy extensa lista de campos para completar. ¿Por qué?, la respuesta es sencilla: WordPress dispone de la personalización de toda su interfaz, títulos y cuadros de diálogo al servicio de tu web para adaptarlos a tus necesidades (en este caso a nuestro POST TYPE propiedad), pudiendo utilizar los cuadros de diálogo estándar de wordpress para agregar «posts» (que en este caso serían propiedades), modificar, eliminar, etc. Todos los comportamientos del administrador de wordpress en relación a este post type se encuentran en esta página.

Por esto se te solicitarán datos que te pueden parecer extraños como «Nombre en plural» o «Nombre en singular», esto es para utilizar en los administradores y en los ítemes del menú al estilo «Nueva Propiedad», «Eliminar Propiedad», «Eliminar Propiedades», etc.

El slug es obligatorio, y su traducción es «pegajoso», ¿raro eh?, el asunto es que se refiere a la «palabra» o mas bien el «segmento» que identificará en la URL del sitio a este post type, por ejemplo: http://misitio.com/propiedades.

En «custom post properties», podemos definir qué campos «estándar» de cada post vamos a habilitar en este POST TYPE; cada casilla tiene su propia descripción en nuestro idioma, por lo que no merece mayor análisis.

Para nuestro fin dejaremos marcadas las siguientes opciones:

  • Título (queremos mantener el título de la entrada, además en base a ella se genera usualmente el slug o url abreviada de cada post)
  • Editor (esto es equivalente al contenido de la página, lo dejaremos habilitado para que los administradores posteriormente puedan agregan un texto vendedor a las propiedades en venta o arriendo de nuestro Cliente)
  • Además dejaremos habilitado el Extracto, para permitir poner un resumen que mostraremos en la página principal del sitio de corredor de propiedades.
  • También dejaremos habilitada la Miniatura para poder guardar una imagen destacada.

Luego aparecerán las opciones que puedes configurar a tu gusto, en relación a si va a aparecer en el feed de RSS, si se excluye o no de las búsquedas globales en el sitio entre otras que puedes ir probando (o preguntando en los comentarios).

Si te fijas al costado derecho, aparece un cuadro que indica «Seleccione taxonomías», aquí deberíamos marcar las taxonomías que creemos posteriormente; si eres aún más observador, podrás darte cuenta que dentro de las taxonomías disponibles aparecen las «Etiquetas» y las «Categorías», dándole fuerza a lo expuesto en la PARTE I, en dónde te comentaba que las categorías y tags no eran exclusivas para las entradas de blog, sino que pueden ser transversales a los distintos post types.

Ahora tranquilamente podemos presionar en el botón «Guardar entrada personalizada»

Y la magia ha empezado, ahora en tu barra de navegación de wordpress, apareció con bombos y platillos nuestro nuevo post type «Propiedades»

Muestra menú dashboard con nuevo post type

En este punto ya puedes empezar a poblar los datos del Cliente, con varias propiedades de muestra, sin embargo aún no podremos marcar si están en arriendo o en venta, o si son departamento, casa u oficina.

Análogamente al paso anterior de crear un Post Type, debemos crear 2 nuevas taxonomías, una llamada «Tipos de Propiedades» y otra llamada «Tipos de Contratos», el proceso es idéntico al de crear un Post Type, con la única diferencia que al costado derecho de la pantalla tenemos una caja que indica «Tipos de Entradas», en donde ya podemos seleccionar nuestro tipo de entrada «Propiedad».

Luego de esto, ahora sí que podremos crear nuevos «terms» en cada «taxonomy», es decir agrear un «Tipo de Contrato» a la taxonomía «Tipos de Contratos» (compraventa y arriendo), y agregar un «Tipo de Propiedad» a la taxonomía «Tipos de Propiedades» (casa, departamento, oficina), ya que al crear las taxonomías, se habilitaron nuevas opciones en el menú como se muestra:

Menú wordpress de muestra

Ahora si ya podemos crear propiedades y asociar sus respectivos tipo de propiedad y tipo de contrato.

Para la próxima entrega: cómo agregar los metadatos a nuestras propiedades y cómo visualizar todo esto en nuestro template. 🙂

Por mbrionesc

Desarrollador por esencia, creador de aplicaciones y soluciones basadas "en la nube", luego de años trabajando para terceros tras bambalinas, trabajo mis ideas y proyectos a través de BPL.cl