Was ich tun möchte, ist, eines meiner PHP-Skripte in ein WordPress-Design einzufügen. Das Problem ist, dass ich nach dem Einbinden der Skriptdatei nicht mehr auf die in der Skriptdatei deklarierten Variablen innerhalb der Funktionen in der Designdatei zugreifen kann.
Ich habe eine neue Datei im Themenordner erstellt und denselben Code wie in header.php hinzugefügt, und wenn ich diese Datei öffne, funktioniert es einwandfrei. Soweit ich das beurteilen kann, hat es etwas mit Word Press zu tun.
/other/path/wordpress/wp-content/themes/theme-name/header.php // this is broken
/other/path/wordpress/wp-content/themes/theme-name/test.php // this works
/var/www/vhosts/domain/wordpress/ ->(symlink)-> /other/path/wordpress/
/other/path/wordpress/wp-content/themes/theme-name/header.php
/var/www/vhosts/domain/include_file.php
Inhalt von: /var/www/vhosts/domain/include_file.php
$global_var="global";
print_r($GLOBALS); // if I open this file directly this prints globals WITH $global_var;
// if this file is included in header this prints all the WP stuff WITHOUT $global_var;
Inhalt von: /other/path/wordpress/wp-content/themes/theme-name/header.php require ‘/path/to/include_file.php’;
print $global_var; // this prints 'global' as expected
function test()
{
global $global_var;
print $global_var; // this is NULL
}
test();
print_r($GLOBALS); // this prints all the WP stuff WITHOUT $global_var in it
globals sind schlechte Praxis, verwenden Sie es nicht
– Leise
27. April 2010 um 11:44 Uhr
Ich muss es für eine Funktion verwenden, die als Autoloader fungiert und ihre Parameter automatisch erhält. global war der einfachste Weg, Daten einzugeben.
– Brayn
27. April 2010 um 12:06 Uhr