因此,我有一個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()在我的主題中的某處,fruit.php中的echo語句顯示在屏幕上,但$ var1和$ var2的值不顯示。他們只是空白。
現在這裏是奇怪的部分。如果我移動到fruits.php同一目錄下的functions.php,並更改包括創建my_function()語句是:
include 'fruits.php';
2個變量顯示就好了。
任何想法可能會導致此問題?
僅供參考,我也嘗試定義路徑的變量fruits.php然後試圖
include $path;
無濟於事。
這應該工作。您的情況中還缺少一些其他信息。代碼將包含在你的函數中,這樣變量就可以被訪問。奇怪的是,你預先在include目錄中加入了wordpress'stylesheet_directory'這是一個URL,而不是一個文件路徑,因此它不應該被用來在PHP中包含文件。 – webbiedave 2010-10-29 06:34:05
謝謝webbiedave。你的直覺是對的。我將包含路徑改爲使用常量STYLESHEETPATH,而現在它完美地工作。雖然,似乎PHP的部分奇怪的行爲。在我原來的代碼中,它確實包含了該文件,但它不會將變量傳遞給它。爲什麼只能這樣工作呢?那麼,無論如何,我將來都會記住這一點。再次感謝。 – mjsiemer 2010-10-29 16:12:40