orditeck/sage10-acf-wp-blocks

为Sage 10生成ACF Gutenberg块的Composer库。

1.1 2020-01-13 14:47 UTC

This package is auto-updated.

Last update: 2024-09-14 01:35:34 UTC


README

只需将模板添加到Sage 10主题中即可生成ACF Gutenberg块。

这是MWDelaney/sage-acf-wp-blocks的分支。

安装

在基于Sage 10的主题目录中运行以下命令

composer require "orditeck/sage10-acf-wp-blocks"

创建块

将blade模板添加到views/blocks,这些模板获取并使用ACF数据。每个模板都需要一个包含一些数据的注释块

{{--
  Title:
  Slug:
  Description:
  Category:
  Icon:
  Keywords:
  Mode:
  Align:
  PostTypes:
  SupportsAlign:
  SupportsMode:
  SupportsMultiple:
--}}

示例块模板

{{--
  Title: Testimonial
  Slug: testimonial
  Description: Customer testimonial
  Category: formatting
  Icon: admin-comments
  Keywords: testimonial quote
  Mode: edit
  Align: left
  PostTypes: page post
  SupportsAlign: left right
  SupportsMode: false
  SupportsMultiple: false
--}}

<blockquote data-{{ $block['id'] }} class="{{ $block['classes'] }}">
    <p>{{ get_field('testimonial') }}</p>
    <cite>
      <span>{{ get_field('author') }}</span>
    </cite>
</blockquote>

<style type="text/css">
  [data-{{$block['id']}}] {
    background: {{ get_field('background_color') }};
    color: {{ get_field('text_color') }};
  }
</style>

数据选项

文件头中的选项映射到acf_register_block_type函数中的选项。

创建ACF字段

一旦创建了块,您就可以使用WordPress中的标准自定义字段界面将ACF字段分配给它。我建议使用orditeck/sage10-advanced-custom-fields将您的ACF字段与Sage一起进行版本控制。

过滤块数据

可以通过'sage/blocks/[block-name]/data'过滤器更改块数据。例如,如果您的块模板名为my-block.blade.php,您可以通过这种方式更改数据

add_filter('sage/blocks/my-block/data', function ($block) { // Do your thing here. });