Skip to content

wordpress-gcb/gcb-fields-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wordpress-gcb/fields (PHP)

Turn a GCB block.fields.json controls schema into a WordPress block attribute schema, in PHP, with no dependency on the GCB plugin. The server-side companion to @wordpress-gcb/fields (npm).

Part of GCB — Gutenberg Control Blocks.

Install

composer require wordpress-gcb/fields

Usage

use GCBFields\Schema;

$controls = json_decode(
    file_get_contents( __DIR__ . '/blocks/hero/block.fields.json' ),
    true
)['controls'];

register_block_type( __DIR__ . '/blocks/hero', [
    'attributes' => Schema::attributes( $controls ),
] );

Schema::attributes() returns the { type, default } map WordPress expects — structural controls (group/panel/tools-panel) are skipped, control types map to the right attribute type, and each gets a sensible default (overridable per control via attributeType / default).

API

  • Schema::attributes(array $controls): array — full controls → attributes map.
  • Schema::attribute_type(string $controlType): string — one control type → string|number|boolean|array|object.
  • Schema::default_value(string $attributeType): mixed — the empty default for a type.

Links

License

GPL-2.0-or-later

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages