This plugin adds a different Gutenberg blocks in the Gutenberg editor of your WordPress dashboard.
- One Stop shop for learning Gutenberg
- Gutenbeg Blogs and Video Tutorial Links
- Gutenberg Example Plugins.
-
Download the zipped plugin. Unzip the plugin.
-
Navigate to the Plugins > Add new screen in your WordPress administrative dashboard.
-
Click Add New at the top of the page.
-
Click Upload Plugin at the top of the page.
-
Click Choose File, then find and Upload the downloaded renamed zip file.
-
After the plugin finishes installing, click Activate.
or, Go to your plugin directory from terminal and Clone this repo in wp-content/plugins directory
git clone https://github.com/imranhsayed/gutenberg-workshop
And then activate it from Plugins screen in your WordPress administrative dashboard. -
That's it!
- This plugin uses @wordpress/scripts which installs and sets up webpack and babel config out of the box
- The
@wordpress/scripts
is installed in the root of the project. This is one single plugin that registers many blocks. - By default
@wordpress/package
usessrc/index.js
as entry point andbuild/index.js
- However we have also created custom scripts by overriding the defaults.
- Example
npm run build:dynamic-block
will use thedynamic-block/assets/js/block.js
as entry point and output it todynamic-block/build/main.js
- Each directory like
dynamic-block
register their own block. Only the bundling happens from the root.
-assets
-css
-js
-block.js
-build
-main.js
-inc
-block-templates
-class-register-block.php
-helpers
-custom-functions.php
-index.php
build:dynamic-block
: will use thedynamic-block/assets/js/block.js
as entry point and output it todynamic-block/build/main.js
for productionbuild:dynamic-block-watch
: will use thedynamic-block/assets/js/block.js
as entry point and output it todynamic-block/build/main.js
in watch mode for development
Similarly Commands for creating bundle file ( JavasScript file ) for other blocks
-
build:dynamic-block-ssr
creates bundle file for dynamic-block-ssr block -
build:dynamic-block-ssr-watch
creates bundle file for dynamic-block-ssr block in watch mode. -
build:custom-category
creates bundle file for custom-category block -
build:custom-category-watch
creates bundle file for custom-category block in watch mode.
- The plugin uses ReactJS & ESNext for creating custom gutenberg block, along with PHP's OOP concept
- It uses Webpack to bundle all of its dependencies into one file index.js
- Has separate stylesheet for front-end & editor.
-
custom-category Creates a custom catageory
GW Custom Blocks
and registers a block under the same category. -
dynamic-block Creates a dynamic block
Latest Posts
, that renders content as saved from the edit function in editor. The content that is returned byrender_callback()
is displayed on the front end. Here the editor content and front content can be different if you return different content fromedit()
in block.js andrender_callback()
in php file. -
dynamic-block-ssr Creates a dynamic block and returns the same content both in editor and front end, what is returned by
render_callback()
, using<ServerSideRender>
. The data that you pass in attributes of<ServerSideRender attributes={{ name: 'Imran' }}>
will be available inrender_callback( $attributes )
in php. You must define its type in theregister_block_type()
- Introduction to Gutenberg
- Create Gutenberg Block in 3 Steps
- Custom Gutenberg Block using @wordpress/scripts
- @wordpress/scripts package features
- Attributes and Components | State
- Go to WordPress Dashboard > Posts/Pages > Add New > Add block ( + icon ) > Layout Elements > Contact Card
- Now you can add your picture, name, subtitle, description, twitter link, facebook link and email.
- When you publish the post you can see this custom contact card block as a part of your post/page on dashboard as well as on front end.
- This gutenberg block is reusable so you can use it as many times as you want on a post or page to share your contact details.