WordPress 5.5+ 可将参数传递给模板文件
多年来,希望将数据传递到模板文件的主题开发人员不得不使用不太理想的解决方法。这包括使用全局变量、 set_query_var()
、include( locate_template() )
模型或自己版本的 get_template_part()
等等。
从WordPress 5.5开始 ,模板加载功能将允许使用$args
参数将其他参数传递给匹配的模板文件。
受影响的函数
get_header()
get_footer()
get_sidebar()
get_template_part()
locate_template()
load_template()
为了提供适当的上下文,相关的动作挂钩也已更新为传递此新$args
参数。
get_header
get_footer
get_sidebar
get_template_part_{$slug}
get_template_part
注意: get_search_form()
从[44956]开始,已经接受并将其他参数传递给搜索表单模板。但是,该$args
参数是在与上述挂钩同时添加的。它们是:
pre_get_search_form
(行动)search_form_format
(过滤)get_search_form
(过滤)
示例
<?php
get_template_part(
'foo',
null,
array(
'class' => 'user',
'arbitrary_data' => array(
'foo' => 'baz',
'bar' => true,
),
...
)
);
在上面的示例中,可以通过本地范围的 $args
变量在模板 foo.php
内访问get_template_part()
通过$args
变量传递的其他数据。
<?php
// Example foo.php template.
// Set defaults.
$args = wp_parse_args(
$args,
array(
'class' => '',
'arbitrary_data' => array(
'foo' => 'fooval',
'bar' => false,
),
...
)
);
?>
<div class="widget <?php echo esc_html_class( $args['class'] ); ?>">
<?php echo esc_html( $args['arbitrary_data']['foo'] ); ?>
</div>
注意:使用此新功能时,任何当前包含$args
变量的模板文件都应注意。对已加载的模板文件的$args
任何修改将覆盖使用上述函数传递的所有值。
该功能请求是8年前提交的,大家都久等了,感谢开发人员的努力!
提示:
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!邮箱:(332547532@qq.com)
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请点击右下方联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码请在"下载框架提示方寻找",如遇到无法解压的请联系管理员!
黑域吧资源网 » WordPress 5.5+ 可将参数传递给模板文件
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!邮箱:(332547532@qq.com)
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请点击右下方联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码请在"下载框架提示方寻找",如遇到无法解压的请联系管理员!
黑域吧资源网 » WordPress 5.5+ 可将参数传递给模板文件