我在WordPress页面上包含一个PHP文件,如下所示:[include filepath='/my_file.php']
我改变的functions.php
部分使其成为可能:
function include_file($atts) {
extract(shortcode_atts(array('filepath' => NULL), $atts));
if ($filepath!='NULL' && file_exists( trailingslashit( get_stylesheet_directory() ) . $filepath)){
ob_start();
include(get_stylesheet_directory() . '/' . $filepath);
$content = ob_get_clean();
return $content;
}
}
但是,我希望能够使用include发送变量。这是不可能的:[include filepath='/my_file.php?var=1']
,但也许你明白了。
现在,我创建了许多不同的.php文件,其中包含变量,并将它们包含在内:
[include filepath='/my_file1.php'][include filepath='/my_file2.php']
这真的很烦人,如果我在原来的php中改变一些东西,那么每一个都必须改变。有没有更好的办法? :)
答案 0 :(得分:1)
您可以在include语句之前定义变量,并且该变量对您所包含的文件可见。
简单示例(我想将$foo
传递到我的文件中):
inc.php:
echo "inside inc.php '" . $foo . "' << ...\n";
test.php的:
function hello()
{
$foo = 9999;
include('inc.php');
}
hello();
将输出:
# php test.php
inside inc.php '9999' << ...
希望有所帮助。