Block Lab

Description

Gutenberg, the new WordPress editor, opens up a whole new world for the way we build pages, posts, and websites with WordPress. Block Lab makes it easy to harness Gutenberg and build custom blocks the way you want them to be built. Whether you want to implement a custom design, deliver unique functionality, or even remove your dependence on other plugins, Block Lab equips you with the tools you need to hit “Publish” sooner.

Features

A Familiar Experience

Work within the WordPress admin with an interface you already know.

Block Fields

Add from a growing list of available fields to your custom blocks.

Simple Templating

Let the plugin do the heavy lifting so you can use familiar WordPress development practices to build block templates.

Developer Friendly Functions

Simple to use functions, ready to render and work with the values stored through your custom block fields.

Connect with Community

Join The Lab, our free Block Lab Community on Slack. The Lab is our real-time home for sharing resources, learning, and making connections. Learn more.

Go Pro

Block Lab Pro is here, with powerful features to take your block building to the next level. Learn more.

Links

Contributing

See Contributing to Block Lab.

Screenshots

Installation

From Within WordPress

  • Visit Plugins > Add New
  • Search for “Block Lab”
  • Install the Block Lab plugin
  • Activate Block Lab from your Plugins page.

Manually

  • Clone Block Lab into a working directory with https://github.com/getblocklab/block-lab.git
  • cd into the block-lab directory, and run npm install
  • Next, build the scripts and styles with npm build
  • Move the block-lab folder to your /wp-content/plugins/ directory
  • Activate the Block Lab plugin through the Plugins menu in WordPress

FAQ

Q: Do I need to write code to use this plugin?

A: Although the plugin handles the majority of the work in building a custom block, you will need to build HTML templates to display the content of the block. You can learn how in the developer documentation.

Q: I have an idea for the plugin

A: This plugin is open source and can only be better through community contribution. The GitHub repo is here.

Q: Where can I find documentation for this plugin?

A: Here

Reviews

29. listopada 2019.
This plugin is what I always expected Gutenberg block development would be like. Thanks to Block Lab, building Gutenberg blocks is easy and straightforward.
25. rujna 2019.
This plugin made me fall in love with Gutenberg 🙂 I also greatly appreciate the developer responding to my inquires and #WPFeedback
20. rujna 2019.
Very cool plugin! This plugin makes WordPress interesting again! Perfect to give a customer a neat system and for your own clean solutions!
06. rujna 2019.
This plugin is a game changer if you want to use the Gutenberg Editor. I'd go as far as saying that this plugin is even a requirement. Before Gutenberg, Shortcodes were the way to add custom elements to the content. Blocks are their evolution in Gutenberg, with many advantages in terms as editing WYSIWYG, data handling etc. However with a big disadvantage which is that it is not easy to create a block by yourself (on top of PHP, you need to know about REST, Javascript etc). Don't judge my developer skills, but I didnt manage to set up a simple block myself. That's where Block Lab comes in. With Block Lab, creating the backend entry form is drag&drop without a single line of code. You only code the output in PHP (and CSS), and a simple block can be a one-liner. As a result, we now have approx. 10 blocks live, setting up a post is now much faster, leaner and - above all - clearer. Before using Blocks, we entered a lot of information as we wanted, even for repetitive information (e.g. an FAQ). Now we have an FAQ block that we just fill and the output always looks the same. I highly recommend this plugin to any developer or skilled wordpress user. We use the Pro version and wouldn't downgrade. Please note that you need basic PHP skills to run it.
Pročitajte sve 32 recenzije

Suradnici i Programeri

“Block Lab” is open source software. The following people have contributed to this plugin.

Contributors

“Block Lab” has been translated into 8 locales. Thank you to the translators for their contributions.

Prevedite “Block Lab” na svoj jezik.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.5.1 – 2019-11-11

This is a bugfix release, focused mostly on compatibility with WordPress 5.3.

  • Fix: Themes can now hook into the block_lab_add_blocks action from the functions.php file
  • Fix: Classic Text fields now function as expected when inside a repeater
  • Fix: Rare instances of a NaN error when duplicating fields
  • Fix: Style fixes for the Block Editor in WordPress 5.3

1.5.0 – 2019-10-30

