picas / wp-template-hierarchy-everywhere
一个WordPress插件,为任何模板实现“模板层次”的概念
Requires
- php: >=5.3.3
- composer/installers: 1.0.*@dev
Requires (Dev)
- fabpot/php-cs-fixer: @stable
This package is not auto-updated.
Last update: 2024-09-14 18:53:00 UTC
README
此插件是WordPress中“模板层次”概念(针对任何模板)的实现。
它重新定义了一些在模板中经常使用的内部方法,以使用“模板层次”的概念:对于头部、尾部、侧边栏、搜索表单、子模板和资产。
用法
一些新的概念和方法
插件首先引入了一个新的概念:包含一个传递一些参数的模板的能力。这个概念只是get_template_part($slug, $name = null)
内部函数的一个增强,第三个参数是一个数组,它将在模板中加载这些变量。
get_template_part_fetch($slug, $name = null, $args = array())
实际上,这些参数是通过使用原生的extract()
PHP函数从当前环境提取的。
该插件还定义了一个获取资产URI(例如CSS或JS文件)的函数,首先在可选的子主题(如果存在)中搜索,然后回退到父主题。这允许主题开发者允许最终用户覆盖主题资产之一,而无需修改原始文件(请注意,这不同于在子主题的style.css
文件中覆盖CSS规则,在这种情况下,父主题的原始文件不会被加载)。
此新函数是
get_asset_uri($name)
模板层次在实际中的应用
插件中的智能部分是引入一个新的get_template_part_hierarchical()
函数,其结构与经典的get_template_part()
相同,并实现了模板层次的概念。
get_template_part_hierarchical($slug, $name = null, $include = true)
此函数将按照与“根模板”相同的规则搜索模板文件,并最终回退到默认的WordPress行为。
关于上面描述的包括一个模板以获取其参数的增强版本,也存在这个新函数的增强版本。
get_template_part_hierarchical_fetch($slug, $name = null, $include = true, $args = array())
模板层次别名
由于WordPress的核心不允许使用其钩子来这样做,您必须使用一些新方法来替代常见的方法。
请参阅手册以了解这些功能的一些开发细节。
安装
- 将插件文件上传到
/wp-content/plugins/wp-template-hierarchy-everywhere
目录,或直接通过WordPress插件屏幕安装插件。 - 通过WordPress中的“插件”屏幕激活插件
- 完成
您还可以将此库的独立版本嵌入到插件或主题中(内部测试将避免重复加载)。
请参阅存储库的发布以获取最新版本(master
分支可能有一些提交领先,但最新版本是最佳选择)。
注意 - 对于使用Composer的用户,该软件包注册为picas/wp-template-hierarchy-everywhere
。
开发人员注意
如您所见,我并不遵循WordPress编码规则,而是遵循PSR (http://www.php-fig.org/)。WordPress的规则真的很糟糕。
支持
如果在程序中发现错误,请使用仓库的支持面板。您可以先在现有问题中搜索,以检查您发现的错误是否已经被报告。
许可证
本程序是自由软件:您可以根据自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它,许可证版本可以是第3版,也可以是(根据您的选择)许可证的任何后续版本。
本程序的分发是出于它可能是有用的希望,但没有任何保证;甚至没有关于其商誉或特定用途适用性的暗示保证。有关详细信息,请参阅GNU通用公共许可证。
您应已随本程序收到GNU通用公共许可证的一份副本。如果没有,请参阅https://gnu.ac.cn/licenses/。
本插件是由法国巴黎“带着爱”制作的。
WP_Template_Hierarchy_Everywhere
Copyright (c) 2016, Pierre Cassat