Súper carga tus categorías de WordPress con complementos gratuitos

Publicado: 2022-02-16

Recientemente estaba pensando en el proceso de hacer un sitio web de viajes. Tendríamos publicaciones de blog sobre resorts específicos y luego una taxonomía personalizada llamada Destinos que contendría cosas como "Hawái" y "Islas Canarias". WordPress se creó para este tipo de cosas, por lo que clasificar y organizar publicaciones por estos destinos es rápido y fácil.

El problema es que, cuando voy a una página de Archivo de publicaciones sobre Hawái, por ejemplo, nuestras opciones de información sobre Hawái son bastante limitadas. De forma predeterminada, los términos solo pueden tener un nombre, una descripción de texto sin formato, un slug y un padre relacionado.

Súper carga tus categorías de WordPress con complementos gratuitos

Lo que realmente quiero es una imagen destacada, campos personalizados y un campo de descripción dinámico. Podría obtener todas estas cosas si convirtiera Destinos en un tipo de publicación personalizado, pero entonces estaría rompiendo con las maravillosas relaciones integradas, la interfaz de usuario y la velocidad de una taxonomía.

Afortunadamente, podemos obtener todas esas cosas en términos de taxonomía, y podemos hacerlo con complementos gratuitos. Así es cómo.


Foto principal

Quiero una imagen destacada para poder mostrarla en la parte superior de mi página de términos. Las publicaciones con el término Hawái tendrán una hermosa escena de playa en la parte superior.

Para ello vamos a utilizar el complemento “Imagen destacada simple”. No se ha actualizado en un tiempo, pero todavía funciona muy bien.

SFI crea una página de configuración en el menú Configuración, y allí establece en qué taxonomía desea que aparezca. ¡No olvides esto, o estarás terriblemente confundido acerca de cómo usarlo!

Una vez que esté instalado y activado, en el formulario de Términos nuevos y Términos existentes, verá un campo como este:

Súper carga tus categorías de WordPress con complementos gratuitos

Cuando hace clic en el botón Cargar/Agregar, se abre la interfaz de usuario normal de la biblioteca de medios de WordPress y configura una imagen destacada, al igual que con una publicación.

Una vez que haya seleccionado una imagen, se verá así:

Súper carga tus categorías de WordPress con complementos gratuitos

Y luego, en la página de administración de la lista de términos, verá algo como esto:

Súper carga tus categorías de WordPress con complementos gratuitos

¡Y luego tenemos una imagen destacada!


Descripción dinámica

El campo de descripción de los Términos es texto sin formato, lo cual no está mal siempre que no desee nada más interesante. Me gusta agregar el editor TinyMCE, que solía ser el predeterminado en WordPress. Para ello utilizaremos el complemento “Visual Term Description Editor”.

IMPORTANTE: el complemento Yoast SEO también habilita esta función. Si ya estás usando Yoast, no necesitas esto. Si no está utilizando Yoast, no lo instale SOLO para esta función.

No hay configuraciones para este complemento, simplemente hace que todas las descripciones de términos en todas las taxonomías tengan el editor TinyMCE. Se parece a esto:

Súper carga tus categorías de WordPress con complementos gratuitos

Y luego, la página principal de administración de la lista de términos se parece a esto:

Súper carga tus categorías de WordPress con complementos gratuitos

Así que ahora tenemos una imagen destacada y mejores descripciones, pero también quiero algunos campos personalizados. Así es como lo haremos.


Campos Personalizados

Term Meta ha existido como una característica en WordPress desde hace bastante tiempo, pero usarlos todavía es un poco complicado. Hay un artículo maravilloso en Smashing Magazine sobre cómo construirlos tú mismo con código.

También puede usar la mayoría de las bibliotecas de campos personalizados comunes, como MetaBox.io y CMB2, para seguir haciéndolo con código, pero de una manera uniforme y estandarizada.

Para esta publicación, elegiremos la forma más fácil, que es Campos personalizados avanzados. Estamos usando la versión gratuita que se encuentra en WordPress.org. La versión pro obviamente también funcionaría.

Si ya está familiarizado con ACF, para obtener campos personalizados en Términos, su ubicación debería verse así:

Súper carga tus categorías de WordPress con complementos gratuitos

Agregué un grupo de campos llamado Detalles de destino, con un campo de tipo "URL" estándar como este:

Súper carga tus categorías de WordPress con complementos gratuitos

Y en el editor de términos se ve así:

Súper carga tus categorías de WordPress con complementos gratuitos


Más campos personalizados

