lin3s / template-selector
为页面动态声明模板使用添加一个字段
v1.1.0
2016-05-11 12:25 UTC
This package is not auto-updated.
Last update: 2024-09-11 23:14:45 UTC
README
为页面动态声明模板使用添加一个字段
已弃用:包含在 WPFoundation 1.6.0 中
从1.6.0版本开始,WPFoundation默认包含此功能。您只需要扩展抽象类 LIN3S\WPFoundation\Configuration\Theme\Theme
来使其工作。
为什么?
LIN3S 的 WPRouting 是一个非常健壮的解决方案,用于以 Symfony 的方式管理 Wordpress 路由系统。我们提出了这个解决方案,因为我们正在走向 MVC 架构,因为许多 PHP 文件散布在我们的模板根目录中,存在一些无结构的代码。
这样,我们现在能够将 Wordpress 使用的路由与我们的控制器中的操作相匹配,让我们能够为即将到来的开发者保持更简单、更直观的主题文件夹结构。
当我们开始使用 WP-Routing 插件时,我们遇到了一些问题,在主题根目录中创建一个 PHP 文件仅仅为了添加一个注释是没有意义的。因此,我们提出了这个替代方案,以避免使用注释来声明新的页面模板。
使用此插件,您现在可以使用钩子添加您自定义的页面模板,并将默认模板选择器项替换为您程序化声明的模板。
安装
推荐和最合适的方式是通过 Composer 进行安装。请确保该工具已安装在您的系统中,并执行以下命令
$ composer require lin3s/template-selector
请记住,模板选择器是一个 Wordpress 插件 因此,它们可以很容易地使用 Composer 自定义位置路径(更多信息请参阅 这里):
"extra": { "installer-paths": { "src/plugins/{$name}/": ["type:wordpress-plugin"], "src/themes/{$name}/": ["type:wordpress-theme"], "src/mu-plugins/{$name}/": ["type:wordpress-muplugin"] } }
用法
要声明模板,只需将以下钩子添加到您的 WordPress 主题中。
add_filter('template_selector_available', [$this, 'templates']); public function templates($templates) { return array_merge($templates, [ 'template-slug' => 'Template name shown in admin', 'another-template' => 'Another template' ]); }