如何使用GET_TEMPLATE_PART传递变量?

时间:2014-10-07 作者:alex

我正在开发一个自定义主题,我喜欢将一些变量传递给选定的文件。我正在从函数调用视图文件。php。

$var1 = ;
$var2 = ;
etc
include_once(\'form-views/view-profile.php\');//works

//get_template_part(\'includes/form-views/view\',\'profile\');//doesn\'t work
现在有了include,它就可以工作了

3 个回复
SO网友:Rarst

这本质上是范围可见性问题。include 将代码引入当前作用域,函数调用创建新的封闭作用域。在里面get_template_part() 只有某些WordPress全局语言可用load_template() 打电话进去。

虽然基本答案是将变量声明为全局变量,但您可能需要稍微考虑一下您的总体架构—这通常不是一个好的登录代码。

SO网友:giraff

在这些情况下,我通常使用:

include(locate_template(\'includes/form-views/view-profile\'));
通过这种方式,子主题可以覆盖文件。

SO网友:Ankit

WordPress 5.5允许传递$参数以获取\\u template\\u部分。除此函数外,还有一些模板函数集,现在可以接受参数。

get_header
get_footer
get_sidebar
get_template_part_{$slug}
get_template_part
有关更多详细信息,请访问:https://make.wordpress.org/core/2020/07/17/passing-arguments-to-template-files-in-wordpress-5-5/

结束