Итак, у меня есть тема Wordpress.Переменные, не переносящие на включенный файл в другом каталоге
В файле functions.php, я пишу функцию, которая выглядит примерно так:
function my_function(){
$var1 = 'apple';
$var2 = 'orange';
include get_bloginfo('stylesheet_directory').'/lib/fruits.php';
}
И файл fruits.php выглядит следующим образом:
<?php
echo "My brother's favorite fruit is an $var1, but my favorite fruit is an $var2.";
?>
Когда я звоню my_function() где-то в моей теме, на экране отображается вывод echo в файле fruit.php, но значения $ var1 и $ var2 не отображаются. Они просто пустые.
Теперь вот странная часть. Если переместить fruits.php в тот же каталог, functions.php, и изменить включает заявление в my_function() к этому:
include 'fruits.php';
в 2 переменных отображении только штраф.
Любые идеи, что может вызвать эту проблему?
FYI, я стараюсь, задающая путь к fruits.php в переменной, а затем пытается
include $path;
безрезультатно.
Это должно сработать. В вашей ситуации есть какая-то дополнительная информация. Код будет включен в вашу функцию, чтобы переменные были доступны. Странно то, что вы добавляете каталог include с wordpress 'stylesheet_directory', который является URL-адресом, а не файловым путем, поэтому он не должен использоваться для включения файлов в PHP. – webbiedave
Спасибо webbiedave. Твоя догадка была прямо. Вместо этого я изменил путь include, чтобы использовать константу STYLESHEETPATH, и теперь он отлично работает. Однако похоже на странное поведение на стороне PHP. В моем исходном коде он включал файл, но он не переносил переменные на него. Почему он будет работать только наполовину? Ну, независимо от того, я буду помнить об этом в будущем. Еще раз спасибо. – mjsiemer