Ready for a big release? We’re really happy to be introducing quite a number of highly requested features, including a PHP API for registering blocks with code, a new text field with lists and headings, and some neat workflow efficiencies when building your block.

  • New: There’s now a PHP API for registering blocks using code (instead of the WP Admin UI). Documentation is here for now, but more on its way soon
  • New: Classic Text control (for Block Lab Pro users)! This field is similar to Rich Text, but has a few extra options for things like lists and headings
  • New: Duplicate fields – building your block is now so much easier, with the ability to duplicate rows
  • New: Repeater Row Count function – a helper function that returns the total amount of rows in a given repeater. Documentation here
  • New: Repeater Row Index function – a helper function that returns the current row, while looping through a repeater. Documentation here
  • Tweak: We’ve removed our dependency on global variables. This is mostly a best practice thing, not user facing. More details here.
  • Tweak: We’ve refactored quite a lot about our block Loader class, to make it more robust, secure, and maintainable
  • Tweak: Loads of new unit and integration tests – these help prevent us from introducing bugs or regressions in the future
  • Fix: Bug which affected sites which had removed or renamed the admin user role
  • Fix: Empty Rich Text fields now no longer output a single </p> tag

1.4.1 – 2019-09-11

You can now add a Minimum and Maximum Rows setting to repeaters, allowing you to specify a lower and upper limit on how many repeater rows can be added.

  • New: The repeater field now includes a minimum and maximum row setting
  • Fix: Location and Width settings are now visible again when adding a new field
  • Fix: Using block_sub_field() with an image now correctly outputs the image URL instead of the ID

1.4.0 – 2019-09-04

This release applies some finishing touches to the repeater field. It also introduces a new “Field Width” feature, which lets you choose the width of the fields as seen in the Editor.

  • New: Function to reset repeater rows: reset_block_rows()
  • New: Add a “Field Width” control to blocks
  • Fix: Empty repeater rows now save and can be moved properly
  • Fix: An issue which occasionally prevented repeater rows from being deleted
  • Fix: Prevent repeated requests to validate a Pro license
  • Tweaks: Add a different admin notice for when a license validation request fails
  • Tweaks: Many new and shiny unit and integration tests, making Block Lab more solid than ever

1.3.6 – 2019-08-22

  • New: 🔁 REPEATER FIELD 🔁
  • New: Conditional Blocks, based on Post Type
  • Tweaks: Just about everything! We did a lot of refactoring in this release to make things silky smooth and über-maintainable.

1.3.5 – 2019-08-18

  • New: Block Lab will now enqueue a global stylesheet, so you can keep your common block styles in one place. Read more
  • New: Block templates can now be placed inside a sub-folder, for an even cleaner directory structure. Read more
  • Tweak: Use a textarea for specifying the default value of a textarea control.
  • Tweak: Better handling of deprecated functions.
  • Tweak: Rewrite of various functions, making developer access to common commands much simpler.
  • Fix: Child theme templates are now correctly loaded before their parent templates.
  • Fix: Autoslugs now continue to work properly after the title field loses focus.

1.3.4 – 2019-07-22

  • New: Block Lab grew to level 1.3.4. Block Lab learned Custom Categories.
  • Tweak: @phpbits used Pull Request. All right! The block_lab_get_block_attributes filter was caught!
  • Tweak: Template Loader used Harden. Template Loader‘s defense rose!
  • Tweak: Booted up a TM! It contained Unit Tests!
  • Fix: Wild Missing Filter in Inspector Controls bug appeared! Go! Bugfix!
  • Fix: Enemy Mixed Up Inspector Controls fainted! @kienstra gained 0902a06 EXP. Points!

1.3.3 – 2019-06-21

  • Fix: The previous release broke the className field, used for the Additional CSS Class setting. This fixes it.

1.3.2 – 2019-06-21

  • New: Rich Text Control (for Block Lab Pro users)!
  • New: Show Block Category in the list table
  • New: We’ve got a new block_lab_render_template hook which fires before rendering a block on the front end. Great for enqueuing JS
  • Tweak: Updated logo
  • Tweak: Prevent block field slugs from changing when you edit the field title
  • Fix: Saving your license key no longer results in an error page
  • Fix: License details screen showing the wrong information
  • Fix: Remove duplicate IDs on the edit block screen
  • Fix: Range sliders can now set a minimum value of zero
  • Fix: A console warning about unique props

