Todos los elementos HTML posibles deben tener el estilo de su tema (a menos que sea un tema hijo), tanto en el contenido de la publicación / página como en contenido del comentario.
- Tablas, leyendas, imágenes, listas, citas en bloque, etc.
Se recomienda encarecidamente agregar estilos que se puedan imprimir.
- Puede incluir una hoja de estilo de impresión con media = «print» o agregar un bloque de medios de impresión en su hoja de estilo principal.
Archivo de funciones
Un tema puede usar opcionalmente un archivo de funciones, que reside en el subdirectorio del tema y se llama functions.php. Este archivo básicamente actúa como un complemento, y si está presente en el tema que está utilizando, se carga automáticamente durante la inicialización de WordPress (tanto para las páginas de administración como para las páginas externas). Usos sugeridos para este archivo:
- Poner en cola las hojas de estilo del tema y los scripts. Consulte wp_enqueue_scripts.
- Habilite las funciones del tema, como barras laterales, menús de navegación, miniaturas de publicaciones, formatos de publicaciones, encabezados personalizados, fondos personalizados y otros.
- Defina las funciones utilizadas en varios archivos de plantilla de su tema.
- Configure un menú de opciones, dando a los propietarios del sitio opciones para colores, estilos y otros aspectos de su tema.
El tema predeterminado de WordPress contiene funciones. php que define muchas de estas características, por lo que es posible que desee utilizarlo como modelo. Dado que functions.php básicamente funciona como un complemento, la lista Function_Reference es el mejor lugar para obtener más información sobre lo que puede hacer con este archivo.
Nota para decidir cuándo agregar funciones a functions.php o a un complemento específico: puede encontrar que necesita la misma función para estar disponible para más de un tema principal. Si ese es el caso, la función debe crearse en un complemento en lugar de un functions.php para el tema específico. Esto puede incluir etiquetas de plantilla y otras funciones específicas. Todos los temas verán las funciones incluidas en los complementos.
Archivos de plantilla
Las plantillas son archivos de origen PHP que se utilizan para generar las páginas solicitadas por los visitantes y se generan como HTML. Los archivos de plantilla se componen de HTML, PHP y etiquetas de plantilla de WordPress.
Veamos las distintas plantillas que se pueden definir como parte de un tema.
WordPress le permite definir plantillas independientes para los distintos aspectos de su sitio. No es Sin embargo, es esencial tener todos estos archivos de plantilla diferentes para que su sitio funcione completamente. Las plantillas se eligen y generan en función de la jerarquía de plantillas, dependiendo de las plantillas disponibles en un tema en particular.
Como tema desarrollador, puede elegir la cantidad de personalización que desea implementar usando plantillas. Por ejemplo, como caso extremo, puede usar solo un archivo de plantilla, llamado index.php como plantilla para todas las páginas generadas y mostradas por el sitio. El uso más común es hacer que diferentes archivos de plantilla generen resultados diferentes, para permitir la máxima personalización.
Lista de archivos de plantilla
Aquí está la lista de archivos de tema reconocidos por WordPress. Por supuesto, tu tema puede contener cualquier otra hoja de estilo, imagen o archivo. Solo ten en cuenta que el los siguientes tienen un significado especial para WordPress; consulte Jerarquía de plantillas para obtener más información.
style.css La hoja de estilo principal. Esto debe estar incluido con su tema, y debe contener el encabezado de información de su tema. rtl.css La hoja de estilo rtl. Esto se incluirá automáticamente si la dirección del texto del sitio web es de derecha a izquierda. Esto se puede generar usando el complemento RTLer. Index.php La plantilla principal. Si su tema proporciona sus propias plantillas, index.php debe estar presente. comments.php La plantilla de comentarios front-page.php La plantilla de la página principal home.php La plantilla de la página principal, que es la página principal por defecto.Si usa una página principal estática, esta es la plantilla para la página con las últimas publicaciones. single.php La plantilla de publicación única. Se utiliza cuando se consulta una sola publicación. Para esta y todas las demás plantillas de consulta, se usa index.php si la plantilla de consulta no está presente. single- {post-type} .php La plantilla de publicación única que se utiliza cuando se consulta una publicación única de un tipo de publicación personalizado. Por ejemplo, single-book.php se usaría para mostrar publicaciones individuales del tipo de publicación personalizada llamada «libro». index.php se usa si la plantilla de consulta para el tipo de publicación personalizada no está presente. page.php La plantilla de página. Se utiliza cuando se consulta una página individual. category.php La plantilla de categoría. Se utiliza cuando se consulta una categoría. tag.php La plantilla de etiqueta. Se utiliza cuando se consulta una etiqueta. taxonomy.php El término plantilla. Se utiliza cuando se consulta un término de una taxonomía personalizada. author.php La plantilla de autor. Se utiliza cuando se consulta a un autor. date.php La plantilla de fecha / hora. Se utiliza cuando se consulta una fecha u hora. Año, mes, día, hora, minuto, segundo. archive.php La plantilla de archivo. Se utiliza cuando se consulta una categoría, un autor o una fecha. Tenga en cuenta que esta plantilla será anulada por category.php, author.php y date.php para sus respectivos tipos de consulta. search.php La plantilla de resultados de búsqueda. Se utiliza cuando se realiza una búsqueda. Attachment.php Plantilla de archivo adjunto. Se utiliza al visualizar un solo archivo adjunto. image.php Plantilla de archivo adjunto de imagen. Se utiliza al visualizar un archivo adjunto de una sola imagen. Si no está presente, se utilizará attach.php. 404.php La plantilla 404 No encontrado. Se usa cuando WordPress no puede encontrar una publicación o página que coincida con la consulta.
Estos archivos tienen un significado especial con respecto a WordPress porque se utilizan como reemplazo de index.php, cuando están disponibles, de acuerdo con la jerarquía de plantillas, y cuando la etiqueta condicional correspondiente devuelve verdadero. Por ejemplo, si solo se muestra una publicación, la función is_single () devuelve «verdadero» y, si hay un solo archivo.php en el tema activo, esa plantilla se usa para generar la página.
Plantillas básicas
Como mínimo, un tema de WordPress consta de dos archivos:
Ambos archivos van al directorio Theme. El archivo de plantilla index.php es muy flexible. Se puede utilizar para incluir todas las referencias al encabezado, barra lateral, pie de página, contenido, categorías, archivos, búsqueda, error y cualquier otra página creada en WordPress.
O se puede dividir en una plantilla modular archivos, cada uno tomando parte de la carga de trabajo. Si no proporciona otros archivos de plantilla, WordPress puede tener archivos o funciones predeterminados para realizar su trabajo. Por ejemplo, si no proporciona un archivo de plantilla searchform.php, WordPress tiene una función predeterminada para mostrar el formulario de búsqueda.
Los archivos de plantilla típicos incluyen:
- comentarios. php
- comments-popup.php
- footer.php
- header.php
- sidebar.php
Con estos archivos de plantilla, puede colocar etiquetas de plantilla dentro del archivo maestro index.php para incluir estos otros archivos donde desee que aparezcan en la página final generada.
Aquí hay un ejemplo de la incluir uso:
<?php get_sidebar(); ?><?php get_footer(); ?>
Los archivos predeterminados para algunas funciones de plantilla pueden estar obsoletos o no estar presentes, y debe proporcionar estos archivos en su tema. A partir de la versión 3.0, los archivos predeterminados obsoletos se encuentran en wp-includes/theme-compat
. Por ejemplo, debe proporcionar header.php para que la función get_header () funcione de manera segura, y comments.php para la función comments_template ().
Para obtener más información sobre cómo funcionan estas diversas plantillas y cómo generar diferentes información dentro de ellos, lea la documentación de Plantillas.
Plantillas de página personalizadas
Los archivos que definen cada plantilla de página se encuentran en su directorio de Temas. Para crear una nueva plantilla de página personalizada para una página, debe crear un archivo. Llamemos a nuestra primera plantilla de página para nuestra página snarfer.php. En la parte superior del archivo snarfer.php, coloque lo siguiente:
<?php/*Template Name: Snarfer*/?>
Lo anterior El código define este archivo snarfer.php como la plantilla «Snarfer». Naturalmente, «Snarfer» puede ser reemplazado con casi cualquier texto para cambiar el nombre de la plantilla de página. Este nombre de plantilla aparecerá en el Editor de temas como el enlace para editar esta archivo.
El archivo puede tener casi cualquier nombre con una extensión .php (consulte los nombres de archivo de tema reservados para los nombres de archivo que no debe usar; estos son nombres de archivo especiales que WordPress reserva para propósitos específicos).
Lo que sigue a las cinco líneas de código anteriores depende de usted. El resto del código que escriba controlará cómo se mostrarán las páginas que usan la plantilla de página de Snarfer. Consulte Etiquetas de plantilla para obtener una descripción de las diversas funciones de la plantilla de WordPress puede utilizar para este propósito. Puede que le resulte más conveniente copiar alguna otra plantilla (tal vez page.php o index.php) a snarfer.php y luego agregue las cinco líneas de código anteriores al principio del archivo.De esa manera, solo tendrá que modificar el código HTML y PHP, en lugar de crearlo todo desde cero. A continuación se muestran ejemplos. Una vez que haya creado una plantilla de página y la haya colocado en el directorio de su tema, estará disponible como una opción cuando cree o edite una página. (Nota: al crear o editar una página, la opción Plantilla de página no aparece a menos que hay al menos una plantilla definida de la manera anterior.)
Archivos de plantilla basados en consultas
WordPress puede cargar diferentes plantillas para diferentes tipos de consultas. Hay dos formas de hacer esto: como parte de la jerarquía de plantillas incorporada y mediante el uso de etiquetas condicionales dentro del bucle de un archivo de plantilla.
Para usar la jerarquía de plantillas, básicamente es necesario proporcionar archivos de plantilla para fines especiales, que se usará automáticamente para anular index.php. Por ejemplo, si su tema proporciona una plantilla llamada category.php y se está consultando una categoría, se cargará category.php en lugar de index.php. Si category.php no está presente, index.php se usa como de costumbre.
Puede ser aún más específico en la jerarquía de plantillas si proporciona af archivo llamado, por ejemplo, category-6.php: este archivo se utilizará en lugar de category.php al generar la página para la categoría cuyo número de ID es 6. (Puede encontrar los números de ID de categoría en Administrar > Categorías si ha iniciado sesión como administrador del sitio en la versión 2.3 de WordPress y anteriores. En WordPress 2.5, la columna ID se eliminó de los paneles de administración. Puede ubicar la identificación de la categoría haciendo clic en «Editar categoría» y buscando en la barra de direcciones URL el valor cat_ID. Se verá «… categorías.php? Action = edit & cat_ID = 3» donde «3» es la identificación de la categoría). Para obtener una visión más detallada de cómo funciona este proceso, consulte Plantillas de categoría.
Si su tema necesita tener aún más control sobre qué archivos de plantilla se utilizan que el que se proporciona en la jerarquía de plantillas, puede utilizar Condicional Etiquetas. La etiqueta condicional básicamente verifica si alguna condición en particular es verdadera, dentro del bucle de WordPress, y luego puede cargar una plantilla en particular o poner algún texto en particular en la pantalla, según esa condición.
Para Por ejemplo, para generar una hoja de estilo distintiva en una publicación que solo se encuentra dentro de una categoría específica, el código podría verse así:
O, al usar una consulta, podría verse así:
<?php$post = $wp_query->post;if ( in_category( "9" ) ) { get_template_part( "single2" );} else { get_template_part( "single1" );}?>
En cualquier caso, este código de ejemplo hará que se usen diferentes plantillas dependiendo de la categoría de la publicación en particular que se muestre. Las condiciones de consulta no se limitan a las categorías; sin embargo, consulte el artículo Etiquetas condicionales para ver todas las opciones.
Definición de plantillas personalizadas
Es posible utilizar el sistema de complementos de WordPress para definir plantillas adicionales que se muestran según sus propios criterios personalizados. Esta característica avanzada se puede lograr usando el gancho de acción «template_include». Puede encontrar más información sobre la creación de complementos en la referencia de la API de complementos.
Incluyendo archivos de plantilla
Para cargar otra plantilla (que no sea el encabezado, la barra lateral o el pie de página, que tienen comandos incluidos predefinidos como get_header ()) en una plantilla, puede usar get_template_part (). Esto facilita que un tema reutilice secciones de código.
Hacer referencia a archivos desde una plantilla
Cuando haga referencia a otros archivos dentro del mismo tema, evite los URI y rutas de archivo codificados. En su lugar, haga referencia a los URI y las rutas de archivo con bloginfo (): consulte Hacer referencia a archivos desde una plantilla.
Tenga en cuenta que los URI que se utilizan en la hoja de estilo son relativos a la hoja de estilo, no a la página que hace referencia a la hoja de estilo. Por ejemplo, si incluye un directorio de imágenes / en su tema, solo necesita especificar este directorio relativo en el CSS, así:
h1 { background-image: url(images/my-background.jpg);}
Plugin API Hooks
Al desarrollar Temas, es bueno tener en cuenta que su Tema debe estar configurado para que funcione bien con cualquier complemento de WordPress que los usuarios decidan instalar. Los complementos agregan funcionalidad a WordPress a través de «Acción Hooks «(consulte la API de complementos para obtener más información).
La mayoría de los Action Hooks están dentro del código PHP principal de WordPress, por lo que su tema no tiene que tener etiquetas especiales para que funcionen. Pero algunas Action Los ganchos deben estar presentes en su tema para que los complementos muestren información directamente en su encabezado, pie de página, barra lateral o en el cuerpo de la página. Aquí hay una lista de las etiquetas de plantilla de gancho de acción especiales que debe incluir:
wp_enqueue_scripts Se utiliza en el archivo de funciones del tema. Se utiliza para cargar scripts externos y hojas de estilo. wp_head () Va en el < head > elemento de un tema, en header.php. Ejemplo de uso de complemento: agregar código JavaScript. wp_footer () Va en footer.php, justo antes de la etiqueta < / body > de cierre. Ejemplo de uso del complemento: inserte el código PHP que debe ejecutarse después de todo lo demás, en la parte inferior del pie de página.Muy utilizado para insertar código de estadísticas web, como Google Analytics. wp_meta () Normalmente va en < li > Meta < / li > sección del menú o barra lateral de un tema; plantilla sidebar.php. Ejemplo de uso de un complemento: incluye un anuncio rotativo o una nube de etiquetas. Comment_form () Va en comments.php directamente antes del archivo » s etiqueta de cierre (< / div >). Ejemplo de uso de un complemento: muestra una vista previa del comentario.
Para ver un ejemplo de uso en el mundo real, encontrará estos complementos incluidos en las plantillas predeterminadas del tema.
API de personalización del tema
A partir de WordPress 3.4, una nueva La función de personalización de temas está disponible de forma predeterminada para casi todos los temas de WordPress. La página de administración de Personalización de temas se llena automáticamente con opciones para las que un tema declara ser compatible con add_theme_support () o usando la API de configuración, y permite a los administradores ver vistas previas no permanentes de los cambios que realizan en tiempo real.
Los desarrolladores de temas y complementos interesados en agregar nuevas opciones a la página de personalización de temas de un tema deben ver la documentación sobre la API de personalización de temas. Hay tutoriales adicionales sobre la API de personalización de temas disponibles en el sitio web Ottopress.com.
Datos que no son de confianza
Debe escapar del contenido generado dinámicamente en su tema, especialmente el contenido que se envía a atributos HTML. Como se indica en los Estándares de codificación de WordPress, el texto que se incluye en los atributos debe ejecutarse a través de esc_attr () o las comillas dobles no terminan el valor del atributo e invalidan el XHTML y causan un problema de seguridad. Los lugares comunes para verificar son los atributos title, alt y value.
Hay pocas etiquetas de plantilla especiales para casos comunes donde Se necesita una salida segura. Uno de esos casos implica enviar un título de publicación a un atributo de título usando the_title_attribute () en lugar de the_title () para evitar una vulnerabilidad de seguridad. A continuación, se muestra un ejemplo del escape correcto para el atributo de título de un enlace de título de una publicación cuando se usa texto traducible:
<a href="<?php the_permalink(); ?>" title="<?php sprintf( __( "Permanent Link to %s", "theme-name" ), the_title_attribute( "echo=0" ) ); ?>"><?php the_title(); ?></a>
Translation Support / I18n
Para asegurar una transición fluida para la localización del idioma, use las funciones i18n basadas en gettext de WordPress para envolver todo el texto traducible dentro de los archivos de plantilla. Esto facilita que los archivos de traducción se conecten y traduzcan las etiquetas, títulos y otro texto de plantilla en el idioma actual del sitio. Vea más en Localización de WordPress e I18n para desarrolladores de WordPress.
Clases temáticas
Implemente las siguientes etiquetas de plantilla para agregar atributos de clase generados por WordPress a los elementos de cuerpo, publicación y comentario. Para clases de publicación, aplique solo a elementos dentro de The Loop.
- body_class ()
- post_class ()
- comment_class ()
Lista de verificación del archivo de plantilla
Cuando desarrolle un tema, verifique sus archivos de plantilla con los siguientes estándares de archivo de plantilla.
Cabecera del documento (header.php)
- Use el DOCTYPE adecuado.
- La etiqueta < html > de apertura debe incluir language_attributes ( ).
- El elemento < meta > conjunto de caracteres debe colocarse antes que todo lo demás, incluido el < título > elemento.
- Utilice bloginfo () para configurar el < meta > conjunto de caracteres y elementos de descripción.
- Use wp_title () para establecer el < título . Vea por qué.
- Utilice enlaces automáticos de feeds para agregar enlaces de feeds.
- Agregue una llamada a wp_head () antes del cierre < / head > etiqueta. Los complementos usan este gancho de acción para agregar sus propios scripts, hojas de estilo y otras funciones.
- No vincule las hojas de estilo del tema en la plantilla de encabezado. En su lugar, use el gancho de acción wp_enqueue_scripts en una función de tema.
Aquí hay un ejemplo de un área de encabezado compatible con HTML5 con el formato correcto:
Menús de navegación (header.php )
- La navegación principal del tema debe admitir un menú personalizado con wp_nav_menu ().
- Los menús deben admitir títulos de enlaces largos y una gran cantidad de elementos de lista. Estos elementos no deben romper el diseño o la distribución.
- Los elementos del submenú deben mostrarse correctamente. Si es posible, admita estilos de menú desplegable para elementos de submenú. Los menús desplegables permiten mostrar la profundidad del menú en lugar de solo mostrar el nivel superior.
- El tema debe tener un widget tan completo como sea posible. Cualquier área en el diseño que funcione como un widget (nube de etiquetas, blogroll, lista de categorías) o que pueda aceptar widgets (barra lateral) debe permitir widgets.
- Contenido que aparece en áreas con widgets de forma predeterminada (codificado en la barra lateral, por ejemplo) debería desaparecer cuando los widgets están habilitados desde Appearance > Widgets.
Footer (footer.php)
- Use la llamada wp_footer (), para que aparezca justo antes de cerrar la etiqueta del cuerpo.
<?php wp_footer();
read more