SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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
 

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

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

Kürzlich hochgeladen

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
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 

Kürzlich hochgeladen (20)

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
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 

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