morningtrain / wp-blocks
一个用于加载支持 Blade 模板的 WordPress 块的包
v0.6.0
2023-09-11 09:23 UTC
Requires
- php: ^8.0
- morningtrain/php-loader: ^0.3.2
Requires (Dev)
- brain/monkey: ~2.0.0
- pestphp/pest: ^1.21
Suggests
- morningtrain/wp-view: Allows rendering Blade Views as block templates
README
一个用于轻松处理 WordPress 块的 Morningtrain 包。
📋 目录
[[TOC]]
简介
此工具是为了组织 WordPress Gutenberg 块而制作的!
此工具让您:
- 加载目录中找到的所有块
- 通过在块元数据中定义为
renderView
来渲染 Blade 视图 - 通过将
*.php
文件放置在block.json
文件旁边来加载 PHP 依赖项
入门
要开始使用,请按照以下 安装 部分中的说明安装包。
要使用此工具,请参阅 使用方法
安装
使用 composer 安装
composer require morningtrain/wp-blocks
依赖项
morningtrain/php-loader
PHP Loader 用于加载和初始化所有钩子
使用方法
加载块目录
要初始化包或从路径加载块,请使用 Blocks::setup
use Morningtrain\WP\Blocks\Blocks; // Tell Blocks where the built/compiled files are located Blocks::setup(__DIR__ . "/public/build/blocks"); // To add another directory Blocks::registerBlockDirectory(__DIR__ . "/public/build/blocks");
使用视图
要通过 Blade 视图在服务器端渲染块,请设置自定义的 renderView
属性。
您还可以有自定义的 PHP 代码依赖项。通过声明 phpScript
,所提供的脚本将与您的块注册一起加载。这在需要视图作曲家时特别有用。
注意自定义模式 URL!
{ "$schema": "https://wp.cdn.mtra.in/default/schemas/block.json", "apiVersion": 3, "name": "foo/bar", "version": "0.1.0", "title": "Bar", "textdomain": "foo", "editorScript": "file:./index.js", "editorStyle": "file:./index.css", "style": "file:./style-index.css", "renderView": "my-view", "phpScript": "file:./script.php", "viewPhpScript": [ "file:./view-script.php", "file:./view-script2.php" ], "editorPhpScript": "file:./editor-script.php" }
视图将具有以下变量:$block
、$attributes
、$content
和 $blockProps
示例
<div {!! $blockProps !!}>
<h2>{{$attributes['title']}}</h2>
<div>{!! $content !!}</div>
</div>
如果您想进行视图作曲,可以在您的块文件夹中创建一个 *.php
文件。只要它与 block.json
文件是兄弟关系,并且不命名为 *.asset.php
,则它将自动加载。
缓存
如果您的环境是 production
,则将生成包含所有块文件及其依赖项的缓存并使用它,这样服务器就不必在每次请求时都查找它们。
要清除此缓存,您可以使用 CLI 命令
wp wp-blocks deleteCacheFiles
Credits
测试
composer test
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件