La guía para principiantes de las taxonomías de WordPress ¿Temas o complementos?

En esta serie, analizamos qué son las taxonomías de WordPress, su definición, cuándo usarlas y cómo incorporarlas a nuestros temas. Para asegurarnos de que estamos cubriendo esto con el mayor detalle posible, nos acercamos a esto desde la perspectiva de un principiante.

Como se mencionó en el primer post de la serie, esta serie no está dirigida solo a los principiantes. Tal vez usted sea un desarrollador intermedio de WordPress que esté buscando comenzar a expandirse a nuevas API e implementar nuevas funciones en su trabajo y las taxonomías se ajusten a la cuenta para exactamente eso..

En cualquier caso, estamos haciendo todo lo posible para asegurarnos de que está armado con la mayor cantidad de información posible a la hora de incorporar taxonomías personalizadas en sus proyectos de WordPress..

¿Por qué contra cuándo?

Antes de ver una implementación real de cómo incorporar taxonomías, necesitamos hablar sobre algunos de los desafíos que vienen con la incorporación de taxonomías en nuestro trabajo..

Específicamente, ¿deberían incluirse las taxonomías como parte de un tema o en un complemento? Esta pregunta es realmente más una pregunta de "¿por qué deberíamos incluir taxonomías de esta manera?" y "¿cuándo deberíamos incluir taxonomías de esta manera?"

Y para responder a eso, es importante distinguir entre las dos opciones que tenemos y cómo se almacenan los datos.

Cómo se almacenan los datos

Primero, analicemos cómo se almacenan internamente las taxonomías dentro de WordPress. Las taxonomías constan de dos componentes: una taxonomía y un término..

  1. Una taxonomía representa cómo se agrupa la información.
  2. Un término representa el tipo de datos que pertenecen a esa taxonomía.

Por ejemplo, cuando se piensa en formatos de publicación, la taxonomía es Formato de publicación y los términos son Estándar, Vídeo, Imagen, Enlazar, y así. Del mismo modo, otra taxonomía puede ser Fotografía y los términos pueden ser Película y Digital.

En el caso más básico, la taxonomía predeterminada de WordPress y el emparejamiento de términos es Categoría y Sin categorizar que se proporciona con cada instalación.

Ahora, desde aquí, es importante comprender cómo se administran estos datos en la base de datos de WordPress. Hay tres tablas de bases de datos, cada una de las cuales desempeña un papel en la relación entre las taxonomías y sus términos asociados..

Suponiendo que está trabajando con la instalación predeterminada (es decir, el prefijo de la tabla es wp_), entonces tendrás las siguientes tablas, cada una con las responsabilidades correspondientes:

  1. wp_terms Representa los términos que pertenecen a diversas taxonomías. Esto significa que si tienes un Fotografía taxonomía con dos términos siendo Película y Digital y tienes una taxonomia llamada Tipo con Color y En blanco y negro siendo términos, entonces Película, Digital, y Color todos residirán dentro de la wp_terms mesa.
  2. wp_term_taxonomy es una tabla de base de datos que se encarga de almacenar la descripción de los términos almacenados en el wp_terms mesa. Digamos, por ejemplo, tienes un Color Término y el término se describe como "Fotografías que se desarrollan en colores vibrantes". Entonces esta descripción residiría en el wp_term_taxonomy mesa.
  3. los wp_term_relationships Podría decirse que es el que tiene la curva de aprendizaje más grande para los nuevos desarrolladores. Esta tabla mantiene la conexión entre las taxonomías relacionadas con los tipos de publicación. Por ejemplo, dada una instalación predeterminada, esta tabla almacenará la relación entre el término de categoría y cada publicación a la que está asociada.

Ahora que entendemos cómo se almacenan los datos, podemos analizar cuándo las taxonomías tienen sentido dentro del contexto de los temas y dentro del contexto de los complementos..

Temas o complementos?

En términos generales, una buena regla general es tener en cuenta que los temas de WordPress deben ser para la presentación de datos y los complementos para la funcionalidad. Es decir, los temas proporcionan el formato para el aspecto de los datos y los complementos extienden la funcionalidad central de WordPress.

