Carregar um script para um modelo de página especifico no WordPress

Muitas vezes queremos personalizar o nosso tema, onde queremos que modifique completamente a aparência de uma página. Então para isso, podemos utilizar um Modelo de Página, com ele criando páginas personalizadas, que podem assumir o papel de páginas, ou  da própria home (Configurações > Leitura > Uma página estática  > Página inicial).

E com essa modificação, às vezes criamos uma folha de estilo, ou código em javascript que seria apenas para esse Modelo de Página, que seria desnecessário em outras páginas.

Podemos então, fazer esse carregamento em apenas nesse modelo que criamos.

Vamos supor que criamos um arquivo chamado template-home.php, que está dentro de uma pasta chamada page-templates. E temos um arquivo css, chamado home.css, que está dentro da pasta css.

Então, no arquivo functions.php, vamos criar uma função (o código está comentado):

/**
 * Criamos uma função
 */
function loadScriptsTemplate(){
     /**
      * Verificamos se a página atual é uma
      * Modelo de Página especifico.
      * Veja que informamos o caminho até o arquivo
      * do modelo de página
      */
     if (is_page_template('page-templates/template-home.php')){
         /**
          * Aqui adicionamos o arquivo css
          * O primeiro parâmetro é nome atribuito
          * O segundo caminho para o arquivo home.css
          */
         wp_enqueue_style('home-css', get_template_directory_uri().'/css/home.css');
     }
}

Agora precisamos informar ao WordPress que queremos adicionar essa função que criamos, para isso usaremos o add_action, informando o gancho (hook) wp_enqueue_scripts

/**
 * Usamos a função add_action
 * No primeiro parâmetro, informamos o gancho wp_enqueue_scripts
 * No segundo parâmetro informamos a função que queremos adicionar, loadScriptsTemplate
 */
add_action('wp_enqueue_scripts','loadScriptsTemplate');

Espero ter ajudado, até a próxima.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *