WordPress.org (Español)
Las plantillas de página son un tipo específico de archivo de plantilla que se puede aplicar a una página o grupos de páginas específicos.
Nota: A partir de WordPress 4.7, las plantillas de página admiten todos los tipos de publicaciones. Para obtener más detalles sobre cómo configurar una plantilla de página para tipos de publicación específicos, vea el ejemplo a continuación.
Dado que una plantilla de página es un tipo específico de archivo de plantilla, aquí hay algunas características distintivas de las plantillas de página:
- Las plantillas de página se utilizan para cambiar la apariencia de una página.
- Una plantilla de página se puede aplicar a una sola página, una sección de página o una clase de páginas .
- Las plantillas de página generalmente tienen un alto nivel de especificidad y se orientan a una página individual o grupo de páginas. Por ejemplo, una plantilla de página llamada
page-about.php
es más específica que los archivos de plantillapage.php
oindex.php
ya que solo afectará a una página con la barra de «acerca de». - Si una plantilla de página tiene un nombre de plantilla, los usuarios de WordPress que editan la página tienen control sobre qué plantilla se utilizará para representar la página.
Usos de las plantillas de página #Usos de las plantillas de página
Las plantillas de página muestran el contenido dinámico de su sitio en una página, por ejemplo, publicaciones, actualizaciones de noticias, eventos de calendario, archivos multimedia , etc. Puede decidir que desea que su página de inicio tenga un aspecto específico, que sea bastante diferente a otras partes de su sitio. O bien, puede mostrar una imagen destacada que enlace a una publicación en una parte de la página, tener una lista de las últimas publicaciones en otros lugares y utilizar una navegación personalizada. Puede usar plantillas de página para lograr estas cosas.
Esta sección le muestra cómo crear plantillas de página que sus usuarios pueden seleccionar a través de sus pantallas de administración.
Por ejemplo, puede crear plantillas de página para:
- de ancho completo, una columna
- dos columnas con una barra lateral a la derecha
- dos columnas con una barra lateral a la izquierda
- tres columnas
Arriba
Plantillas de página dentro de la jerarquía de plantillas #Page Plantillas dentro de la jerarquía de plantillas
Cuando una persona navega a su sitio web, WordPress selecciona qué plantilla usar para representar esa página. Como aprendimos anteriormente en la Jerarquía de plantillas, WordPress busca archivos de plantilla en el siguiente orden:
- Plantilla de página: si la página tiene una plantilla personalizada asignada, WordPress busca ese archivo y, si lo encuentra , la usa.
-
page-{slug}.php
– Si no se ha asignado una plantilla personalizada, WordPress busca y usa una plantilla especializada que contiene el slug de la página. -
page-{id}.php
: si no se encuentra una plantilla especializada que incluya el slug de la página, WordPress busca y utiliza una plantilla especializada nombrada con el ID de la página. -
page.php
: si no se encuentra una plantilla especializada que incluye el ID de la página, WordPress busca y utiliza la plantilla de página predeterminada del tema. -
singular.php
– Sipage.php
no se encuentra, WordPress busca y usa la plantilla del tema utilizada para una sola publicación, independientemente del tipo de publicación. -
index.php
: si no es específico Las plantillas de página se asignan o se encuentran, WordPress vuelve a utilizar el archivo de índice del tema para representar las páginas.
Alerta: También hay una plantilla definida por WordPress llamada paged.php
. No se utiliza para el tipo de publicación de la página, sino para mostrar varias páginas de archivos.
Arriba
Plantillas de página Propósito & User Control #Page Templates Propósito & User Control
Si planeas hacer una plantilla de página personalizada para tu tema, debes decidir un par de cosas antes de continuar:
- Si la plantilla de página será para una página específica o para cualquier página; y
- Qué tipo de control de usuario desea que esté disponible para la plantilla.
Cada plantilla de página que tiene un nombre de plantilla puede ser seleccionada por un usuario cuando crea o edita una página. La lista de plantillas disponibles se puede encontrar en Páginas > Agregar nuevos > Atributos > Plantilla . Por lo tanto, un usuario de WordPress puede elegir cualquier plantilla de página con un nombre de plantilla, que podría no ser su intención.
Por ejemplo, si desea tener una plantilla específica para su página «Acerca de», es posible que no Sería apropiado nombrar esa plantilla de página «Acerca de la plantilla», ya que estaría disponible globalmente para todas las páginas (es decir, el usuario podría aplicarla a cualquier página). En su lugar, cree una plantilla de un solo uso y WordPress representará la página con la plantilla adecuada, siempre que un usuario visite la página «Acerca de».
Por el contrario, muchos temas incluyen la capacidad de elegir cuántas columnas tendrá una página. Cada una de estas opciones es una plantilla de página que está disponible globalmente.Para darles a sus usuarios de WordPress esta opción global, necesitará crear plantillas de página para cada opción y dar a cada una un nombre de plantilla.
Por cierto, determinar si una plantilla es para uso global o uso singular se logra por cierto el archivo tiene un nombre y si tiene o no un comentario específico.
Nota: A veces es apropiado tener una plantilla disponible globalmente incluso si parece ser un caso de uso único. Cuando crea temas para su lanzamiento, puede ser difícil predecir el nombre de sus páginas por parte del usuario. Las páginas de portafolio son un gran ejemplo, ya que no todos los usuarios de WordPress nombrarán su portafolio de la misma manera o tendrán la misma ID de página y, sin embargo, es posible que quieran usar esa plantilla.
Arriba
Organización de archivos de plantillas de página # Organización de archivos de plantillas de página
Como se discutió en Organizar archivos temáticos, WordPress reconoce las plantillas de página de subcarpetas. Por lo tanto, es una buena idea almacenar sus plantillas de página globales en esta carpeta para ayudar a mantenerlas organizadas.
Alerta: Un archivo de plantilla de página especializado (aquellos creados para un solo uso) no puede estar en una subcarpeta, ni, si usa un tema secundario, en la carpeta del tema principal.
Arriba
Creación de plantillas de página personalizadas para uso global #Creación de plantillas de página personalizadas para uso global
A veces querrá una plantilla que pueda ser utilizada globalmente por cualquier página o por varias páginas. Algunos desarrolladores agruparán sus plantillas con un prefijo de nombre de archivo, como page_two-columns.php
Alerta: ¡Importante! No utilice page-
como prefijo, ya que WordPress interpretará el archivo como una plantilla especializada, destinada a aplicarse a una sola página de su sitio.
Para obtener información sobre las convenciones de nomenclatura de archivos de temas y los nombres de archivos que no puede usar, consulte Nombres de archivos de temas reservados.
Consejo: Un método rápido y seguro para crear un La nueva plantilla de página es hacer una copia de page.php
y darle al nuevo archivo un nombre de archivo distinto. De esa manera, comienza con la estructura HTML de sus otras páginas y puede editar el nuevo archivo según sea necesario.
Para crear una plantilla global, escriba un comentario PHP de apertura en la parte superior de el archivo que indica el nombre de la plantilla.
<?php /* Template Name: Example Template */ ?>
Es una buena idea elija un nombre que describa lo que hace la plantilla, ya que el nombre es visible para los usuarios de WordPress cuando están editando la página. Por ejemplo, podría asignar un nombre a la página de inicio, el blog o la cartera de su plantilla.
Este ejemplo del tema TwentyFourteen crea una plantilla de página llamada Página de ancho completo:
<?php/*** Template Name: Full Width Page** @package WordPress* @subpackage Twenty_Fourteen* @since Twenty Fourteen 1.0*/
Una vez que cargue el archivo en la carpeta de su tema (por ejemplo, page- plantillas), vaya a la página > Editar pantalla en su panel de administración.
On the right hand side under attributes you"ll see template. This is where users are able to access your global page templates.
Tip: The select list has a maximum width of 250px, so longer names may be cut off.
Arriba
Creación de una plantilla de página personalizada para una página específica #Creación de una plantilla de página personalizada para una página específica
Como se menciona en la página Jerarquía de plantillas, puede crear una plantilla para una página específica. Para crear una plantilla para una página específica, copie su archivo page.php
existente y cámbiele el nombre con el slug o ID de su página:
-
page-{slug}.php
-
page-{ID}.php
Por ejemplo: su página Acerca de tiene una barra de acerca de y un ID de 6. Si la carpeta de su tema activo tiene un archivo llamado page-about.php
o page-6.php
, WordPress buscará y usará automáticamente ese archivo para representar la página Acerca de.
Para que se utilicen, las plantillas de página especializadas deben estar en la carpeta de su tema (es decir, / wp-content / themes / my-theme-name /).
Arriba
Creación de plantillas de página para tipos de publicación específicos #Creación de plantillas de página para tipos de publicación específicos
De forma predeterminada, una plantilla de página personalizada estará disponible para el tipo de publicación «página».
Para crear una plantilla de página para tipos de publicación específicos, agregue una línea debajo del nombre de la plantilla con los tipos de publicación que le gustaría que la plantilla admita.
Ejemplo:
<?php/*Template Name: Full-width layoutTemplate Post Type: post, page, event*/// Page code here...
Alerta: esta capacidad para agregar plantillas de página a tipos de publicaciones El tipo de publicación que no sea «página» solo es compatible con WordPress 4.7
Cuando existe al menos una plantilla para un tipo de publicación, el cuadro de meta Atributos de publicación se mostrará en la parte posterior, sin la necesidad de agregar soporte de tipo de publicación para atributos de página o cualquier otra cosa. La etiqueta Atributos de publicación se puede personalizar por tipo de publicación utilizando la etiqueta atributos al registrar un tipo de publicación.
Compatibilidad con versiones anteriores:
Digamos que desea publicar un tema con soporte para plantillas de tipo de publicación. Las versiones de WordPress anteriores a la 4.7 ignorarán el encabezado Tipo de publicación de plantilla y mostrarán la plantilla en la lista de plantillas de página, aunque solo funciona para publicaciones regulares.Para evitarlo, puede conectarse al filtro theme_page_templates para excluirlo de la lista. A continuación, se muestra un ejemplo:
Expandir el código fuente completo Contraer el código fuente completo
De esa manera, puede admitir publicaciones personalizadas Escriba plantillas en WordPress 4.7 y versiones posteriores mientras se mantiene la compatibilidad total con versiones anteriores.
Tenga en cuenta que theme_page_templates es en realidad un filtro de tema dinámico _ {$ post_type} _templates. La parte dinámica del nombre del gancho, $ post_type, se refiere al tipo de publicación admitida por las plantillas. P.ej. puede conectarse a theme_product_templates para filtrar la lista de plantillas para el tipo de publicación del producto.
Arriba
Uso de etiquetas condicionales en plantillas de página #Uso de etiquetas condicionales en plantillas de página
Puede realizar cambios más pequeños y específicos de la página con etiquetas condicionales en el archivo page.php
de su tema. Por ejemplo, el siguiente código de ejemplo carga el archivo header-home.php
para su página principal, pero carga otro archivo (header-about.php
) para su página Acerca de, y luego aplica el header.php
predeterminado para todas las demás páginas.
if ( is_front_page() ) :get_header( "home" );elseif ( is_page( "About" ) ) :get_header( "about" );else:get_header();endif;
Puede obtener más información sobre las etiquetas condicionales aquí.
Arriba
Identificación de una plantilla de página # Identificación de una plantilla de página
Si su plantilla usa la función body_class()
, WordPress imprimirá las clases en la etiqueta body
para el nombre de clase del tipo de publicación (page
), el ID de la página (page-id-{ID}
) y la plantilla de página utilizada. Para el page.php
predeterminado, el nombre de clase generado es page-template-default
:
<body class="page page-id-6 page-template-default">
Cuando se usa una plantilla de página personalizada, la clase page-template
print, junto con una clase que nombra la plantilla específica. Por ejemplo, si su archivo de plantilla de página personalizada tiene el siguiente nombre:
<?php/* Template Name: My Custom Page */?gt;
Luego, el HTML renderizado generado será el siguiente:
<body class="page page-id-6 page-template page-template-my-custom-page-php">
Observe el page-template-my-custom-page-php
clase que se aplica a la etiqueta body
.
Arriba
Funciones de plantilla de página # Funciones de plantilla de página
Estas funciones y métodos integrados de WordPress pueden ayudarlo a trabajar con plantillas de página:
-
get_page_template()
devuelve la ruta de la plantilla de página utilizada para representar la página. -
wp_get_theme()->get_page_templates()
devuelve todas las plantillas de página personalizadas disponibles para el tema actualmente activo (get_page_templates()
es un método de laWP_Theme
clase). -
is_page_template()
devuelve verdadero o falso dependiendo de si se utilizó una plantilla de página personalizada para representar la página. -
get_page_template_slug()
r devuelve el valor del campo personalizado_wp_page_template
(null
cuando el valor está vacío o es «predeterminado»). Si a una página se le ha asignado un template, el nombre de archivo de esa plantilla se almacena como el valor de un campo personalizado llamado"_wp_page_template"
(en la tabla de base de datoswp_postmeta
). (Los campos personalizados que comienzan con un guión bajo no se muestran en el módulo de campos personalizados de la pantalla de edición).