Здесь есть проблема с областью применения переменных в функции.По сути, у вас есть файл, скажем, index.php
, в который вы включаете functions.php
из некоторого другого каталога.В этом functions.php
вы определяете две переменные в области действия функции, то есть переменные видны только внутри функции.Кроме того, эта функция включает файл fruits.php
.
Поскольку fruits.php
технически включен в *1007*, он ищет переменные $var1
и $var2
в index.php
, и они не имеютбыли определены там, потому что они были определены в рамках функции.В основном он ищет переменные, которые он не может видеть.
Вот два способа решения этой проблемы:
Метод 1:
Измените функцию наследующее.
function my_function(){
global $var1 = 'apple';
global $var2 = 'orange';
include get_bloginfo('stylesheet_directory').'/lib/fruits.php';
}
Таким образом, вы заставляете переменные быть не видимыми внутри функции, но быть глобальными или, другими словами, быть видимыми во всем файле.
Метод 2:
Определение переменных вне функции.
$var1 = 'apple';
$var2 = 'orange';
function my_function(){
include get_bloginfo('stylesheet_directory').'/lib/fruits.php';
}
Для получения дополнительной информации о области видимости переменной, вы можете перейти сюда http://php.net/manual/en/language.variables.scope.php
Надеюсь, это поможет.