flyntwp / flynt-core
Flynt 核心插件提供一个小型公共接口,结合几个 WordPress 钩子,以实现 Flynt 框架的主要原则。
Requires
- composer/installers: ~1.0
Requires (Dev)
- brain/monkey: 1.*
- phpunit/phpunit: ^5.6
- squizlabs/php_codesniffer: ~2.0
This package is auto-updated.
Last update: 2020-08-15 17:48:55 UTC
README
Flynt 框架的核心构建块。
Flynt 核心WordPress插件提供一个小型公共接口,结合几个WordPress钩子,以实现Flynt 框架的主要原则。
⚠️ 已弃用。此存储库不再处于积极开发状态。请使用新的 Flynt 存储库获取 Flynt 的最新版本。 ⚠️
目录
背景
此插件本质上是一个HTML生成器,具有两个关键步骤
- 给定最小配置,Flynt 核心插件创建一个如何构建网站的分层计划(即 构建计划)。
- 构建计划被解析并渲染成HTML。
传递给插件的所有配置代表一个单个组件。此配置还可以包含额外的、嵌套的组件配置,这些配置包含在 "区域" 内。
安装
通过 composer 安装,运行
composer require flyntwp/flynt-core
在WordPress后端激活插件,您就可以开始使用了。
使用
Hello World
要查看使用Flynt Core的最简单方法,请将以下代码添加到您的主题的functions.php
$componentManager = Flynt\ComponentManager::getInstance(); $componentManager->registerComponent('HelloWorld'); add_filter('Flynt/renderComponent?name=HelloWorld', function () { return 'Hello, world!'; });
这定义了一个新的组件('HelloWorld'),当渲染时,将输出文本 'Hello, world!'。
要渲染组件,请将以下代码添加到您的主题的index.php
Flynt\echoHtmlFromConfig([ 'name' => 'HelloWorld' ]);
初始化默认设置
我们建议初始化插件的默认设置。通过将以下行代码添加到您的主题的functions.php
来实现此操作
Flynt\initDefaults();
这将
- 实现组件结构。
- 加载组件脚本。
- 启用PHP文件渲染。
这还添加了以下钩子
// Set the config path to './config'. add_filter('Flynt/configPath', ['Flynt\Defaults', 'setConfigPath'], 999, 2); // Parse `.json` config files. add_filter('Flynt/configFileLoader', ['Flynt\Defaults', 'loadConfigFile'], 999, 3); // Set the component path to `./Components`. add_filter('Flynt/componentPath', ['Flynt\Defaults', 'setComponentPath'], 999, 2); // Load ./Components/{$componentName}/functions.php from every registered component. add_action('Flynt/registerComponent', ['Flynt\Defaults', 'loadFunctionsFile']); // Render `./Components/{$componentName}/index.php` and make view helper functions `$data` and `$area` available (see explanation below). add_filter('Flynt/renderComponent', ['Flynt\Defaults', 'renderComponent'], 999, 4);
通过在上面的 'Flynt/renderComponent' 过滤器中添加,您现在可以在模板文件中使用以下辅助函数
$data
用于在视图模板中访问组件的数据。$area
用于将区域的组件HTML包含到组件模板本身中。
维护者
此项目由bleech维护。
负责此存储库的主要人员是
贡献
要贡献力量,请使用GitHub 问题跟踪。接受拉取请求。请花一点时间阅读贡献指南和行为准则。
如果编辑README,请遵循标准README规范。
许可证
MIT © bleech