También existe la noción de extensiones que son como complementos específicos de tema y complementos específicos de complementos, pero eso está fuera del alcance de este artículo. Por ahora, mantengamos la discusión al nivel de temas y complementos..

Digamos que está trabajando en un tema y desea introducir una taxonomía personalizada en el tema. Para mantener la coherencia con nuestros ejemplos utilizados a lo largo de la serie, digamos que desea crear un tema de cartera y desea introducir una Fotografía taxonomia Después de todo, el tema permitirá a los usuarios mostrar su trabajo..

Entonces, digamos que desea trabajar en el mismo tema en aproximadamente un año, pero desea realizar una actualización importante. Quizás desee generalizar las taxonomías para que la gente no tenga que usarlas. sólo para la fotografia En su lugar, pueden usarlo para poemas cortos o escritos, dibujos, etc.. 

El problema es que ahora tienes la Fotografía La taxonomía está codificada en el tema, de modo que todos los que la usan y la instalan obtienen esa taxonomía en particular, independientemente de si desean mostrar la fotografía o no..

Claro, es completamente posible reconstruir el tema desde cero y abstraer la función de taxonomía en algo más general, pero ¿qué sucede con los usuarios que desean actualizar? ¿Pierden los datos con los que han pasado meses o años trabajando? ¿Cómo se van a organizar sus datos? ¿Están atrapados con la versión actual del tema con el que están trabajando??

Obviamente, hay mucho que considerar cuando trabajas en un tema como este. Pero ahí es donde entra en juego la importancia de segmentar la presentación y la funcionalidad..

Es completamente posible crear un tema diseñado para mostrar el trabajo en un estilo de cartera sin tener que incluir ningún tipo de taxonomía en el tema. En su lugar, genere la funcionalidad en un complemento y luego instale el complemento junto con el tema con el que está creando. A continuación, obtiene las ventajas de la presentación de la cartera sin tener a los usuarios bloqueados para usar su tema por mucho tiempo y potencialmente perder sus datos al actualizar a un nuevo tema.

Una palabra sobre compatibilidad

Por muchas de las razones enumeradas anteriormente, es fácil ver por qué tiene sentido implementar taxonomías personalizadas dentro del contexto de los complementos..

Esto no quiere decir que nunca se debe hacer en temas. Después de todo, hay son Temas de nicho que se dirigen a una audiencia muy específica y que buscan proporcionar una solución todo en uno para sus clientes. Eso está bien, pero si está buscando introducir este tipo de funcionalidad con el mayor atractivo posible, entonces construir la funcionalidad en un complemento tiene mucho sentido..

No solo obtiene la ventaja de dar a los usuarios la capacidad de trasladar sus datos de un tema a otro sin perder la categorización de sus datos, sino que también les brinda la ventaja de poder mantener la independencia entre la presentación de sus datos y el almacenamiento. de sus datos.

Y si es un desarrollador de temas, aún puede trabajar para crear temas que estén diseñados específicamente para el complemento. Quizás desee ofrecer un tema para los fotógrafos, uno para escritores y otro para artistas. Con esta estrategia, aún puede aspirar a capturar cierto tipo de mercado al mismo tiempo que hace que su complemento sea compatible con las variaciones de su trabajo, liberándolo para trabajar en diferentes temas y brindando a sus clientes la capacidad de moverse entre los temas. todo mientras sigues usando tus productos.

Hasta la próxima

Ya que hemos revisado cómo WordPress gestiona las taxonomías dentro de la base de datos, y hemos analizado algunas razones por las que los temas y complementos deberían funcionar conjuntamente para ofrecer características específicas, veremos cómo podemos cree nuestro propio complemento que implementa la funcionalidad de taxonomía personalizada que hemos estado utilizando como datos de ejemplo a lo largo de esta serie.

Mientras tanto, no dude en dejar sus comentarios, preguntas o comentarios generales en el campo de comentarios a continuación..