onde incluir um arquivo php

2

Eu tenho um arquivo php com algumas variáveis que eu gostaria de usar.

Quando eu incluí-lo no header.php, as variáveis nesse arquivo não são reconhecidas no footer.php e em alguns outros lugares.

Onde é o melhor lugar para incluir este arquivo para que seu conteúdo seja compartilhado por todos os arquivos wp.

    
por Ofer 26.11.2010 / 02:21

3 respostas

5

Variáveis têm um certo escopo. O Manual do PHP explica que detalhadamente . Então, quando você define uma variável, você deve saber em qual escopo elas estão definidas. Isso depende de onde você os define e de como esse arquivo é incluído.

Como Rarst já sugeriu, o arquivo function.php é um lugar ideal, pois é incluído no espaço global sempre que seu tema estiver ativo.

Além disso, o escopo ainda se aplica. O arquivo footer.php , por exemplo, normalmente não está incluído no escopo global. Para acessar suas variáveis - se você as definiu globalmente - você pode consultar o $GLOBALS array superglobal .

Isso normalmente é feito para algumas variáveis. Se você tiver múltiplos, você pode considerar anexar todas as suas variáveis a um array, então você tem apenas um nome de variável no escopo global ao qual você precisa se referir. Isso mantém as coisas um pouco mais separadas umas das outras, o que torna mais fácil a longo prazo. Porque se você nomear suas variáveis da mesma forma que as variáveis existentes, você irá sobrescrevê-las. Isso pode quebrar coisas que são difíceis de depurar.

Exemplo:

em function.php

$mytheme_config = array();
$mytheme_config['extra_footer_display'] = true;

em footer.php

if ($GLOBALS['mytheme_config']['extra_footer_display']) {
    // executed when extra_footer_display is true
}

Este é apenas um exemplo muito básico, mas provavelmente já faz o trabalho para você. Eu não sei seu nível de experiência com PHP, mas como você provavelmente está começando, os links fornecidos acima lhe dão a compreensão básica de como isso está funcionando. Lembre-se de que as partes do modelo não são carregadas no escopo global, portanto, é necessário referenciar as variáveis globais com a matriz superglobal $GLOBALS para acessá-las. $GLOBALS está sempre se referindo a variáveis globais, independentemente do escopo em que é acessado.

    
por hakre 29.11.2010 / 11:12
8

O melhor lugar para incluir código no tema é geralmente Arquivo de funções ( functions.php ) em vez de arquivos de modelo (que pode e muitas vezes são substituídos por plugins, temas filhos, etc).

Dependendo de suas especificidades, você pode definir constantes lá ou criar uma função de wrapper e conectá-lo a alguma ação disparada em fases posteriores carga do tema.

Além disso, dependendo dos detalhes, você pode procurar na API de opções para armazenar valores no banco de dados.

    
por Rarst 26.11.2010 / 07:28
0

Você precisa fazer as constantes das variáveis e incluí-las no header.php O uso do index.php irá incluí-las apenas na página inicial / principal do seu blog, dependendo das suas configurações e perderá qualquer categoria, tag, pesquisa e página.

    
por curtismchale 26.11.2010 / 05:04