定制 laudo-design-agentur/sage-acf-gutenberg-blocks 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

laudo-design-agentur/sage-acf-gutenberg-blocks

Composer 安装命令:

composer require laudo-design-agentur/sage-acf-gutenberg-blocks

包简介

Create Gutenberg blocks from Sage blade templates and ACF fields.

README 文档

README

Generate ACF Gutenberg blocks just by adding templates to your Sage theme. This package is based heavily on this article by nicoprat.

Installation

Run the following in your Sage (v9 or 10) based theme directory:

composer require "laudo-design-agentur/sage-acf-gutenberg-blocks"

Creating blocks

Add blade templates to views/blocks which get and use ACF data. Each template requires a comment block with some data in it:

{{--
  Title:
  Description:
  Category:
  Icon:
  Keywords:
  Mode:
  Align:
  PostTypes:
  SupportsAlign:
  SupportsMode:
  SupportsMultiple:
  EnqueueStyle:
  EnqueueScript:
  EnqueueAssets:
  ExampleContent:
--}}

Example block template

{{--
  Title: 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
  EnqueueStyle: styles/style.css
  EnqueueScript: scripts/script.js
  EnqueueAssets: path/to/asset
  ExampleContent: {"background_color": "#000", "text_color": "#fff"}
--}}

<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>

Data Options

The options in the file header map to options in the acf_register_block_type function.

FieldDescriptionValuesNotes
TitleTitle of the block in the gutenberg editori.e. Testimonialrequired
DescriptionDescription of the block in the gutenberg editori.e. My testimonial blockoptional
CategoryCategory to store the block in. Use these values or register your own custom block categoriescommon, formatting, layout, widgets, embedrequired
IconAn icon property can be specified to make it easier to identify a block. Uses dashiconsi.e. book-altoptional
KeywordsAn array of search terms to help user discover the block while searching. Sepearate values with a space.i.e. quote mention citeoptional
ModeThe display mode for your block. auto: Preview is shown by default but changes to edit form when block is selected. preview: Preview is always shown. Edit form appears in sidebar when block is selected. edit: Edit form is always shown.auto, preview or editoptional (defaults to preview)
AlignThe default block alignment.left center right wide fulloptional (defaults to empty string)
PostTypesAn array of post types to restrict this block type to. Sepearate values with a space.i.e. post page
SupportsAlignThis property adds block controls which allow the user to change the block’s alignment. Set to true to show all alignments, false to hide the alignment toolbar. Set to an array (strings separated by spaces) of specific alignment names to customize the toolbar.(boolean) true, false
or (array) left center right wide full
optional (defaults to true)
SupportsModeThis property allows the user to toggle between edit and preview modes via a button.true or falseoptional (defaults to true)
SupportsMultipleThis property allows the block to be added multiple times.true or falseoptional (defaults to true)
SupportsInnerBlocksThis property allows the block to support the nesting of other blocks within it.true or falseoptional (defaults to false)
SupportsAlignTextThis property adds an alignment toolbar button similar to that seen when editing a paragraph of text.true or falseoptional (defaults to false)
SupportsAlignContentThis property adds an alignment toolbar button similar to that seen when editing a core "Cover block"true or falseoptional (defaults to false)
ExampleContentThis property gives the Gutenberg preview it's data.JSON Objectoptional (defaults to false)

Creating ACF fields

Once a block is created you'll be able to assign ACF fields to it using the standard Custom Fields interface in WordPress. We recommend using sage-advanced-custom-fields to keep your ACF fields in version control with Sage.

Filter block data

Block data can be altered via the 'sage/blocks/[block-name]/data' filter. For example, if your block template is called my-block.blade.php, you can alter the data this way:

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

Filter template folders

By default all your template files in views/blocks will be loaded. You can use the templates filter to add more folders if you wish. See an example below of how to add your own folders.

add_filter('sage-acf-gutenberg-blocks-templates', function ($folders) { 
    $folders[] = 'views/your-folder'; // Adds your folder
    return $folders;
});

统计信息

  • 总下载量: 707
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-05-14

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固