SlideShare a Scribd company logo
Jonathan Bossenger
Let’s Code
Learn.WordPress.org
Developing Blocks without React! - Part 2
2
👋🏽
Welcome!
As you join, please make sure you have your local
development environment ready:
• A local WordPress installation
• A code editor like VSCode or Sublime
• The part 1 block code -
https://github.com/jonathanbossenger/wp-
learn-javascript/releases/download/0.0.2/wp-
learn-javascript.0.0.2.zip
Then, let everyone know in the chat where you’re
joining us from…
Hello!
○ My name is Jonathan Bossenger
○ From Cape Town, South Africa
○ Ex-developer turned code instructor
○ Sponsored contributor at Automattic
○ @jon_bossenger in Twitter
Learn.WordPress.org
Let's code!
Developing Blocks
without React!
Jonathan Bossenger
Announcements
○ Welcome!
○ We’ll be presenting in focus mode, but please consider enabling your video.
○ You are welcome to ask questions.
○ You are welcome to post questions in the chat, or unmute to ask questions.
Announcements
○ Please consider taking the Learn WordPress Learner Survey
• https://learn.wordpress.org/individual-learner-survey/
○ Make sure your local install is ready
• https://github.com/jonathanbossenger/wp-learn-
javascript/releases/download/0.0.2/wp-learn-javascript.0.0.2.zip
○ If I am going too fast, please let me know!
○ We will be posting this session to https://wordpress.tv/ afterwards
○ For more WordPress focused content please visit https://learn.wordpress.org/
Learning Outcomes
1. Review of part 1 block code
2. Cover some general developer tools/principles for block development
3. Add an attribute to the block
4. Implement the RichText component for a better user experience
5. Make it possible to edit and save the block content
Objectives 1
1. Review the current block code
2. Review developer tools, clearing the browser cache, enabling WP debugging
3. Add the string attribute to the block
4. Update the attribute with a default value
5. See how the attribute is passed to the block
6. Discuss the difference between the block’s props and blockProps
7
Objectives 2
1. Implement the RichText component allow the user to edit the block content
2. Add the onChange functionality to the element in the edit function
3. Implement the setAttributes function in the onChange to update the attribute value
4. Update the save function to use RichText and the updated attribute value
5. Some refactoring/clean up
8
9
Let’s code.
Resources
○ https://learn.wordpress.org/individual-learner-survey/
○ https://github.com/jonathanbossenger/wp-learn-javascript/releases/download/0.0.2/wp-learn-
javascript.0.0.2.zip
○ https://www.geeksforgeeks.org/browser-developer-tools/
○ https://wordpress.org/support/article/debugging-in-wordpress/
○ https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/
○ https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/introducing-attributes-and-
editable-fields/
○ https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/
Resources
○ https://developer.wordpress.org/block-editor/reference-guides/richtext/
○ https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Editable_content
○ https://developer.mozilla.org/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
○ https://developer.mozilla.org/en-US/docs/Web/API/Element/tagName
○ https://developer.mozilla.org/en-
US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
○ https://github.com/jonathanbossenger/wp-learn-javascript

More Related Content

PPTX
Developing Blocks without React - Part 2
PPTX
Developing Blocks without React - Part 2.pptx
PPTX
Developing Blocks without React - Controls.pptx
PPTX
Developing Blocks without React - Part 1
PPTX
Internationalisation in Block Themes.pptx
PPTX
Global Styles Variations in Block Themes.pptx
PPTX
Developing Blocks without React - Block Supports.pptx
PDF
Gutenberg (WidgiLabs Training Sessions)
Developing Blocks without React - Part 2
Developing Blocks without React - Part 2.pptx
Developing Blocks without React - Controls.pptx
Developing Blocks without React - Part 1
Internationalisation in Block Themes.pptx
Global Styles Variations in Block Themes.pptx
Developing Blocks without React - Block Supports.pptx
Gutenberg (WidgiLabs Training Sessions)

Similar to Developing Blocks without React - Attributes.pptx (20)

PPTX
Shortcodes vs Widgets: Which one and how?
PPTX
Creating Customizable Widgets for Unpredictable Needs
PPTX
Let's code: extending the WP REST API - modifying responses
PPTX
Introduction to Gutenberg- Imran Sayed
PPTX
WordPress Coding Standards
PPTX
Let's code: developing WordPress User Roles and Capabilities
PPTX
Using the WP REST API
PPTX
Wordpress Shortcode
PPTX
Interacting with the WP REST API
PPTX
Bitbucket Devops PPT.pptx
PPTX
WP REST API Authentication, custom fields and updating resources
PPTX
Let's code! Converting a Shortcode into a Block
PPTX
Let's code: custom content & custom capabilities
PPTX
Let's code! Diving into theme.json
PDF
Expanding XPages with Bootstrap Plugins for Ultimate Usability
PPTX
Testing plugins for PHP 8
PDF
Hands On With OpenSocial and Embedded Experiences
PPTX
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
PDF
Live Coverage at The New York Times
PDF
tut0000021-hevery
Shortcodes vs Widgets: Which one and how?
Creating Customizable Widgets for Unpredictable Needs
Let's code: extending the WP REST API - modifying responses
Introduction to Gutenberg- Imran Sayed
WordPress Coding Standards
Let's code: developing WordPress User Roles and Capabilities
Using the WP REST API
Wordpress Shortcode
Interacting with the WP REST API
Bitbucket Devops PPT.pptx
WP REST API Authentication, custom fields and updating resources
Let's code! Converting a Shortcode into a Block
Let's code: custom content & custom capabilities
Let's code! Diving into theme.json
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Testing plugins for PHP 8
Hands On With OpenSocial and Embedded Experiences
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
Live Coverage at The New York Times
tut0000021-hevery

More from Jonathan Bossenger (20)

PPTX
New WordPress Developer APIs The Interactivity API
PPTX
The WordPress HTML API
PPTX
The WordPress Create Block tool
PPTX
PHP compatibility testing with PHPCompatibilityWP
PPTX
Common WordPress APIs_ Settings API
PPTX
Common WordPress APIs - Options API
PPTX
Common WordPress APIs_ HTTP API.pptx
PPTX
Common WordPress APIs: Metadata
PPTX
What’s new for developers_ (August 2023).pptx
PPTX
Testing your plugins for PHP version compatibility
PPTX
Common WordPress APIs_ Global Variables
PPTX
Common WordPress APIs_ Internationalization
PPTX
Testing WordPress 6.3 - Developer edition
PPTX
Common WordPress APIs: Responsive Images
PPTX
Common WordPress APIs - Dashboard Widgets
PPTX
Custom Tables in WordPress
PPTX
The WordPress Database
PPTX
Managing a WordPress Multisite Network
PPTX
Debugging in WordPress
PPTX
Introduction to WordPress Multisite Networks
New WordPress Developer APIs The Interactivity API
The WordPress HTML API
The WordPress Create Block tool
PHP compatibility testing with PHPCompatibilityWP
Common WordPress APIs_ Settings API
Common WordPress APIs - Options API
Common WordPress APIs_ HTTP API.pptx
Common WordPress APIs: Metadata
What’s new for developers_ (August 2023).pptx
Testing your plugins for PHP version compatibility
Common WordPress APIs_ Global Variables
Common WordPress APIs_ Internationalization
Testing WordPress 6.3 - Developer edition
Common WordPress APIs: Responsive Images
Common WordPress APIs - Dashboard Widgets
Custom Tables in WordPress
The WordPress Database
Managing a WordPress Multisite Network
Debugging in WordPress
Introduction to WordPress Multisite Networks

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
KodekX | Application Modernization Development
PDF
Encapsulation theory and applications.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
A Presentation on Artificial Intelligence
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Big Data Technologies - Introduction.pptx
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Weekly Chronicles - August'25 Week I
Network Security Unit 5.pdf for BCA BBA.
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
KodekX | Application Modernization Development
Encapsulation theory and applications.pdf
Encapsulation_ Review paper, used for researhc scholars
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Per capita expenditure prediction using model stacking based on satellite ima...
Digital-Transformation-Roadmap-for-Companies.pptx
Empathic Computing: Creating Shared Understanding
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Monthly Chronicles - July 2025
A Presentation on Artificial Intelligence
Agricultural_Statistics_at_a_Glance_2022_0.pdf
20250228 LYD VKU AI Blended-Learning.pptx

Developing Blocks without React - Attributes.pptx

  • 2. 2 👋🏽 Welcome! As you join, please make sure you have your local development environment ready: • A local WordPress installation • A code editor like VSCode or Sublime • The part 1 block code - https://github.com/jonathanbossenger/wp- learn-javascript/releases/download/0.0.2/wp- learn-javascript.0.0.2.zip Then, let everyone know in the chat where you’re joining us from… Hello! ○ My name is Jonathan Bossenger ○ From Cape Town, South Africa ○ Ex-developer turned code instructor ○ Sponsored contributor at Automattic ○ @jon_bossenger in Twitter
  • 4. Announcements ○ Welcome! ○ We’ll be presenting in focus mode, but please consider enabling your video. ○ You are welcome to ask questions. ○ You are welcome to post questions in the chat, or unmute to ask questions.
  • 5. Announcements ○ Please consider taking the Learn WordPress Learner Survey • https://learn.wordpress.org/individual-learner-survey/ ○ Make sure your local install is ready • https://github.com/jonathanbossenger/wp-learn- javascript/releases/download/0.0.2/wp-learn-javascript.0.0.2.zip ○ If I am going too fast, please let me know! ○ We will be posting this session to https://wordpress.tv/ afterwards ○ For more WordPress focused content please visit https://learn.wordpress.org/
  • 6. Learning Outcomes 1. Review of part 1 block code 2. Cover some general developer tools/principles for block development 3. Add an attribute to the block 4. Implement the RichText component for a better user experience 5. Make it possible to edit and save the block content
  • 7. Objectives 1 1. Review the current block code 2. Review developer tools, clearing the browser cache, enabling WP debugging 3. Add the string attribute to the block 4. Update the attribute with a default value 5. See how the attribute is passed to the block 6. Discuss the difference between the block’s props and blockProps 7
  • 8. Objectives 2 1. Implement the RichText component allow the user to edit the block content 2. Add the onChange functionality to the element in the edit function 3. Implement the setAttributes function in the onChange to update the attribute value 4. Update the save function to use RichText and the updated attribute value 5. Some refactoring/clean up 8
  • 10. Resources ○ https://learn.wordpress.org/individual-learner-survey/ ○ https://github.com/jonathanbossenger/wp-learn-javascript/releases/download/0.0.2/wp-learn- javascript.0.0.2.zip ○ https://www.geeksforgeeks.org/browser-developer-tools/ ○ https://wordpress.org/support/article/debugging-in-wordpress/ ○ https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/ ○ https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/introducing-attributes-and- editable-fields/ ○ https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/
  • 11. Resources ○ https://developer.wordpress.org/block-editor/reference-guides/richtext/ ○ https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Editable_content ○ https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign ○ https://developer.mozilla.org/en-US/docs/Web/API/Element/tagName ○ https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment ○ https://github.com/jonathanbossenger/wp-learn-javascript

Editor's Notes

  • #2: TITLE SLIDE: Make a copy of this presentation to your Google Drive, and edit to replace with your details.