donde incluir un archivo php

2

Tengo un archivo php con algunas variables que me gustaría usar.

Cuando lo incluyo en header.php, las variables de ese archivo no se reconocen en footer.php y en otros lugares.

¿Dónde está el mejor lugar para incluir este archivo, por lo que su contenido se compartirá en todos los archivos wp?

    
pregunta Ofer 26.11.2010 - 02:21

3 respuestas

5

Las variables tienen un cierto alcance. El Manual de PHP explica que en detalle . Entonces, cuando establece una variable, debe saber en qué ámbito se establecen. Esto depende de dónde los establezca y de cómo se incluya ese archivo.

Como Rarst ya sugirió, el archivo function.php es un lugar ideal, ya que se incluye en el espacio global cuando tu tema está activo.

Junto a eso, el alcance sigue siendo válido. El archivo footer.php , por ejemplo, normalmente no está incluido en el ámbito global. Para acceder a sus variables allí, si las ha configurado globalmente, puede consultar el $GLOBALS superglobal array .

Esto normalmente lo hace para algunas variables. Si tiene múltiples, podría considerar adjuntar todas sus variables a una matriz en su lugar, de modo que solo tenga un nombre de variable en el ámbito global al que deba hacer referencia. Esto mantiene las cosas un poco más separadas unas de otras, lo que lo hace más fácil a largo plazo. Porque si nombras tus variables igual que las variables existentes, las sobrescribirás. Eso puede romper cosas que son difíciles de depurar.

Ejemplo:

en function.php

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

en footer.php

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

Este es solo un ejemplo muy básico, pero probablemente ya haga el trabajo por ti. No conozco su nivel de experiencia con PHP, pero cuando comience, probablemente, los enlaces proporcionados anteriormente le brindan una comprensión básica de cómo funciona esto. Solo tenga en cuenta que las partes de la plantilla no se cargan dentro del alcance global, por lo que necesita hacer referencia a las variables globales con la matriz superglobal $GLOBALS para acceder a ellas. $GLOBALS siempre hace referencia a variables globales independientemente del alcance donde se accede.

    
respondido por el hakre 29.11.2010 - 11:12
8

El mejor lugar para incluir código en el tema suele ser Archivo de funciones ( functions.php ) en lugar de archivos de plantilla (que pueden y, a menudo, se anulan mediante complementos, temas secundarios, etc.).

Dependiendo de sus detalles, puede definir constantes allí o crear una función de envoltura y engancharla a alguna acción que se dispare en etapas posteriores de tema de carga.

También dependiendo de las características específicas, es posible que desee consultar API de opciones para almacenar valores en la base de datos.

    
respondido por el Rarst 26.11.2010 - 07:28
0

Debe hacer constantes las variables e incluirlas en header.php. El uso de index.php solo las incluirá en su página de inicio / página de blog principal, dependiendo de su configuración y se perderá cualquier categoría, etiqueta, búsqueda y página.

    
respondido por el curtismchale 26.11.2010 - 05:04

Lea otras preguntas en las etiquetas