Seleccionar página

Cómo detectar que archivo se ejecuta en cada página de WordPress

por | Mar 24, 2017 | Wordpress

Índice de contenidos

Cómo conocer el nombre del archivo que se ejecuta en cada página de WordPress

En esta breve entrada aprenderemos como añadir una pequeña función para detectar que archivo se ejecuta en cada página de WordPress.

Detectar que archivo se ejecuta en WordPress

Introducción

En el post sobre «Jerarquía de plantillas WordPress», te explicó como funciona internamente nuestro blog, cómo selecciona WordPress el archivo que debe utilizar para mostrar los distintos contenidos y las templates o plantillas básicas incluidas en los temas WordPress.

En general conocer la jerarquía de plantillas WordPress es sencillo, pero según el theme WordPress con el que trabajes esto se puede complicar, hay temas que manejan múltiples archivos para páginas, categorías, custom post types… y resulta más difícil detectar que archivo se ejecuta en cada página WordPress.

Cuando desarrollamos un sitio en WordPress es necesario conocer que plantilla carga el sistema para mostrar el contenido de cada página

Código para detectar que archivo se ejecuta en cada página WordPress

Vamos a añadir un pequeño código al archivo header.php de nuestro tema activo de WordPress, dentro de la etiqueta body, por ejemplo después del contenedor de logo y menú:

<?php 
 
echo 'La plantilla que se está empleando es: ' . basename( get_page_template() ); 
 
?>

el resultado es el siguiente:

Detectar que archivo se ejecuta en WordPress

Esta información es visible para todos los usuarios, si tu sitio ya está publicado, lo más correcto es incluir el código en una función con un if para que sólo se muestre al administrador de la página o a los usuarios que están desarrollando la misma. WordPress dispone de varias funciones para filtrar el tipo de usuario. En nuestro código sólo vamos a permitir el acceso a esta información a los usuarios con rol de administrador

Código que muestra a los administradores del sitio que archivo se ejecuta en cada página WordPress

Para modificar el código y llevarlo a una función, abrimos el archivo functions.php de nuestro tema y copiamos y pegamos el siguiente código:

function archivo_que_se_ejecuta() {
     if(is_super_admin ()){
     echo 'La plantilla que se est&aacute; empleando es: ' . basename( get_page_template() ); 
     }
}

Luego en el archivo header.php tienes que llamar a la función:

<?php archivo_que_se_ejecuta(); ?>

Añadiendo un hook para detectar que archivo se ejecuta en cada página WordPress

Otra opción interesante, es  crear un gancho o hook con nuestra función, indicando en que lugar queremos que se ejecute la misma. 

Para crear un hook primero debemos conocer los ganchos que soporta nuestro tema. En mi caso en el archivo header.php de mi tema encuentro la siguiente línea de código:

<?php do_action( 'et_header_top' ); ?>

significa que en ese punto puedo crear una acción para ejecutar una función propia. Para hacer uso del hook modifico la función del archivo functions.php:

add_action('et_header_top', 'archivo_que_se_ejecuta');
function archivo_que_se_ejecuta() {
     if(is_super_admin ()){
     echo 'La plantilla que se est&aacute; empleando es: ' . basename( get_page_template() ); 
     }
}

añadiendo la directiva add_action. Obviamente ya no tengo que llamar a la función desde el archivo header.php.

Te puede interesar:

Jerarquía de plantillas WordPress 

Crear diferentes páginas en WordPress

Hooks en WordPress

 

 

1 Comentario

  1. Esteban

    Mooooola

    Responder

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *