Nuestra lista de contratistas de pago está creciendo y hemos decidido organizarla por idioma. Esto significa que podrá encontrar contratistas que puedan ayudarle en su propio idioma. Resulta que los tipos de contenido personalizados fueron la solución adecuada para esto. Siga leyendo para descubrir por qué.
Nuestra página de contratistas contiene unas frases de apertura, la lista de contratistas y unas frases de cierre.

Queremos tener la misma estructura para las páginas de contratistas, pero con contratistas que hablen cada uno de los idiomas. Por ejemplo, aquí tiene la página en japonés:

Está construida de la misma manera, pero con contenido diferente.
Una forma de construir estas páginas sería con páginas normales de WordPress. Eso es lo que teníamos hasta ayer mismo. Cuando comenzó el listado de contratistas, solo incluía a dos personas, por lo que gestionarlo como una página normal era fácil.
Hoy en día, esa página incluye 8 contratistas y está disponible en 5 idiomas, por lo que mantenerla como páginas se convierte en un verdadero dolor de cabeza. Como queremos que cada una de las páginas de contratistas traducidas incluya solo a ciertos contratistas (los que hablan ese idioma), no podemos simplemente enviar la página en inglés a traducir. Si usáramos páginas normales de WordPress, tendríamos que explicar a nuestros traductores qué contratistas incluir en cada idioma. Eso supone mucha comunicación y trabajo manual.
Uso de tipos de contenido y campos personalizados para construir la lista
Por lo tanto, pasamos de las páginas normales a los tipos de contenido y campos personalizados. Para configurar los nuevos tipos personalizados, usamos nuestro plugin Types.
Primero, creamos un nuevo tipo de contenido «contractors» (contratistas). Luego, añadimos los campos de imagen, URL del sitio web, portafolio y contacto. Así es como se ve una página de contratista en nuestro panel de administración de WordPress:

¿No es genial?
Tenemos un campo separado para cada dato. Cuando añadimos nuevos contratistas, no nos preocupamos por cómo se muestra en el sitio. Todo lo que tenemos que hacer es rellenar los campos. Una plantilla lo mostrará correctamente, junto con los demás contratistas.
Mire el lado derecho de la página, donde están los controles de traducción. Notará inmediatamente que la página de Mana también está disponible en japonés. Ese es el gran beneficio que estábamos buscando. Cuando el contenido se divide en elementos pequeños, podemos traducir fácilmente diferentes entradas a diferentes idiomas.
Mostrar las listas de contratistas para cada idioma
Ahora que tenemos entradas de contratistas por idioma, necesitamos mostrarlas.
Si prefiere programarlo con PHP, le invitamos a usar la API de PHP de Types. Cuando empecé a cambiar la página de contratistas, ya eran las 22:00 y quería terminar todo antes de que cambiara el día (y mi mujer se enfadara conmigo por estar en el ordenador). Usé nuestro plugin Views para construir el listado de contratistas, terminé el trabajo alrededor de las 23:00 y todavía tenía una hora libre antes de que comenzara mi toque de queda :-)
La nueva página de contratistas usa una plantilla para mostrar cada entrada. La plantilla tiene este aspecto:

La construí usando una plantilla de View desde el panel de administración de WordPress. Una plantilla de View me permite insertar campos desde la interfaz gráfica y darles estilo con HTML y CSS. Es como escribir una página estándar, pero con shortcodes de campos en lugar de texto estático.
Luego, creé una View para cargar la lista de contratistas y mostrarla. Cuando crea una View, le indica qué tipo de contenido cargar, cómo filtrar (en nuestro caso, no se necesita filtrado) y cómo mostrarlo. Ya hemos creado una plantilla para un solo contratista, por lo que la View solo necesita usar esa plantilla en la página del listado.
Aquí tiene la página de contratistas, que muestra el contenido estático por encima y por debajo de la lista, y el shortcode de la View que muestra la propia lista de contratistas.

Mostrar el contenido correcto por idioma
Cuando usa Views para mostrar contenido en sitios multilingües, la selección de idioma se realiza automáticamente. Esto significa que cuando inserta la View del listado en una página en inglés, obtendrá las entradas de contratistas en inglés. Cuando la inserta en una página en japonés, solo obtendrá las entradas que están traducidas al japonés.
Ahora, para que ciertos contratistas aparezcan en otros idiomas, solo necesitamos traducir sus entradas. La View cargará las entradas correctas de la base de datos y las mostrará en la página.
Resumen
Empecé esta entrada sobre cómo facilitar la gestión de contenido usando tipos de contenido personalizados y luego se convirtió en una especie de minitutorial para nuestro plugin Views.
Lo importante que debe extraer de aquí es que, para cualquier página de listado, los tipos de contenido personalizados son el camino a seguir.
Si le encanta programar, puede usar la API de temas de WordPress para crear plantillas personalizadas para su contenido. A nosotros también nos encanta programar, pero ando un poco escaso de tiempo, así que uso nuestro plugin Views. Views por sí solo cuesta 95 $ o puede comprarlo como parte de nuestro paquete Toolset por 149 $.
¿Qué opina? ¿Cómo construye sus páginas de listados?


