Descubra Quais Arquivos do Template Estão Sendo Carregados em Sua Página WordPress

Por vezes, surge uma dúvida bem básica no desenvolvimento/alteração de templates do WordPress, principalmente quando é feito download de temas grátis ou até mesmo pagos. O grande problema é ter a necessidade de alterar alguma parte do layout, mas não saber qual é o arquivo (no template é claro) que precisa ser alterado… Hoje você irá acabar com esse probleminha, com um pequeno “hack”:

A brincadeira

Com sua instalação wordpress em mãos, vá para o caminho /wp-includes/ e edite o arquivo theme.php. Navegue até a linha 1079 ou encontre a função load_template(), é nela que faremos nossa brincadeira.

Agora é bem simples, no final da função, vamos fazer uma pequena adição para identificar o arquivo carregado:

/**
* Require the template file with WordPress environment.
*
* The globals are set up for the template file to ensure that the WordPress
* environment is available from within the function. The query variables are
* also available.
*
* @since 1.5.0
*
* @param string $_template_file Path to template file.
* @param bool $require_once Whether to require_once or require. Default true.
*/
function load_template( $_template_file, $require_once = true ) {
	global $posts, $post, $wp_did_header, $wp_did_template_redirect, $wp_query, $wp_rewrite, $wpdb, $wp_version, $wp, $id, $comment, $user_ID;

	if ( is_array( $wp_query->query_vars ) )
		extract( $wp_query->query_vars, EXTR_SKIP );

	if ( $require_once )
		require_once( $_template_file );
	else
		require( $_template_file );

	//ADIÇÂO AQUI
	echo $_template_file;
}
Todo arquivo do template carregado, passa obrigatoriamente pela função load_template() antes de ser importado.

Pronto, agora no browser, vá para o página que deseja identificar o arquivo do template que precisa ser alterado. Na página, estará disponível a lista de todos os arquivos importados. Você também irá notar que o nome/local do arquivo, vem logo depois do conteúdo do arquivo importado… para alterar a ordem dê o echo antes da importação – require:

if ( is_array( $wp_query->query_vars ) )
	extract( $wp_query->query_vars, EXTR_SKIP );

//Agora a adição é feita aqui
echo $_template_file;

if ( $require_once )
	require_once( $_template_file );
else
	require( $_template_file );

É isso. Não se esqueça que quando o site for para o ar, retire o echo da função.

Até a próxima.

1 Comentário

  1. Rafael disse:
    26 de março de 2017 às 20:04

    Olá, no meu theme.php não tem essa função… o que fazer?

Faça um Comentário