rareloop / pebble-acf-blocks
此包的最新版本(dev-master)没有可用的许可证信息。
dev-master
2020-04-28 15:50 UTC
Requires
- rareloop/lumberjack-primer: ^1.4.0
Requires (Dev)
- brain/monkey: ^2.0.2
- codedungeon/phpunit-result-printer: ^0.4.4
- mockery/mockery: ^1.0.0
- phpunit/phpunit: ^6.0
- satooshi/php-coveralls: ^1.0
- squizlabs/php_codesniffer: ^3.2
This package is auto-updated.
Last update: 2024-08-29 01:59:41 UTC
README
此包提供了一种创建使用 Twig 模板并同时与 Lumberjack 和 Primer 集成的 ACF Blocks 的方法。
安装
composer require rareloop/pebble-acf-blocks
安装后,请在 config/app.php 中注册 Service Provider
'providers' => [ ... Rareloop\Lumberjack\AcfBlocks\AcfBlocksProvider::class, ... ],
将示例 config/acfblocks.php
文件复制到您的主题目录中。
用法
要创建一个块,首先创建 AcfBlock
的子类。这应该位于您的 Primer 组件相同的文件夹中,例如 blocks/my-block
。类的名称也应为文件夹名称的大驼峰形式,在我们的例子中为 MyBlock
。
注意:Pebble 将命名空间 \Patterns
映射到目录 my-theme/resources/patterns
<?php namespace Patterns\Blocks\MyBlock; use Rareloop\Lumberjack\AcfBlocks\AcfBlock; class MyBlock extends AcfBlock { /** * Provide the data to pass to the template * * @return array */ public function context(): array { return [ 'name' => get_field('test_field'), ]; } /** * Provide the config required to register this block * https://www.advancedcustomfields.com/resources/acf_register_block_type/ * * @return array */ public static function blockConfig(): array { return [ 'name' => 'mytestblock', 'title' => __('Test Block'), 'description' => __('A first go with a block.'), 'category' => 'formatting', 'icon' => 'admin-comments', 'keywords' => ['testimonial', 'quote'], ]; } }
blockConfig()
函数是 ACF 用于在 WordPress 中注册块的地方。有关更多配置选项,请参阅 ACF 文档。
context()
函数是您提供在 WordPress 中使用 template.twig
文件时图案数据的地方。在此函数内,所有对 get_field()
的调用都将限于当前 Gutenberg 块,就像其他 ACF 块一样。
最后一步是将类添加到您的 config/acfblocks.php
文件中
<?php return [ 'blocks' => [ \Patterns\Blocks\MyBlock\MyBlock::class, ] ];
附加参数
您可以从您的 ACF 类中访问以下附加参数
$this->content
- 块内部 HTML(空)$this->isPreview
- 块是否显示在预览中$this->postId
- 块附加到的帖子的 ID