No agregué más para mis ejemplos, pero estoy seguro de que si está familiarizado con ACF o cualquier otro administrador de campo personalizado, puede imaginar el poder. Estos son algunos otros ejemplos de campos personalizados que podría agregar:

  • Campos de coordenadas para que pueda representar un mapa de Google
  • Un campo de mapa real en el que puede simplemente hacer clic para obtener las coordenadas
  • Metainformación sobre el destino como población, calidad de las carreteras, acceso al aeropuerto internacional, detalles culturales importantes, etc.

La lista continúa hasta donde tu imaginación pueda llevarla.


Uso de esta información

Ahora que los términos de su taxonomía son centros energéticos de información, ¿cómo ve esa información en su sitio web?

Crear un archivo de plantilla

Para este, creará y editará un archivo de plantilla. La mayoría de los temas modernos tienen un archivo llamado archive.php , y este es el archivo que representa su archivo Post. Algunos temas también tienen un archivo llamado category.php , y este archivo se usa para mostrar un archivo de publicaciones en categorías específicas.

Si ha agregado todos los campos anteriores a la taxonomía de categoría predeterminada asociada con las publicaciones, querrá hacer la siguiente parte en category.php . Si no existe, puede copiar archive.php a category.php .

Si estás usando una taxonomía personalizada como la que hice yo, querrás copiar category.php o archive.php a taxonomy-{taxonomy}.php , donde {taxonomy} es el slug de tu taxonomía. Puede encontrar el slug yendo a la página de administración de taxonomía y buscando en la URL. Hice una taxonomía de destinos, pero mi slug es travel_destination y se ve así:

Súper carga tus categorías de WordPress con complementos gratuitos

Así que mi archivo de plantilla se llama taxonomy-travel_destination.php .

Obtener la información

Foto principal

El complemento que usamos tiene una función personalizada para obtener la imagen. Puede mostrar la imagen destacada de taxonomía en la parte delantera usando esta función php.

 wpsfi_display_image( $termID, $size = 'medium', $class = '', $width = '', $height = '' );
ABRIR EN EMERGENTE
 wpsfi_display_image( $termID, $size = 'medium', $class = '', $width = '', $height = '' );

Parámetros:

  • $termID – (Entero) Taxonomía termID
  • $tamaño – (Cadena) Tamaño de la imagen
  • $class – (String) Agregar clase personalizada
  • $ancho – (Entero) Ancho en px
  • $ altura – (Entero) Altura en px

Descripción

Realmente no cambiamos cómo funciona la descripción, solo lo que podemos escribir en el formulario. Por lo tanto, las funciones predeterminadas de WordPress funcionan para imprimir las descripciones.

get_the_archive_description() obtendrá la descripción y le permitirá colocarla en una variable, o procesarla con una función de desinfección o algo así. Entonces imprimirías esa variable así:

 $description = get_the_archive_description(); print wp_kses_post( $description );
ABRIR EN EMERGENTE
 $description = get_the_archive_description(); print wp_kses_post( $description );

Alternativamente, podría simplemente usar the_archive_description() que reflejará el contenido por usted.

Campos Personalizados

La forma en que obtiene sus campos personalizados depende de cómo los haya creado. Si creó su propio complemento, siguiendo las instrucciones en ese artículo de Smashing Magazine, querrá usar una función de WordPress llamada get_term_meta() que funciona exactamente como get_post_meta() . Le pasa un TermID, la clave del campo que desea y una bandera para mostrar si es singular o plural.

Si usó una biblioteca como ACF, Metabox.io o CMB2, probablemente querrá usar sus funciones personalizadas para obtener datos.

Por ejemplo, usamos ACF para crear un campo llamado más_información. Para obtener el contenido de ese campo, usaría algo como esto:

 // get the current taxonomy term $term = get_queried_object(); // var $term_url = get_field( 'more_information', $term ); // make a link echo '<a href="' . esc_url( $term_url ) . '">More Information</a>';
ABRIR EN EMERGENTE
 // get the current taxonomy term $term = get_queried_object(); // var $term_url = get_field( 'more_information', $term ); // make a link echo '<a href="' . esc_url( $term_url ) . '">More Information</a>';

CMB2 y Metabox.io tienen cada uno sus propios métodos, querrá investigarlos en su documentación.


Resumen

Así que ahora en mi sitio web de viajes imaginario, cada ubicación, como Hawái, tendrá un hermoso banner en la parte superior, información sobre el destino y algo de información adicional, como un enlace para obtener más información y cualquier otra cosa que quiera poner. en.

Esto convierte las páginas de archivo de una simple lista de publicaciones en algo que parece una página web bien diseñada.