WordPress.org
Aunque los temas de WordPress técnicamente sólo requieren dos archivos (index.php
y style.css
), normalmente se componen de muchos archivos. ¡Eso significa que pueden desorganizarse rápidamente! Esta sección le mostrará cómo mantener sus archivos organizados.
header.php
y footer.php
, sin alternativa disponible, han sido obsoletos desde WordPress 3.0. Su tema puede necesitar incluir estos archivos también.Estructura de carpetas y archivos del tema #Estructura de carpetas y archivos del tema
Como se mencionó anteriormente, los temas por defecto de Twenty son algunos de los mejores ejemplos de un buen desarrollo de temas. Por ejemplo, así es como el tema Twenty Seventeen organiza su estructura de archivos:
assets (dir) - css (dir) - images (dir) - js (dir)inc (dir)template-parts (dir) - footer (dir) - header (dir) - navigation (dir) - page (dir) - post (dir)404.phparchive.phpcomments.phpfooter.phpfront-page.phpfunctions.phpheader.phpindex.phppage.phpREADME.txtrtl.cssscreenshot.pngsearch.phpsearchform.phpsidebar.phpsingle.phpstyle.css
Puede ver que los archivos principales de la plantilla del tema están en el directorio raíz, mientras que JavaScript, CSS, las imágenes se colocan en el directorio assets, template-parts se colocan en el subdirectorio respectivo de template-parts y la colección de funciones relacionadas con las funcionalidades principales se colocan en el directorio inc.
En este momento no hay carpetas requeridas dentro de un tema de WordPress. Sin embargo, WordPress reconoce las siguientes carpetas por defecto.
Nota: style.css
debe residir en el directorio raíz de su tema no dentro del directorio CSS.
Carpeta de idiomas #Languages folder
Es una buena práctica internacionalizar su tema para que pueda ser traducido a otros idiomas. Los temas por defecto incluyen la carpeta languages
, que contiene un archivo .pot para la traducción y cualquier archivo .mo traducido. Aunque languages
es el nombre por defecto de esta carpeta, puedes cambiar el nombre. Si lo hace, debe actualizar load_theme_textdomain()
.