SlideShare a Scribd company logo
1 of 28
Download to read offline
Blockity McBlock
Blocks, Oh My!
Evan Mullins
https://github.com/circlecube/evans-block-theme
Evan Mullins
WordPress Engineer at Bluehost
focused on building tools for
customers and contributing to
WordPress.
AFK, I love to travel as a digital
nomad with my wife and four
kids – we spent the last year on
a North American tour living
full-time in our truck and 43
foot camper! Pre-COVID, we also
spent two years abroad as an
international house sitting
family!
@circlecube
Overview
A look at Block concepts (in less than 10 minutes)
With the recent releases of Gutenberg and Full-Site Editing WordPress is changing at
its core to be block-centric. There are a lot of newer concepts regarding blocks that
can be overwhelming to new users and developers as well as seasoned pros. From a
high level we can see blocks are taking over, let’s dig a bit together to see what it all
means and follow the WordPress block evolution thus far.
We have core blocks, custom blocks, dynamic blocks, reusable blocks, block widgets,
block patterns, block styles, block variations, block templates, block-based themes…
etc. Let’s look at these each with some content and code examples to how to deal
with blocks.
Code examples: https://github.com/circlecube/evans-block-theme
The Vision
The Four Phases of Gutenberg
1) ☑ Easier Editing (2018) - Block editor in 5.0
2) ☑ Customization (2022) - FSE in 5.9
3) ☐ Collaboration (2023)
4) ☐ Multi-lingual (Future)
What is a block?
A block is a single entity for structuring and interacting with
content. Every paragraph, headline image or video is a block.
They are interoperable and work together to tell a story, but
are distinct and individual units. We have consistent tools
for editing managing, and controlling them.
Block Markup
The Syntax
Blocks are saved as actual HTML comments with
attributes and settings in a json format. This allows
the content to be valid html but still contain all the
flexible rich metadata the editor consumes to make it
editable in the editor and also viewable on the site.
Core Blocks
Built-in via the Gutenberg Editor
These are the familiar blocks like paragraph, image, quote and
heading as well as some layout blocks like cover blocks and
columns. These are very stable but are still being improved with
every release.
Custom Blocks
From Themes or Plugins
Basically anything beyond the core blocks are custom. This
would be any block that you build yourself and many other
blocks found in various plugins or themes.
For example, the Jetpack plugin
contains many additional custom
blocks.
https://jetpack.com/support/jetpack-blocks/
Custom Blocks
Static Blocks
Simple Content
Blocks with content are generally static blocks. They
are stored as content in the block markup.
For example, a headline or paragraph block stores the
content as an <h3> or <p> tag in the block markup.
Dynamic Blocks
Non-Static Blocks
Dynamic blocks connect to the
database to compute and render
content whereas a static block
has content that doesn’t change.
For example, a latest posts block
has dynamic content that
changes.
Block Styles
To customize styles via a class name
For alternative styles to be applied to existing blocks.
Reusable Blocks
Aren’t they all?
We can save a block (or group of
blocks) with identical content to
be used in multiple placed on a
site. For example, if you have a
blurb at the end of every blog
post, you can include it and
manage the content globally from
one place.
InnerBlocks
Nested Blocks
Blocks can be nested within other blocks at multiple (and sometimes
rather complex) levels. We interface with this parent/child relationship
via innerBlocks API. In our render function for example we’ll reference
InnerBlocks to place and render the children of the block.
Block Variations
To change attribute or inner blocks
We can set a block variation to get an initial state of a block
(including the attributes or inner blocks). These can display
both as unique blocks or in the block options via scope
property.
Block Transforms
Transform from one block type to another
For example, transforming or changing a paragraph block into a heading
block. All blocks can define what blocks they can transform into via the block
controls. The benefit to this is the content and some attributes can be
mapped to the content and attributes of the new block type.
Blocks Supports
Opt-in core features
An API that allows a block to declare support for certain
features when registering. With a custom block we can
easily incorporate features that exist on core blocks – like
anchors, color or alignment – by adding the relevant block
supports property.
Block Patterns
Explore the Pattern Directory
Predefined block layouts, available from the patterns directory found
in the pattern tab. Once inserted into content, the blocks are ready for
additional or modified content and configuration. Patterns usually
include multiple blocks and styles to achieve a certain look or pattern.
Block Template
Setting a block or post type initial state
We can set a default block state dynamically or register a
default for a whole post type. Templates can be declared in
JS or in PHP as an array of blockTypes (block name and
optional attributes). We can also nest blocks here or lock
the template via the `templateLock` property or individual
parts with the lock attribute on individual children.
Widget Blocks
Milestone Met – Since 5.8
The classic wordpress widgets were rebuilt to use the same block
system we’ve become used to with the editor. This allows users to add
widgets into post or pages as well as have access to all content blocks
in sidebars. This brought us one step closer to Full Site Editing.
Block-Based Themes
twentytwentytwo is a BBT
A theme that takes full advantage of blocks and full site editing
capabilities of WordPress 5.9, requires a theme.json and usually
includes a few templates and/or template parts.
Block Templates
Page templates for block themes
A block template is made up of a list of blocks. Any block can be
used in a template.
These are html files rather than the traditional php templates in
standard themes. Templates are designs for pages and can
include one or more template parts.
Block Template Parts
Smaller Template Pieces for block themes
Template parts are used to organize a theme in smaller
reusable structural parts. They are commonly used for a
global site header and site footer.
Both templates and template parts contain block markup to
represent blocks and block settings and content.
Block Party!
Blocks are here to stay –
understanding them deeply
will pay off,
plus they’re fun!
https://github.com/circlecube/evans-block-theme
Thank you!
https://github.com/circlecube/evans-block-theme

More Related Content

Similar to Blockity McBlock Blocks, Oh My!

Build and save your own Gutenberg Block Patterns
Build and save your own Gutenberg Block PatternsBuild and save your own Gutenberg Block Patterns
Build and save your own Gutenberg Block PatternsPlasterdog Web Design
 
Blocks & Triangles: Front-end Architecture in the Gutenberg Era
Blocks & Triangles: Front-end Architecture in the Gutenberg EraBlocks & Triangles: Front-end Architecture in the Gutenberg Era
Blocks & Triangles: Front-end Architecture in the Gutenberg EraKevin Hoffman
 
Thinking in components
Thinking in componentsThinking in components
Thinking in componentsRazvan Rosu
 
Word 2007-Reuse Text And Other Document Parts Introducing Building Blocks
Word 2007-Reuse Text And Other Document Parts Introducing Building BlocksWord 2007-Reuse Text And Other Document Parts Introducing Building Blocks
Word 2007-Reuse Text And Other Document Parts Introducing Building BlocksOklahoma Dept. Mental Health
 
WordPress block editor v0.0.0
WordPress block editor v0.0.0WordPress block editor v0.0.0
WordPress block editor v0.0.0Herb Miller
 
full-site-editing-theme-presentation.pptx
full-site-editing-theme-presentation.pptxfull-site-editing-theme-presentation.pptx
full-site-editing-theme-presentation.pptxPlasterdog Web Design
 
BEM it! Introduction to BEM
BEM it! Introduction to BEMBEM it! Introduction to BEM
BEM it! Introduction to BEMVarya Stepanova
 
Marky Markup and the Funky Bunch
Marky Markup and the Funky BunchMarky Markup and the Funky Bunch
Marky Markup and the Funky Bunchdtraft
 
C:\fakepath\buildingblock bbmanifest
C:\fakepath\buildingblock bbmanifestC:\fakepath\buildingblock bbmanifest
C:\fakepath\buildingblock bbmanifestdil12345
 
Virya Technologies - Ruth Cheesley - Getting started with K2 and Joomla!
Virya Technologies - Ruth Cheesley - Getting started with K2 and Joomla!Virya Technologies - Ruth Cheesley - Getting started with K2 and Joomla!
Virya Technologies - Ruth Cheesley - Getting started with K2 and Joomla!Ruth Cheesley
 
Overview of Using Wordpress for Web Site Design
Overview of Using Wordpress for Web Site DesignOverview of Using Wordpress for Web Site Design
Overview of Using Wordpress for Web Site DesignAmy Goodloe
 
CORNELL DRUPAL CAMP 2015: One Content Type to Rule Them All
CORNELL DRUPAL CAMP 2015: One Content Type  to Rule Them AllCORNELL DRUPAL CAMP 2015: One Content Type  to Rule Them All
CORNELL DRUPAL CAMP 2015: One Content Type to Rule Them AllWill Jackson
 
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017La Drupalera
 
Magento - Design Integration Guideline - Bysoft China
Magento - Design Integration Guideline - Bysoft ChinaMagento - Design Integration Guideline - Bysoft China
Magento - Design Integration Guideline - Bysoft ChinaBysoft Technologies
 
1. Advanced Web Designing (12th IT) (1).pdf
1. Advanced Web Designing (12th IT) (1).pdf1. Advanced Web Designing (12th IT) (1).pdf
1. Advanced Web Designing (12th IT) (1).pdfAAFREEN SHAIKH
 
FED presentation
FED presentationFED presentation
FED presentationClausDue
 

Similar to Blockity McBlock Blocks, Oh My! (20)

Build and save your own Gutenberg Block Patterns
Build and save your own Gutenberg Block PatternsBuild and save your own Gutenberg Block Patterns
Build and save your own Gutenberg Block Patterns
 
Blocks & Triangles: Front-end Architecture in the Gutenberg Era
Blocks & Triangles: Front-end Architecture in the Gutenberg EraBlocks & Triangles: Front-end Architecture in the Gutenberg Era
Blocks & Triangles: Front-end Architecture in the Gutenberg Era
 
Thinking in components
Thinking in componentsThinking in components
Thinking in components
 
Word 2007-Reuse Text And Other Document Parts Introducing Building Blocks
Word 2007-Reuse Text And Other Document Parts Introducing Building BlocksWord 2007-Reuse Text And Other Document Parts Introducing Building Blocks
Word 2007-Reuse Text And Other Document Parts Introducing Building Blocks
 
WordPress block editor v0.0.0
WordPress block editor v0.0.0WordPress block editor v0.0.0
WordPress block editor v0.0.0
 
full-site-editing-theme-presentation.pptx
full-site-editing-theme-presentation.pptxfull-site-editing-theme-presentation.pptx
full-site-editing-theme-presentation.pptx
 
BEM it! Introduction to BEM
BEM it! Introduction to BEMBEM it! Introduction to BEM
BEM it! Introduction to BEM
 
Marky Markup and the Funky Bunch
Marky Markup and the Funky BunchMarky Markup and the Funky Bunch
Marky Markup and the Funky Bunch
 
C:\fakepath\buildingblock bbmanifest
C:\fakepath\buildingblock bbmanifestC:\fakepath\buildingblock bbmanifest
C:\fakepath\buildingblock bbmanifest
 
Virya Technologies - Ruth Cheesley - Getting started with K2 and Joomla!
Virya Technologies - Ruth Cheesley - Getting started with K2 and Joomla!Virya Technologies - Ruth Cheesley - Getting started with K2 and Joomla!
Virya Technologies - Ruth Cheesley - Getting started with K2 and Joomla!
 
Overview of Using Wordpress for Web Site Design
Overview of Using Wordpress for Web Site DesignOverview of Using Wordpress for Web Site Design
Overview of Using Wordpress for Web Site Design
 
Movable Type 5.1
Movable Type 5.1Movable Type 5.1
Movable Type 5.1
 
CORNELL DRUPAL CAMP 2015: One Content Type to Rule Them All
CORNELL DRUPAL CAMP 2015: One Content Type  to Rule Them AllCORNELL DRUPAL CAMP 2015: One Content Type  to Rule Them All
CORNELL DRUPAL CAMP 2015: One Content Type to Rule Them All
 
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
 
Magento - Design Integration Guideline - Bysoft China
Magento - Design Integration Guideline - Bysoft ChinaMagento - Design Integration Guideline - Bysoft China
Magento - Design Integration Guideline - Bysoft China
 
1. Advanced Web Designing (12th IT) (1).pdf
1. Advanced Web Designing (12th IT) (1).pdf1. Advanced Web Designing (12th IT) (1).pdf
1. Advanced Web Designing (12th IT) (1).pdf
 
Cssdoc
CssdocCssdoc
Cssdoc
 
Grade 10 COMPUTER
Grade 10 COMPUTERGrade 10 COMPUTER
Grade 10 COMPUTER
 
Cocoon Blocks CocoonGT2006
Cocoon Blocks CocoonGT2006Cocoon Blocks CocoonGT2006
Cocoon Blocks CocoonGT2006
 
FED presentation
FED presentationFED presentation
FED presentation
 

More from Evan Mullins

WordCamp Atlanta - April 15 2018 - dev team workflow and processes with word...
WordCamp Atlanta -  April 15 2018 - dev team workflow and processes with word...WordCamp Atlanta -  April 15 2018 - dev team workflow and processes with word...
WordCamp Atlanta - April 15 2018 - dev team workflow and processes with word...Evan Mullins
 
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentWordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentEvan Mullins
 
WordCamp Wilmington 2017 WP-API Why?
WordCamp Wilmington 2017   WP-API Why?WordCamp Wilmington 2017   WP-API Why?
WordCamp Wilmington 2017 WP-API Why?Evan Mullins
 
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!Evan Mullins
 
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 Evan Mullins
 
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!Evan Mullins
 
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!Evan Mullins
 
Modifying your themes design - Learning CSS - Atlanta WordPress users group
Modifying your themes design - Learning CSS - Atlanta WordPress users groupModifying your themes design - Learning CSS - Atlanta WordPress users group
Modifying your themes design - Learning CSS - Atlanta WordPress users groupEvan Mullins
 
Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...
Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...
Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...Evan Mullins
 
Firstborn child theme word camp presentation - atlanta 2013
Firstborn child theme   word camp presentation - atlanta 2013Firstborn child theme   word camp presentation - atlanta 2013
Firstborn child theme word camp presentation - atlanta 2013Evan Mullins
 
From PSD to WP Theme
From PSD to WP ThemeFrom PSD to WP Theme
From PSD to WP ThemeEvan Mullins
 

More from Evan Mullins (11)

WordCamp Atlanta - April 15 2018 - dev team workflow and processes with word...
WordCamp Atlanta -  April 15 2018 - dev team workflow and processes with word...WordCamp Atlanta -  April 15 2018 - dev team workflow and processes with word...
WordCamp Atlanta - April 15 2018 - dev team workflow and processes with word...
 
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentWordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
 
WordCamp Wilmington 2017 WP-API Why?
WordCamp Wilmington 2017   WP-API Why?WordCamp Wilmington 2017   WP-API Why?
WordCamp Wilmington 2017 WP-API Why?
 
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
 
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
 
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
 
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
 
Modifying your themes design - Learning CSS - Atlanta WordPress users group
Modifying your themes design - Learning CSS - Atlanta WordPress users groupModifying your themes design - Learning CSS - Atlanta WordPress users group
Modifying your themes design - Learning CSS - Atlanta WordPress users group
 
Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...
Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...
Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...
 
Firstborn child theme word camp presentation - atlanta 2013
Firstborn child theme   word camp presentation - atlanta 2013Firstborn child theme   word camp presentation - atlanta 2013
Firstborn child theme word camp presentation - atlanta 2013
 
From PSD to WP Theme
From PSD to WP ThemeFrom PSD to WP Theme
From PSD to WP Theme
 

