Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Usar archivo de plantilla de acuerdo al nombre de página

WordPress es muy flexible para mostrar contenido con un determinado diseño, anteriormente vimos como funciona la jerarquía de archivos de plantilla, sin embargo si necesitas más flexibilidad puedes evaluar cargar un archivo de plantilla por programación.

 

Generalidades

En este ejemplo tenemos páginas cuyo título empieza por la palabra «Lista de …», la idea es tener un diseño diferente para todas esas páginas.

Localizando el archivo de plantilla base

En nuestro caso, puesto que trabajaremos con páginas, entonces necesitaremos basarnos en el archivo page.php del tema que se esta usando en el sitio.

Puedes copiar este archivo a la carpeta de tu tema hijo con otro nombre, en nuestro caso usaremos el nombre list-template.php, luego haremos las modificaciones de diseño correspondientes.

Si quieres trabajar con entradas, entonces tendrías como base el archivo single.php

 

Código para cambiar el archivo de plantilla de ciertas páginas

El siguiente código cambia el archivo de plantilla de acuerdo al título de la página.
Puedes agregar este código en el tema hijo de tu sitio, asegúrate también que el archivo list-template.php exista.

add_filter( 'template_include', 'dcms_change_template', 100 );
function dcms_change_template( $template ) {
        
    if ( is_page()  ) {

                $current_title = strtolower(get_the_title());

                if ( str_starts_with($current_title, 'lista') ) {
                $new_template = locate_template( 'list-template.php' );

                        if ( ! empty ($new_template) ) {
                                return $new_template;
                        }
                }       
    }

    return $template;
}

En el código anterior:

  • Usamos el Hook de filtro template_include que hace referencia a la función dcms_change_template()
  • Esta función acepta un parámetro que es la ruta del archivo de template a cargar
  • Validamos si estamos en una página y además obtenemos el nombre de la página actual
  • Validamos si el nombre de la página actual empieza con una determinada palabra
  • Si se cumple la condición y el archivo existe entonces cargamos un archivo de template diferente
  • Si no se cumplen las condiciones retornamos el parámetro

 

Conclusión

Como has podido comprobar, puedes mostrar condicionalmente un archivo de plantilla y dar un diseño diferente a ciertas páginas de tu sitio, en este artículo hemos visto como realizarlo teniendo en cuenta el título de la página.

 

La entrada Usar archivo de plantilla de acuerdo al nombre de página es un artículo reciente del sitio DecodeCMS.

Enregistrer un commentaire

0 Commentaires