您好!欢迎来到黑域吧资源网!本站资源24小时自动发货,请放心选购,一次付费,终身下载,售后请联系客服!

WordPress 5.5+ 可将参数传递给模板文件

作者 : 黑域吧 本文共1088个字,预计阅读时间需要3分钟 发布时间: 2020-07-19 共722人阅读

多年来,希望将数据传递模板文件的主题开发人员不得不使用不太理想的解决方法。这包括使用全局变量、 set_query_var()include( locate_template() ) 模型或自己版本的  get_template_part()等等。

从WordPress 5.5开始  ,模板加载功能将允许使用$args 参数将其他参数传递给匹配的模板文件。

受影响的函数

  1. get_header()
  2. get_footer()
  3. get_sidebar()
  4. get_template_part()
  5. locate_template()
  6. 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. 分享目的仅供大家学习和交流,请不要用于商业用途!QQ群: 10563080
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请点击右下方联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码请在"下载框架提示方寻找",如遇到无法解压的请联系管理员!
黑域吧资源网 » WordPress 5.5+ 可将参数传递给模板文件

发表评论

售后服务:

  • 售后服务范围 1、商业模板使用范围内问题免费咨询
    2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
    3、单价超过200元的模板免费一次安装,需提供服务器信息。
    付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
    2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
    3、服务器环境配置(一般 ¥50-300)
    4、网站中毒处理(需额外付费,500元/次/质保三个月)
    售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
    免责声明 本站所提供的源码等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 332547532@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系作者
开通SVIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