Recently uploaded

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Recently uploaded (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Blockity McBlock Blocks, Oh My!

  • 1. Blockity McBlock Blocks, Oh My! Evan Mullins https://github.com/circlecube/evans-block-theme
  • 2. Evan Mullins WordPress Engineer at Bluehost focused on building tools for customers and contributing to WordPress. AFK, I love to travel as a digital nomad with my wife and four kids – we spent the last year on a North American tour living full-time in our truck and 43 foot camper! Pre-COVID, we also spent two years abroad as an international house sitting family! @circlecube
  • 3. Overview A look at Block concepts (in less than 10 minutes) With the recent releases of Gutenberg and Full-Site Editing WordPress is changing at its core to be block-centric. There are a lot of newer concepts regarding blocks that can be overwhelming to new users and developers as well as seasoned pros. From a high level we can see blocks are taking over, let’s dig a bit together to see what it all means and follow the WordPress block evolution thus far. We have core blocks, custom blocks, dynamic blocks, reusable blocks, block widgets, block patterns, block styles, block variations, block templates, block-based themes… etc. Let’s look at these each with some content and code examples to how to deal with blocks. Code examples: https://github.com/circlecube/evans-block-theme
  • 4. The Vision The Four Phases of Gutenberg 1) ☑ Easier Editing (2018) - Block editor in 5.0 2) ☑ Customization (2022) - FSE in 5.9 3) ☐ Collaboration (2023) 4) ☐ Multi-lingual (Future)
  • 5. What is a block? A block is a single entity for structuring and interacting with content. Every paragraph, headline image or video is a block. They are interoperable and work together to tell a story, but are distinct and individual units. We have consistent tools for editing managing, and controlling them.
  • 6. Block Markup The Syntax Blocks are saved as actual HTML comments with attributes and settings in a json format. This allows the content to be valid html but still contain all the flexible rich metadata the editor consumes to make it editable in the editor and also viewable on the site.
  • 7.
  • 8. Core Blocks Built-in via the Gutenberg Editor These are the familiar blocks like paragraph, image, quote and heading as well as some layout blocks like cover blocks and columns. These are very stable but are still being improved with every release.
  • 9. Custom Blocks From Themes or Plugins Basically anything beyond the core blocks are custom. This would be any block that you build yourself and many other blocks found in various plugins or themes.
  • 10. For example, the Jetpack plugin contains many additional custom blocks. https://jetpack.com/support/jetpack-blocks/ Custom Blocks
  • 11. Static Blocks Simple Content Blocks with content are generally static blocks. They are stored as content in the block markup. For example, a headline or paragraph block stores the content as an <h3> or <p> tag in the block markup.
  • 12. Dynamic Blocks Non-Static Blocks Dynamic blocks connect to the database to compute and render content whereas a static block has content that doesn’t change. For example, a latest posts block has dynamic content that changes.
  • 13. Block Styles To customize styles via a class name For alternative styles to be applied to existing blocks.
  • 14. Reusable Blocks Aren’t they all? We can save a block (or group of blocks) with identical content to be used in multiple placed on a site. For example, if you have a blurb at the end of every blog post, you can include it and manage the content globally from one place.
  • 15. InnerBlocks Nested Blocks Blocks can be nested within other blocks at multiple (and sometimes rather complex) levels. We interface with this parent/child relationship via innerBlocks API. In our render function for example we’ll reference InnerBlocks to place and render the children of the block.
  • 16. Block Variations To change attribute or inner blocks We can set a block variation to get an initial state of a block (including the attributes or inner blocks). These can display both as unique blocks or in the block options via scope property.
  • 17. Block Transforms Transform from one block type to another For example, transforming or changing a paragraph block into a heading block. All blocks can define what blocks they can transform into via the block controls. The benefit to this is the content and some attributes can be mapped to the content and attributes of the new block type.
  • 18. Blocks Supports Opt-in core features An API that allows a block to declare support for certain features when registering. With a custom block we can easily incorporate features that exist on core blocks – like anchors, color or alignment – by adding the relevant block supports property.
  • 19. Block Patterns Explore the Pattern Directory Predefined block layouts, available from the patterns directory found in the pattern tab. Once inserted into content, the blocks are ready for additional or modified content and configuration. Patterns usually include multiple blocks and styles to achieve a certain look or pattern.
  • 20.
  • 21. Block Template Setting a block or post type initial state We can set a default block state dynamically or register a default for a whole post type. Templates can be declared in JS or in PHP as an array of blockTypes (block name and optional attributes). We can also nest blocks here or lock the template via the `templateLock` property or individual parts with the lock attribute on individual children.
  • 22. Widget Blocks Milestone Met – Since 5.8 The classic wordpress widgets were rebuilt to use the same block system we’ve become used to with the editor. This allows users to add widgets into post or pages as well as have access to all content blocks in sidebars. This brought us one step closer to Full Site Editing.
  • 23. Block-Based Themes twentytwentytwo is a BBT A theme that takes full advantage of blocks and full site editing capabilities of WordPress 5.9, requires a theme.json and usually includes a few templates and/or template parts.
  • 24. Block Templates Page templates for block themes A block template is made up of a list of blocks. Any block can be used in a template. These are html files rather than the traditional php templates in standard themes. Templates are designs for pages and can include one or more template parts.
  • 25. Block Template Parts Smaller Template Pieces for block themes Template parts are used to organize a theme in smaller reusable structural parts. They are commonly used for a global site header and site footer. Both templates and template parts contain block markup to represent blocks and block settings and content.
  • 26.
  • 27. Block Party! Blocks are here to stay – understanding them deeply will pay off, plus they’re fun! https://github.com/circlecube/evans-block-theme