Desde el artilugio de la plantilla Blogger que genera la impresión de las etiquetas de cada entrada, es sencillo especificar cuáles mostrar y cuáles no.
Supongamos que en nuestro blog usamos muchas etiquetas pero que realmente la mayoría no son realmente para catalogar su contenido. Me refiero al caso en que hay un conjunto de unas pocas que siempre usamos en las diferentes entradas porque realmente sirven para clasificarlos, pero además existen otras muchas que se crean con otros fines.
Un ejemplo de esto serían por ejemplo las posibles etiquetas genéricas
Pintura,
Escultura,
Arquitectura, etc. de entre las cuales TODAS nuestras entradas tendrían una obligatoriamente, pero a las que bien podríamos añadir otras para:
- matizar los temas genéricos (Impresionismo, Cubismo, Realismo...)
- ayudar al gadget de entradas relacionadas a sacar más relaciones (Velázquez, Picasso, Monet... 1, 2 y 3)
- marcar internamente ciertos contenidos a efectos de maquetación, condicionando con un si/no se verá si lleva esta etiqueta (portadaSI, portadaNO...)
- mostrar mediante un feed una cosa muy concreta (http://nombredelblog.blogspot.com/feeds/posts/default/-/nombredelaetiqueta)
- crear una portada ocultando el artilugio Blog y luego usar feeds por etiquetas especiales para ver el contenido por secciones
- etc.
En fin, que puede ser útil para muchas cosas añadir etiquetas no sólo para clasificar temas y que si lo hacemos así, también podría no interesarnos que en las entradas se vieran ciertas de ellas.
Para ello lo más fácil es manipular el código original que las genera y que originalmente es así:
Insertar CODE, HTML o PHP:
(1) <b:if cond='data:post.labels'>
(2) <data:postLabelsLabel/>
(3) <b:loop values='data:post.labels' var='label'>
(4) <a expr:href='data:label.url' rel='tag'><data:label.name/></a>
(5) <b:if cond='data:label.isLast != "true"'>, </b:if>
(6) </b:loop>
(7) </b:if>
Para que se entienda lo que hace, siguiendo el orden de las anteriores líneas:
- Se comprueba si existen etiquetas guardadas en la correspondiente variable (data😛ost.labels). Si no se añadió ninguna etiqueta al post, ya no se ejecuta el resto que hay a continuación
- Se imprime el nombre genérico que hemos asignado a nuestras etiquetas: Temas, Categorías, Etiquetas, Secciones...
- Se inicia un bucle que recorrerá todas las etiquetas que contiene una entrada concreta, desde la primera hasta la última (por orden alfabético)
- Se crea un enlace que lleva a la página de etiquetas de la que en este momento marca el bucle y dentro se imprime el nombre de la etiqueta
- Se comprueba si es la última de la lista y en caso contrario se añade una coma para separarla de la siguiente que se imprimirá
- El cierre del bucle hace que se pase a la siguiente etiqueta de la lista repitiendo lo que se ordena en su interior (5 y 6). Cuando llega a la última continúa se termina la repetición de tareas y se pasa a 7
- Se cierra el condicional
Pues sabiendo esto y echando mano de uno de los
nuevos operadores que hace unos meses incorporó Blogger, el de pertenencia a un conjunto de valores, se puede cambiar el anterior código por este otro y con ello lograremos que en cada entrada sólo se muestren las etiquetas que queremos.
Insertar CODE, HTML o PHP:
<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.name in ["Etiqueta1","Etiqueta2","Etiqueta3"]'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a>
<b:if cond='data:label.isLast != "true"'>, </b:if>
</b:if>
</b:loop>
</b:if>
En el ejemplo serían las que nombre como Etiqueta1, Etiqueta2 y Etiqueta3, pero la lista puede incluir la cantidad de ellas que queráis, simplemente teniendo cuidado de que vayan entre comillas ("
😉 y separadas entre sí mediante comas.
Manipulando este código de otras maneras e incluyéndolo con condiciones en otras partes de la plantilla, podremos incluso lograr que ciertas entradas con ciertas etiquetas se vean o no se vean en algunos sitios, pero esto ya es algo que cuesta más explicar de una manera genérica para todo tipo de plantillas, así que os lo dejo como tarea para casa.
Fuente