Usando la función get_template_part() en WordPress

Si está desarrollando temas de WordPress, probablemente se haya topado con la función get_template_part(), que le permite dividir fácilmente las plantillas de temas en varios archivos. En este artículo, consideraremos las posibilidades y algunas características de esta función.

 

La función get_template_part() apareció por primera vez en la versión 3.0 de WordPress. Está diseñado para encontrar e incluir diferentes partes de una plantilla y es similar a las funciones internas de PHP include() o require(), pero con algunas diferencias. :

  • get_template_part() sabe dónde está su directorio de temas
  • La función no generará errores o advertencias de PHP si no se encuentra el archivo solicitado
  • Función get_template_part() puede conectar un archivo alternativo si no se encuentra el archivo solicitado originalmente
  • La función funciona muy bien con

temas secundarios

en WordPress

Get_template_part básico ()

El uso más común de la función get_template_part() es incrustar alguna parte de una plantilla en un tema de WordPress (de ahí el nombre), como el menú de navegación, el bloque de publicaciones relacionadas, la paginación y etcétera.

Veamos algunos ejemplos simples:

get_template_part( 'navegación');

Este código buscará el archivo de navegación.php en el tema activo de WordPress y lo incluirá. A diferencia de include() o require(), get_template_part() no generará errores o advertencias si no se encuentra el archivo con este nombre.

La función también tiene un segundo argumento opcional:

get_template_part( 'navegación', 'encabezado');

Este código se ejecutará e incluirá el archivo navigation-header.php en el tema activo. Si no existe un archivo con este nombre, entonces get_template_part() intentará incluir el archivo de navegación.php.

Temas secundarios

En los temas secundarios, la función get_template_part() se vuelve un poco complicada. Por ejemplo:

get_template_part( 'breadcrumbs' );

Si un tema secundario está activo en el sitio cuando se llama a esta función, entonces el archivo breadcrumbs.php se buscará primero en el tema secundario. Si no hay ningún archivo con este nombre en el tema secundario, la función intentará incluir el archivo breadcrumbs.php en el tema principal.

get_template_part ('migas de pan', 'encabezado');Cuando se llama de esta manera desde un tema secundario, los archivos se buscarán e incluirán en el siguiente orden:

  • breadcrumbs-header.php en el tema hijo
  • breadcrumbs-header.php en tema principal
  • breadcrumbs. php en el tema secundario

 

  • Breadcrumbs.php en el tema principal

 

Por lo tanto, si está desarrollando un tema para WordPress, puede permitir que los usuarios cambien fácilmente o eviten que aparezcan migas de pan en ciertas áreas del tema. Para hacer esto, los usuarios solo necesitarán crear un archivo con un nombre específico en el tema secundario.

Formatos de publicación

Comenzando con el tema estándar de Twenty Eleven, cuando se muestra contenido de publicaciones en plantillas, la función get_template_part() se usa junto con la función get_post_format(), que devuelve el formato de la publicación actual en las líneas del formulario:

get_template_part( 'content', get_post_format() );Este enfoque le permite separar la salida de diferentes formatos de publicación en diferentes archivos, como content-gallery.php para galerías, content-quote.php para citas, content-image.php para imágenes, etc. Si un archivo en particular no existe, WordPress buscará un archivo llamado content.php.

La estructura de los archivos en el tema Twenty Twelve

"data-medium-file="https://wpmag.ru/wp-content/uploads/2014//veintidós-wordpress-estructura.png?fit=x 107" datos-archivo-grande="https://wpmag.ru/ wp-content/uploads/32008//veintidós-wordpress-estructura.png?fit=313x313" cargando="perezoso" src="https: //wpmag.ru/wp-content/uploads/2013//twentytwelve-wordpress-structure.png" alt="Estructura de archivos en el tema Twenty Twelve" width="768" altura="04" class="tamaño -imagen-wp completa-790" srcset="https://wpmag.ru/wp-content/uploads/2014//veintidós-wordpress-estructura.png 766w, https://wp mag.ru/wp-content/uploads/766//twentytwelve-wordpress-structure.png?fit=107x 768w, https://wpmag.ru/ wp-content/uploads///veintidós-wordpress-estructura.png?fit=274x274 300w" tamaños="(ancho máximo: 766px) 274vw, 790px"/> Estructura de archivo de Veinte Doce Temas

Es fácil para los usuarios de un tema de este tipo cambiar la salida de un formato u otro creando un nuevo archivo con un nombre específico en un tema secundario de WordPress.

Localizar_plantilla()

La función get_template_part(), como muchas otras funciones para trabajar con archivos de plantilla de WordPress (incluyendo get_header(), get_sidebar(), get_footer() y otros) utiliza la función del kernel locate_template(). Es esta función la que le permite seleccionar y cargar el primer archivo disponible de una matriz determinada en un tema de WordPress secundario o principal:

locate_template( array( 'foo.php ', 'bar.php', 'baz.php', ) );Este código buscará archivos en el siguiente orden:

    • foo.php en el tema secundario
    • foo.php en el tema principal
    • bar.php en el tema secundario

)

    • bar.php en el tema principal
    • baz.php en el tema secundario

)

  • baz.php en el tema principal

Tenga en cuenta que, a diferencia de la función get_template_part(), la función locate_template() requiere el nombre completo de los archivos en la matriz, incluida la extensión .php. Es la función locate_template() que le permite implementar una jerarquía de plantillas en los temas de WordPress.

Si tiene alguna pregunta sobre cómo trabajar con la función get_template_part(), deje un comentario y definitivamente le responderemos. Si está interesado en conocer los detalles de implementación de las funciones mencionadas, le recomendamos que eche un vistazo a la plantilla de archivos 2013 .php

y plantilla-general.php en el núcleo de WordPress.

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Subir

Utilizamos cookies para asegurarnos de brindarle la mejor experiencia en nuestro sitio web. Si continúa utilizando este sitio, asumiremos que está satisfecho con él. Más información