1.3.1 – 2019-05-22

  • New: Support for Gutenberg’s built-in Additional CSS Class in your block template, by using the field className. Read more
  • New: The Textarea field now has an option to automatically add paragraph tags and line-breaks
  • Fix: Bug affecting blocks containing Pro fields when there’s no active Pro license

1.3.0 – 2019-04-30

Important: This update includes a backwards compatibility break related to the User field.

Read more here

  • New: A Taxonomy control type, for selecting a Category / Tag / or custom term from a dropdown menu (for Block Lab Pro users)
  • Fix: Bug with the Post control when outputting data with block_field()
  • Tweak: Update the User control to store data as an object, matching the Post control

1.2.3 – 2019-04-23

Important: This update includes a backwards compatibility break related to the Image field.
If you are using the block_value() function with an image field and externally hosted images, this update may effect you.

Read more here

  • New: A Post control type, for selecting a Post from a dropdown menu (for Block Lab Pro users)
  • New: Added the block_lab_controls filter to allow custom controls to be loaded (props @rohan2388)
  • New: The Image control now returns the image’s Post ID
  • Tweak: Travis CI support

1.2.2 – 2019-04-05

  • New: Block Editor redesign

1.2.1 – 2019-03-21

  • New: Automatic stylesheet enqueuing. Now you can create custom stylesheets for individual blocks! Read more here.
  • New: A User control type (for Block Lab Pro users)
  • Fix: Various multiselect bug fixes, allowing for empty values in the multiselect control

1.2.0 – 2019-02-27

  • New: Introducing Block Lab Pro!
  • New: A setting for the number of rows to display in a Textarea control
  • Fix: Allow negative numbers in Number and Range controls

1.1.3 – 2019-01-25

  • New: Image field

1.1.2 – 2019-01-11

  • New: Color field
  • Fix: Incorrect output for empty fields

1.1.1 – 2018-12-14

  • Fix: Undefined index error for multiselect and select fields
  • Fix: Correct values now returned for boolean fields like checkbox and toggle
  • Fix: Editor preview templates are back! Use the filename preview-{blog slug}.php
  • Fix: “Field instructions” is now a single line text, and renamed to “Help Text”
  • Fix: Slashes being added to field options
  • Fix: Allow empty value for select and number fields
  • Fix: Allow empty default values

1.1.0 – 2018-12-07

  • New: Complete revamp of the in-editor preview
  • New: Email field
  • New: URL field
  • New: Number field
  • New: block_config() and block_field_config helper functions, to retrieve your block’s configuration
  • Fix: filemtime errors
  • Fix: HTML tags were being merged together when previewed in the editor
  • Fix: Problems with quotes and dashes in a block’s title or field parameters
  • Fix: field_value() sometimes returned the wrong value
  • Fix: Incorrect values shown in the editor preview

1.0.1 – 2018-11-16

  • New: Added “Save Draft” button, so you can save Blocks-in-Progress
  • New: Better handling of the auto-slug feature, so you don’t accidentally change your block’s slug
  • New: Better expanding / contracting of the Field settings
  • New: Emoji (and special character) support! 😎
  • Fix: Resolved Fatal Error that could occur in some environments
  • Fix: Remove unused “Description” field
  • Fix: Remove duplicate star icon

1.0.0 – 2018-11-14

Rename!
* Advanced Custom Blocks is now Block Lab

Added
* New control types (Radio, Checkbox, Toggle, Select, Range)
* Block icons
* Field location – add your block fields to the inspector
* List table refinements
* Field repeater table improvements

Fixed
* All the things. Probably not all the things, but close.

0.1.2 – 2018-08-10

Added
* New properties help, default and required added to fields.
* Ability to import blocks from a {theme}/blocks/blocks.json file. Documentation still to be added.
* Gutenberg controls library updated preparing for 0.0.3.

Technical Changes
* Updated control architecture to improve development and adding adding of additional controls.
* Clean up enqueuing of scripts.

0.1 – 2018-08-03

  • Initial release.