Temas de WordPress
Nombres en español e inglés de las páginas por defectos y nombres de los archivos html correspondientes (y nombres de los archivos php añadidos por Create Block Theme)
Nombre del archivo html | Nombre de la plantilla en el editor en inglés | Nombre de la plantilla en el editor en español |
author.html | Author Archives | Archivos de autor |
tag.html | Tag Archives | Archivos de las etiquetas |
category.html | Category Archives | Archivos de categorías |
date.html | Date Archives | Archivos de fechas |
single.html | Single Posts | Entradas individuales |
home.html | Blog Home | Inicio del blog |
index.html | Index | Índice |
front-page.html | Front Page | Página de inicio |
404.html | Page: 404 | Página: 404 |
search.html | Search Results | Resultados de búsqueda |
page.html | Pages | Páginas |
archive.html | All Archives | Todos los archivos |
Para añadir códgo php a los archivos de arriba (ejemplos: llamadas de ruta relativa, internacionalización de cadenas), el plugin Create Block Themes escribe un archivo coincidente en la carpeta /patterns y lo nombra con el mismo nombre pero con extensión php.
Ejemplos: templates/search.html tendrá una coincidencia en patterns/search.php.
Al traducir el tema en https://translate.wordpress.org (GlotPress), GlotPress nos propone la traducción de los nombres de los patrones adjuntos al tema. El sistema de traducción no sabe que los archivos desde author.php hasta archive.php (en la tabla, denominado como html) no son comunes patrones sino archivos técnicos que sirven sólo par añadirle código php al archivo html correspondiente y por eso nos presenta un pedido de traducción. Pero, la traducción de esos nombre no sirve para nada porque WordPress asigna un nombre (en español) sólo al archivo html (así como puedes leer en la tabla) y lo tiene ya grabado en el core del sistema.
Eso es lo que ocurre usando el plugin Create Block Themes para internacionalizar temas.
Para recapitular.
En la pantalla de traducción de temas creados con la ayuda de Create Block Themes, a menudo encontraremos cadenas como esta (son posibles doce cadenas en total):
archive
Context
Pattern title
References
pattern/archive.php:0
abriendo el archivo in References, tenemos:
<?php
/**
* Title: archive
* Slug: nombre-del-tema/archive
* Inserter: no
*/
?>
La parte que nos hace comprender que aquel patrón no es un patrón normal sino una página del tema (o una parte de la plantilla como header.php o footer.php) es la llave Inserter que tiene el valor no.
Porque Create Block Theme escribe alguno o todos aquellos archivos .php en la carpeta /patterns.
Al guardar el tema usando Create Block Theme, el plugin debe relativizar las rutas de los archivos antes de crear el archivo .zip para descargar (de lo contrario, no podríamos usar el tema en otro lugar), tanto en el caso de crear el tema en localhost como en el caso de crear el tema en un sitio de producción e internacionalizar las cadenas para ser traducidas posteriormente. WordPress busca archivos de temas en el directorio /templates y los encuentra allí en formato .html. Pero la relativización de las rutas y la internacionalización del tema requieren la adición de código php por lo que el plugin escribe un marcador de posición dentro del archivo .html y mueve el contenido del mismo a un archivo con el mismo nombre pero con la extensión .php en el directorio /patterns.
Ejemplo de marcador de posición
<!-- wp:pattern {"slug":"nombre-del-tema/archive"} /-->
Cuando WordPress llame a la página Todos los archivos, irá a /template/archive.html y, a su vez, archive.html llamará a un súper patrón que contiene la cadena * Slug: nombre-del-tema/archive (en nuestro caso /patterns/archive.php). WordPress procesará el contenido de ese archivo cuando el navegador llame a Todos los archivos.
PD
También puedes ignorar el plugin Create Block Theme, puedes trabajar a mano carácter por carácter y archivo por archivo. Si tenemos tiempo, podemos asignar un archivo de nuestra elección a Todos los archivos (es decir, archive.html).
Ejemplo:
dentro de archive.html ponemos el marcador
<!-- wp:pattern {"slug":"nomrbe-del-tema/don-quijote-de-la-mancha"} /-->
y en el directorio /pattern escribimos el archivo don-quijote-de-la-mancha.php que empezará así:
<?php
/**
* Title: Don Quijote de la Mancha
* Slug: nombre-del-tema/don-quijote-de-la-mancha
* Inserter: no
*/
?>
...código html
Así también por los otros once archivos.