tribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:6;a:6:{s:4:\"data\";s:69:\"\n		\n		\n		\n		\n		\n				\n		\n		\n		\n		\n		\n\n					\n										\n					\n		\n		\n			\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"WordPress 6.8 Release Candidate 2\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:69:\"https://wordpress.org/news/2025/04/wordpress-6-8-release-candidate-2/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 01 Apr 2025 15:53:20 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:5:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"6.8\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:3;a:5:{s:4:\"data\";s:11:\"development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:4;a:5:{s:4:\"data\";s:8:\"releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18662\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:367:\"The second Release Candidate (“RC2”) for WordPress 6.8 is ready for download and testing! This version of the WordPress software is under development. Please do not install, run, or test this version of WordPress on production or mission-critical websites. Instead, it’s recommended that you evaluate RC2 on a test server and site. Reaching this phase [&#8230;]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:19:\"Jonathan Desrosiers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:8741:\"\n<p>The second Release Candidate (“RC2”) for WordPress 6.8 is ready for download and testing!</p>\n\n\n\n<p><strong>This version of the WordPress software is under development</strong>.<strong> Please do not install, run, or test this version of WordPress on production or mission-critical websites.</strong> Instead, it’s recommended that you evaluate RC2 on a test server and site.</p>\n\n\n\n<p>Reaching this phase of the release cycle is an important milestone. While release candidates are considered ready for release, testing remains crucial to ensure that everything in WordPress 6.8 is the best it can be.</p>\n\n\n\n<p>You can test WordPress 6.8 RC2 in four ways:</p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Plugin</strong></td><td>Install and activate the<a href=\"https://wordpress.org/plugins/wordpress-beta-tester/\"> WordPress Beta Tester</a> plugin on a WordPress install. (Select the “Bleeding edge” channel and “Beta/RC Only” stream).</td></tr><tr><td><strong>Direct Download</strong></td><td>Download the<a href=\"https://wordpress.org/wordpress-6.8-RC2.zip\"> RC2 version (zip)</a> and install it on a WordPress website.</td></tr><tr><td><strong>Command Line</strong></td><td>Use the following<a href=\"https://make.wordpress.org/cli/\"> WP-CLI</a> command: wp core update &#8211;version=6.8-RC2</td></tr><tr><td><strong>WordPress Playground</strong></td><td>Use the<a href=\"https://playground.wordpress.net/?php=8.0&amp;wp=beta&amp;networking=no&amp;language=&amp;multisite=no&amp;random=y4q1rn88xn\"> 6.8 RC2 WordPress Playground instance</a> (available within 35 minutes after the release is ready) to test the software directly in your browser without the need for a separate site or setup.</td></tr></tbody></table></figure>\n\n\n\n<p>The current target for the WordPress 6.8 release is <strong>April 15, 2025</strong>.&nbsp; Get an overview of the<a href=\"https://make.wordpress.org/core/6-8/\"> 6.8 release cycle</a>, and check the<a href=\"https://make.wordpress.org/core/\"> Make WordPress Core blog</a> for<a href=\"https://make.wordpress.org/core/tag/6-8/\"> 6.8-related posts</a> in the coming weeks for further details.</p>\n\n\n\n<h2 class=\"wp-block-heading\">What’s in WordPress 6.8 RC2?</h2>\n\n\n\n<p>Get a recap of WordPress 6.8’s highlighted features in the<a href=\"https://wordpress.org/news/2025/03/wordpress-6-8-beta-1/\"> Beta 1 announcement</a>. For more technical information related to issues addressed since RC1, you can browse the following links:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://github.com/WordPress/gutenberg/commits/wp/6.8?since=2025-03-26&amp;until=2025-04-01\">GitHub commits for 6.8</a> since March 25</li>\n\n\n\n<li><a href=\"https://core.trac.wordpress.org/query?id=63175%2C62887%2C63193%2C61219&amp;milestone=6.8&amp;group=component&amp;col=id&amp;col=summary&amp;col=milestone&amp;col=owner&amp;col=type&amp;col=status&amp;col=priority&amp;order=priority\">Closed Trac tickets</a> since March 25</li>\n</ul>\n\n\n\n<p>Want to look deeper into the details and technical notes for this release? These recent posts cover some of the latest updates:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://make.wordpress.org/core/2025/03/06/speculative-loading-in-6-8/\">Speculative Loading in 6.8</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/02/17/wordpress-6-8-will-use-bcrypt-for-password-hashing/\">WordPress 6.8 will use bcrypt for password hashing</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/03/12/roster-of-design-tools-per-block-wordpress-6-8-edition/\">Roster of design tools per block (WordPress 6.8 edition)</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/03/13/more-efficient-block-type-registration-in-6-8/\">More efficient block type registration in 6.8</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/03/25/updates-to-user-interface-components-in-wordpress-6-8/\">Updates to user-interface components in WordPress 6.8</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/03/24/interactivity-api-best-practices-in-6-8/\">Interactivity API best practices in 6.8</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/03/12/i18n-improvements-6-8/\">Internationalization improvements in 6.8</a></li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\">How you can contribute</h2>\n\n\n\n<p>WordPress is open source software made possible by a passionate community of people collaborating on and contributing to its development. The resources below outline various ways you can help the world’s most popular open source web platform, regardless of your technical expertise.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Get involved in testing</h3>\n\n\n\n<p>Testing for issues is critical to ensuring WordPress is performant and stable.&nbsp; It’s also a meaningful way for anyone to contribute. <a href=\"https://make.wordpress.org/test/2025/03/04/help-test-wordpress-6-8/\">&nbsp;This detailed guide</a> will walk you through testing features in WordPress 6.8.&nbsp; For those new to testing, follow<a href=\"https://make.wordpress.org/test/handbook/get-setup-for-testing/\"> this general testing guide</a> for more details on getting set up.</p>\n\n\n\n<p>If you encounter an issue, please report it to the<a href=\"https://wordpress.org/support/forum/alphabeta/\"> Alpha/Beta area</a> of the support forums or directly to<a href=\"https://core.trac.wordpress.org/newticket\"> WordPress Trac</a> if you are comfortable writing a reproducible bug report.&nbsp; You can also check your issue against a list of<a href=\"https://core.trac.wordpress.org/tickets/major\"> known bugs</a>.</p>\n\n\n\n<p>Curious about testing releases in general?&nbsp; Follow along with the<a href=\"https://make.wordpress.org/test/\"> testing initiatives in Make Core</a> and join the<a href=\"https://wordpress.slack.com/messages/core-test/\"> #core-test channel</a> on<a href=\"https://wordpress.slack.com/\"> Making WordPress Slack</a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Search for vulnerabilities</h3>\n\n\n\n<p>From now until the final release of WordPress 6.8 (scheduled for April 15, 2025), the<a href=\"https://make.wordpress.org/core/handbook/testing/reporting-security-vulnerabilities/#enhanced-bounty-rewards-during-beta-and-release-candidate-phases\"> monetary reward for reporting new, unreleased security vulnerabilities</a> is doubled. Please follow responsible disclosure practices as detailed in the project’s security practices and policies outlined on the<a href=\"https://hackerone.com/wordpress\"> HackerOne page</a> and in the<a href=\"https://wordpress.org/about/security/\"> security white paper</a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Update your theme or plugin</h3>\n\n\n\n<p>For plugin and theme authors, your products play an integral role in extending the functionality and value of WordPress for all users.</p>\n\n\n\n<p>Thanks for continuing to test your themes and plugins with the WordPress 6.8 beta releases. With RC2, you’ll want to conclude your testing and update the <em>“Tested up to”</em> version in your<a href=\"https://developer.wordpress.org/plugins/wordpress-org/how-your-readme-txt-works/\"> plugin’s readme file</a> to 6.8.</p>\n\n\n\n<p>If you find compatibility issues, please post detailed information to the<a href=\"https://wordpress.org/support/forum/alphabeta/\"> support forum</a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Help translate WordPress</h3>\n\n\n\n<p>Do you speak a language other than English?  ¿Español?  Français? Русский? 日本語?  हिन्दी?  বাংলা?  मराठी?  ಕನ್ನಡ?  You can<a href=\"https://translate.wordpress.org/projects/wp/dev/\"> help translate WordPress into more than 100 languages</a>. This release milestone (RC2) also marks the<a href=\"https://make.wordpress.org/polyglots/handbook/glossary/#hard-freeze\"> hard string freeze</a> point of the 6.8 release cycle.</p>\n\n\n\n<h2 class=\"wp-block-heading\">An RC2 haiku</h2>\n\n\n\n<p><em>Testing, 1, 2, 3</em><br><em>It’s almost April fifteenth</em><br><em>Squashing all the bugs</em></p>\n\n\n\n<p><em>Thank you to the following contributors for collaborating on this post: <a href=\'https://profiles.wordpress.org/michelleames/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>michelleames</a>, <a href=\'https://profiles.wordpress.org/tacoverdo/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>tacoverdo</a>, <a href=\'https://profiles.wordpress.org/jopdop30/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>jopdop30</a>, <a href=\'https://profiles.wordpress.org/vgnavada/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>vgnavada</a>, <a href=\'https://profiles.wordpress.org/jeffpaul/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>jeffpaul</a>.</em></p>\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18662\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:69:\"\n		\n		\n		\n		\n		\n				\n		\n		\n		\n		\n		\n\n					\n										\n					\n		\n		\n			\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"WordPress 6.8 Release Candidate 1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:69:\"https://wordpress.org/news/2025/03/wordpress-6-8-release-candidate-1/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 25 Mar 2025 16:19:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:5:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"6.8\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:3;a:5:{s:4:\"data\";s:11:\"development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:4;a:5:{s:4:\"data\";s:8:\"releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18639\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:267:\"WordPress 6.8 RC 1 is ready for download and testing! The scheduled final release date for WordPress 6.8 is April 15, 2025. Your help testing over the next three weeks is vital to ensuring the final release is everything it should be: stable, powerful, and intuitive.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Jeffrey Paul\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:9475:\"\n<p>The first Release Candidate (“RC1”) for WordPress 6.8 is ready for download and testing!</p>\n\n\n\n<p><strong>This version of the WordPress software is under development</strong>.<strong>&nbsp; Please do not install, run, or test this version of WordPress on production or mission-critical websites.</strong>&nbsp; Instead, it’s recommended that you evaluate RC1 on a test server and site.</p>\n\n\n\n<p>Reaching this phase of the release cycle is an important milestone.&nbsp; While release candidates are considered ready for release, testing remains crucial to ensure that everything in WordPress 6.8 is the best it can be.</p>\n\n\n\n<p>You can test WordPress 6.8 RC1 in four ways:</p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Plugin</strong></td><td>Install and activate the<a href=\"https://wordpress.org/plugins/wordpress-beta-tester/\"> WordPress Beta Tester</a> plugin on a WordPress install.&nbsp; (Select the “Bleeding edge” channel and “Beta/RC Only” stream).</td></tr><tr><td><strong>Direct Download</strong></td><td>Download the <a href=\"https://wordpress.org/wordpress-6.8-RC1.zip\">RC1 version (zip)</a> and install it on a WordPress website.</td></tr><tr><td><strong>Command Line</strong></td><td>Use the following<a href=\"https://make.wordpress.org/cli/\"> WP-CLI</a> command: <code>wp core update --version=6.8-RC1</code></td></tr><tr><td><strong>WordPress Playground</strong></td><td>Use the <a href=\"https://playground.wordpress.net/?php=8.0&amp;wp=beta&amp;networking=no&amp;language=&amp;multisite=no&amp;random=y4q1rn88xn\">6.8 RC1 WordPress Playground instance</a> (available within 35 minutes after the release is ready) to test the software directly in your browser without the need for a separate site or setup.</td></tr></tbody></table></figure>\n\n\n\n<p>The current target for the WordPress 6.8 release is <strong>April 15, 2025</strong>.&nbsp; Get an overview of the <a href=\"https://make.wordpress.org/core/6-8/\">6.8 release cycle</a>, and check the<a href=\"https://make.wordpress.org/core/\"> Make WordPress Core blog</a> for <a href=\"https://make.wordpress.org/core/tag/6-8/\">6.8-related posts</a> in the coming weeks for further details.</p>\n\n\n\n<h2 class=\"wp-block-heading\">What’s in WordPress 6.8 RC1?</h2>\n\n\n\n<p>Get a recap of WordPress 6.8’s highlighted features in the <a href=\"https://wordpress.org/news/2025/03/wordpress-6-8-beta-1/\">Beta 1 announcement</a>.&nbsp; For more technical information related to issues addressed since Beta 3, you can browse the following links:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://github.com/WordPress/gutenberg/commits/wp/6.8?since=2025-03-18&amp;until=2025-03-25\">GitHub commits for 6.8</a> since March 18</li>\n\n\n\n<li><a href=\"https://core.trac.wordpress.org/query?status=closed&amp;changetime=03%2F18%2F2025..03%2F25%2F2025&amp;milestone=6.8&amp;col=id&amp;col=milestone&amp;col=owner&amp;col=type&amp;col=priority&amp;order=id\">Closed Trac tickets</a> since March 18</li>\n</ul>\n\n\n\n<p>Want to look deeper into the details and technical notes for this release? These recent posts cover some of the latest updates:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://make.wordpress.org/core/2025/03/06/speculative-loading-in-6-8/\">Speculative Loading in 6.8</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/02/17/wordpress-6-8-will-use-bcrypt-for-password-hashing/\">WordPress 6.8 will use bcrypt for password hashing</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/03/12/roster-of-design-tools-per-block-wordpress-6-8-edition/\">Roster of design tools per block (WordPress 6.8 edition)</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/03/13/more-efficient-block-type-registration-in-6-8/\">More efficient block type registration in 6.8</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/03/25/updates-to-user-interface-components-in-wordpress-6-8/\">Updates to user-interface components in WordPress 6.8</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/03/24/interactivity-api-best-practices-in-6-8/\">Interactivity API best practices in 6.8</a></li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2025/03/12/i18n-improvements-6-8/\">Internationalization improvements in 6.8</a></li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\">How you can contribute</h2>\n\n\n\n<p>WordPress is open source software made possible by a passionate community of people collaborating on and contributing to its development.&nbsp; The resources below outline various ways you can help the world’s most popular open source web platform, regardless of your technical expertise.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Get involved in testing</h3>\n\n\n\n<p>Testing for issues is critical to ensuring WordPress is performant and stable.&nbsp; It’s also a meaningful way for anyone to contribute.&nbsp; <a href=\"https://make.wordpress.org/test/2025/03/04/help-test-wordpress-6-8/\">This detailed guide</a> will walk you through testing features in WordPress 6.8.&nbsp; For those new to testing, follow <a href=\"https://make.wordpress.org/test/handbook/get-setup-for-testing/\">this general testing guide</a> for more details on getting set up.</p>\n\n\n\n<p>If you encounter an issue, please report it to the<a href=\"https://wordpress.org/support/forum/alphabeta/\"> Alpha/Beta area</a> of the support forums or directly to<a href=\"https://core.trac.wordpress.org/newticket\"> WordPress Trac</a> if you are comfortable writing a reproducible bug report.&nbsp; You can also check your issue against a list of<a href=\"https://core.trac.wordpress.org/tickets/major\"> known bugs</a>.</p>\n\n\n\n<p>Curious about testing releases in general?&nbsp; Follow along with the<a href=\"https://make.wordpress.org/test/\"> testing initiatives in Make Core</a> and join the<a href=\"https://wordpress.slack.com/messages/core-test/\"> #core-test channel</a> on<a href=\"https://wordpress.slack.com/\"> Making WordPress Slack</a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Search for vulnerabilities</h3>\n\n\n\n<p>From now until the final release of WordPress 6.8 (scheduled for April 15, 2025), the <a href=\"https://make.wordpress.org/core/handbook/testing/reporting-security-vulnerabilities/#enhanced-bounty-rewards-during-beta-and-release-candidate-phases\">monetary reward for reporting new, unreleased security vulnerabilities</a> is doubled.&nbsp; Please follow responsible disclosure practices as detailed in the project’s security practices and policies outlined on the<a href=\"https://hackerone.com/wordpress\"> HackerOne page</a> and in the<a href=\"https://wordpress.org/about/security/\"> security white paper</a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Update your theme or plugin</h3>\n\n\n\n<p>For plugin and theme authors, your products play an integral role in extending the functionality and value of WordPress for all users.</p>\n\n\n\n<p>Thanks for continuing to test your themes and plugins with the WordPress 6.8 beta releases.&nbsp; With RC1, you’ll want to conclude your testing and update the <em>“Tested up to”</em> version in your<a href=\"https://developer.wordpress.org/plugins/wordpress-org/how-your-readme-txt-works/\"> plugin’s readme file</a> to 6.8.</p>\n\n\n\n<p>If you find compatibility issues, please post detailed information to the<a href=\"https://wordpress.org/support/forum/alphabeta/\"> support forum</a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Help translate WordPress</h3>\n\n\n\n<p>Do you speak a language other than English?  <bdo lang=\"es\" dir=\"ltr\">¿Español?</bdo>  <bdo lang=\"fr\" dir=\"ltr\">Français?</bdo>  <bdo lang=\"ru\" dir=\"ltr\">Русский?</bdo>  <bdo lang=\"jp\" dir=\"ltr\">日本語?</bdo> <bdo lang=\"hi\" dir=\"ltr\">हिन्दी?</bdo>  <bdo lang=\"bn\" dir=\"ltr\">বাংলা?</bdo>  <bdo lang=\"mr\" dir=\"ltr\">मराठी?</bdo>  You can<a href=\"https://translate.wordpress.org/projects/wp/dev/\"> help translate WordPress into more than 100 languages</a>.  This release milestone (RC1) also marks the<a href=\"https://make.wordpress.org/polyglots/handbook/glossary/#hard-freeze\"> hard string freeze</a> point of the 6.8 release cycle.</p>\n\n\n\n<h2 class=\"wp-block-heading\">An RC1 haiku</h2>\n\n\n\n<p>March fades, nearly there,<br>Six-eight hums—a steady beat,<br>RC greets the world.</p>\n\n\n\n<p class=\"has-text-align-right\"><em>Thank you to the following contributors for collaborating on this post: <a href=\'https://profiles.wordpress.org/joemcgill/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>joemcgill</a> <a href=\'https://profiles.wordpress.org/benjamin_zekavica/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>benjamin_zekavica</a> <a href=\'https://profiles.wordpress.org/courane01/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>courane01</a> <a href=\'https://profiles.wordpress.org/mkrndmane/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>mkrndmane</a> <a href=\'https://profiles.wordpress.org/audrasjb/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>audrasjb</a> <a href=\'https://profiles.wordpress.org/areziaal/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>areziaal</a> <a href=\'https://profiles.wordpress.org/ankit-k-gupta/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>ankit-k-gupta</a> <a href=\'https://profiles.wordpress.org/krupajnanda/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>krupajnanda</a> <a href=\'https://profiles.wordpress.org/bph/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>bph</a>.</em></p>\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18639\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:8;a:6:{s:4:\"data\";s:69:\"\n		\n		\n		\n		\n		\n				\n		\n		\n		\n		\n		\n\n					\n										\n					\n		\n		\n			\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 6.8 Beta 3\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/news/2025/03/wordpress-6-8-beta-3/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 18 Mar 2025 15:35:14 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:5:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"6.8\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:3;a:5:{s:4:\"data\";s:11:\"development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:4;a:5:{s:4:\"data\";s:8:\"releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18634\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:289:\"WordPress 6.8 Beta 3 is ready for download and testing! The scheduled final release date for WordPress 6.8 is April 15, 2025. Your help testing Beta and RC versions over the next four weeks is vital to ensuring the final release is everything it should be: stable, powerful, and intuitive.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Jeffrey Paul\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:5627:\"\n<p>WordPress 6.8 Beta 3 is now ready for testing!</p>\n\n\n\n<p><strong>This beta version of the WordPress software is under development</strong>. Please do not install, run, or test this version of WordPress on production or mission-critical websites. Instead, it is recommended you evaluate Beta 3 on a test server and site.</p>\n\n\n\n<p>You can test WordPress 6.8 Beta 3 in four ways:</p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Plugin</strong></td><td>Install and activate the<a href=\"https://wordpress.org/plugins/wordpress-beta-tester/\"> WordPress Beta Tester</a> plugin on a WordPress install.&nbsp; (Select the “Bleeding edge” channel and “Beta/RC Only” stream).</td></tr><tr><td><strong>Direct Download</strong></td><td>Download the <a href=\"https://wordpress.org/wordpress-6.8-beta3.zip\">Beta 3 version (zip)</a> and install it on a WordPress website.</td></tr><tr><td><strong>Command Line</strong></td><td>Use the following<a href=\"https://make.wordpress.org/cli/\"> WP-CLI</a> command: <code>wp core update --version=6.8-beta3</code></td></tr><tr><td><strong>WordPress Playground</strong></td><td>Use the <a href=\"https://playground.wordpress.net/?php=8.0&amp;wp=beta&amp;networking=no&amp;language=&amp;multisite=no&amp;random=y4q1rn88xn\">6.8 Beta 3 WordPress Playground instance</a> to test the software directly in your browser without the need for a separate site or setup.</td></tr></tbody></table></figure>\n\n\n\n<p>The current target date for the final release of WordPress 6.8 is <strong>April 15, 2025</strong>. Get an overview of the <a href=\"https://make.wordpress.org/core/6-8/\">6.8 release cycle</a>, and check the<a href=\"https://make.wordpress.org/core/\"> Make WordPress Core blog</a> for <a href=\"https://make.wordpress.org/core/tag/6-8/\">6.8-related posts</a> in the coming weeks for more information.</p>\n\n\n\n<p><strong>Catch up on what’s new in WordPress 6.8</strong>: Read the <a href=\"https://wordpress.org/news/2025/03/wordpress-6-8-beta-1/\">Beta 1</a> and <a href=\"https://wordpress.org/news/2025/03/wordpress-6-8-beta-2/\">Beta 2</a> announcements for details and highlights.</p>\n\n\n\n<h2 class=\"wp-block-heading\">How to test this release</h2>\n\n\n\n<p>Your help testing the WordPress 6.8 Beta 3 version is key to ensuring everything in the release is the best it can be. While testing the upgrade process is essential, trying out new features is equally important. <a href=\"https://make.wordpress.org/test/2025/03/04/help-test-wordpress-6-8/\">This detailed guide</a> will walk you through testing features in WordPress 6.8.</p>\n\n\n\n<p>If you encounter an issue, please report it to the Alpha/Beta area of the support forums or directly to<a href=\"https://core.trac.wordpress.org/newticket\"> WordPress Trac</a> if you are comfortable writing a reproducible bug report. You can also check your issue against a list of<a href=\"https://core.trac.wordpress.org/tickets/major\"> known bugs</a>.</p>\n\n\n\n<p>Curious about testing releases in general?&nbsp; Follow along with the<a href=\"https://make.wordpress.org/test/\"> testing initiatives in Make Core</a> and join the<a href=\"https://wordpress.slack.com/messages/core-test/\"> #core-test channel</a> on<a href=\"https://wordpress.slack.com/\"> Making WordPress Slack</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Vulnerability bounty doubles during Beta/RC</h2>\n\n\n\n<p>Between Beta 1, released on March 4, 2025, and the final Release Candidate (RC) scheduled for April 8, 2025, the <a href=\"https://make.wordpress.org/core/handbook/testing/reporting-security-vulnerabilities/#enhanced-bounty-rewards-during-beta-and-release-candidate-phases\">monetary reward for reporting new, unreleased security vulnerabilities</a> is doubled. Please follow responsible disclosure practices as detailed in the project’s security practices and policies outlined on the<a href=\"https://hackerone.com/wordpress\"> HackerOne page</a> and in the<a href=\"https://wordpress.org/about/security/\"> security white paper</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Beta 3 updates and highlights</h2>\n\n\n\n<p>WordPress 6.8 Beta 3 contains more than 3 Editor updates and fixes since the Beta 2 release, including 16 tickets for WordPress core.</p>\n\n\n\n<p>Each beta cycle focuses on bug fixes; more are on the way with your help through testing. You can browse the technical details for all issues addressed since Beta 3 using these links:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://github.com/WordPress/gutenberg/commits/wp/6.8?since=2025-03-12&amp;until=2025-03-17\">GitHub commits for 6.8</a> since March 12, 2025</li>\n\n\n\n<li><a href=\"https://core.trac.wordpress.org/query?status=closed&amp;changetime=03%2F12%2F2025..03%2F17%2F2025&amp;milestone=6.8&amp;col=id&amp;col=milestone&amp;col=owner&amp;col=type&amp;col=priority&amp;order=id\">Closed Trac tickets</a> since March 12, 2025</li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\">A Beta 3 haiku</h2>\n\n\n\n<p>Beta three refines,<br>WordPress shapes with steady hands,<br>Code grows into form.</p>\n\n\n\n<p class=\"has-text-align-right\"><em>Props to <a href=\'https://profiles.wordpress.org/benjamin_zekavica/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>benjamin_zekavica</a> <a href=\'https://profiles.wordpress.org/krupajnanda/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>krupajnanda</a> <a href=\'https://profiles.wordpress.org/ankit-k-gupta/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>ankit-k-gupta</a> <a href=\'https://profiles.wordpress.org/joemcgill/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>joemcgill</a> for proofreading and review.</em></p>\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18634\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:69:\"\n		\n		\n		\n		\n		\n				\n		\n		\n		\n		\n		\n\n					\n										\n					\n		\n		\n			\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:4:{s:0:\"\";a:6:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 6.8 Beta 2\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"https://wordpress.org/news/2025/03/wordpress-6-8-beta-2/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 11 Mar 2025 15:46:13 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:5:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:2;a:5:{s:4:\"data\";s:3:\"6.8\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:3;a:5:{s:4:\"data\";s:11:\"development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:4;a:5:{s:4:\"data\";s:8:\"releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18619\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:289:\"WordPress 6.8 Beta 2 is ready for download and testing! The scheduled final release date for WordPress 6.8 is April 15, 2025. Your help testing Beta and RC versions over the next five weeks is vital to ensuring the final release is everything it should be: stable, powerful, and intuitive.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Jeffrey Paul\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:5940:\"\n<p>WordPress 6.8 Beta 2 is now ready for testing!</p>\n\n\n\n<p><strong>This beta version of the WordPress software is under development</strong>. Please do not install, run, or test this version of WordPress on production or mission-critical websites.&nbsp; Instead, you should evaluate Beta 2 on a test server and site.</p>\n\n\n\n<p>You can test WordPress 6.8 Beta 2 in four ways:</p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Plugin</strong></td><td>Install and activate the<a href=\"https://wordpress.org/plugins/wordpress-beta-tester/\"> WordPress Beta Tester</a> plugin on a WordPress install. (Select the “Bleeding edge” channel and “Beta/RC Only” stream.)</td></tr><tr><td><strong>Direct Download</strong></td><td>Download the <a href=\"https://wordpress.org/wordpress-6.8-beta2.zip\">Beta 2 version (zip)</a> and install it on a WordPress website.</td></tr><tr><td><strong>Command Line</strong></td><td>Use this<a href=\"https://make.wordpress.org/cli/\"> WP-CLI</a> command: <code>wp core update --version=6.8-beta2</code></td></tr><tr><td><strong>WordPress Playground</strong></td><td>Use the <a href=\"https://playground.wordpress.net/?php=8.0&amp;wp=beta&amp;networking=no&amp;language=&amp;multisite=no&amp;random=y4q1rn88xn\">6.8 Beta 2 WordPress Playground instance</a> to test the software directly in your browser.&nbsp; No setup is required–just click and go!&nbsp;</td></tr></tbody></table></figure>\n\n\n\n<p>The current target date for the final release of WordPress 6.8 is <strong>April 15, 2025</strong>. Get an overview of the <a href=\"https://make.wordpress.org/core/6-8/\">6.8 release cycle</a>, and check the<a href=\"https://make.wordpress.org/core/\"> Make WordPress Core blog</a> for <a href=\"https://make.wordpress.org/core/tag/6-8/\">6.8-related posts</a> in the coming weeks for more information.</p>\n\n\n\n<p><strong>Catch up on what’s new in WordPress 6.8</strong>: <a href=\"https://wordpress.org/news/2025/03/wordpress-6-8-beta-1/\">Read the Beta 1 announcement</a> for details and highlights.</p>\n\n\n\n<h2 class=\"wp-block-heading\">How to test this release</h2>\n\n\n\n<p>Your help testing the WordPress 6.8 Beta 2 version is key to ensuring everything in the release is the best it can be. While testing the upgrade process is essential, trying out new features is equally important.&nbsp; <a href=\"https://make.wordpress.org/test/2025/03/04/help-test-wordpress-6-8/\">This detailed guide</a> will walk you through testing features in WordPress 6.8.</p>\n\n\n\n<p>If you encounter an issue, please report it to the<a href=\"https://wordpress.org/support/forum/alphabeta/\"> Alpha/Beta area</a> of the support forums or directly to<a href=\"https://core.trac.wordpress.org/newticket\"> WordPress Trac</a> if you are comfortable writing a reproducible bug report. You can also check your issue against a list of<a href=\"https://core.trac.wordpress.org/tickets/major\"> known bugs</a>.</p>\n\n\n\n<p>Curious about testing releases in general? Follow along with the<a href=\"https://make.wordpress.org/test/\"> testing initiatives in Make Core</a> and join the<a href=\"https://wordpress.slack.com/messages/core-test/\"> #core-test channel</a> on<a href=\"https://wordpress.slack.com/\"> Making WordPress Slack</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Vulnerability bounty doubles during Beta/RC</h2>\n\n\n\n<p>Between Beta 1, released on March 4, 2025, and the final Release Candidate (RC) scheduled for April 8, 2025, the<a href=\"https://make.wordpress.org/core/handbook/testing/reporting-security-vulnerabilities/#enhanced-bounty-rewards-during-beta-and-release-candidate-phases\"> monetary reward for reporting new, unreleased security vulnerabilities</a> is doubled. Please follow responsible disclosure practices as detailed in the project’s security practices and policies outlined on the<a href=\"https://hackerone.com/wordpress\"> HackerOne page</a> and in the<a href=\"https://wordpress.org/about/security/\"> security white paper</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Beta 2 updates and highlights</h2>\n\n\n\n<p>WordPress 6.8 Beta 2 contains more than 14 Editor updates and fixes since the Beta 1 release, including 21 tickets for WordPress core.</p>\n\n\n\n<p>Each beta cycle focuses on bug fixes; more are on the way with your help through testing. You can browse the technical details for all issues addressed since Beta 1 using these links:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://github.com/WordPress/gutenberg/commits/wp/6.8?since=2025-03-05&amp;until=2025-03-10\">GitHub commits for 6.8</a> since March 4, 2025</li>\n\n\n\n<li><a href=\"https://core.trac.wordpress.org/query?status=closed&amp;changetime=03%2F05%2F2025..03%2F10%2F2025&amp;milestone=6.8&amp;col=id&amp;col=milestone&amp;col=owner&amp;col=type&amp;col=priority&amp;order=id\">Closed Trac tickets</a> since March 4, 2025</li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\">A Beta 2 haiku</h2>\n\n\n\n<p>Second wave refines,<br>Lines of code like rivers flow,<br>WordPress finds its form.</p>\n\n\n\n<p class=\"has-text-align-right\"><em>Props to <a href=\'https://profiles.wordpress.org/ankitkumarshah/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>ankitkumarshah</a> <a href=\'https://profiles.wordpress.org/vgnavada/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>vgnavada</a> <a href=\'https://profiles.wordpress.org/krupajnanda/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>krupajnanda</a> <a href=\'https://profiles.wordpress.org/michelleames/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>michelleames</a> <a href=\'https://profiles.wordpress.org/audrasjb/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>audrasjb</a> <a href=\'https://profiles.wordpress.org/marybaum/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>marybaum</a> <a href=\'https://profiles.wordpress.org/ecgan/\' class=\'mention\'><span class=\'mentions-prefix\'>@</span>ecgan</a></em> <em>for proofreading and review.</em></p>\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:7:\"post-id\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"18619\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}s:27:\"http://www.w3.org/2005/Atom\";a:1:{s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:4:\"href\";s:32:\"https://wordpress.org/news/feed/\";s:3:\"rel\";s:4:\"self\";s:4:\"type\";s:19:\"application/rss+xml\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:44:\"http://purl.org/rss/1.0/modules/syndication/\";a:2:{s:12:\"updatePeriod\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"\n	hourly	\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:15:\"updateFrequency\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"\n	1	\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:30:\"com-wordpress:feed-additions:1\";a:1:{s:4:\"site\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"14607090\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";O:48:\"WpOrg\\Requests\\Utility\\CaseInsensitiveDictionary\":1:{s:7:\"\0*\0data\";a:12:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Mon, 19 May 2025 15:43:47 GMT\";s:12:\"content-type\";s:34:\"application/rss+xml; charset=UTF-8\";s:4:\"vary\";s:37:\"Accept-Encoding, accept, content-type\";s:25:\"strict-transport-security\";s:12:\"max-age=3600\";s:6:\"x-olaf\";s:3:\"⛄\";s:13:\"last-modified\";s:29:\"Wed, 07 May 2025 14:01:21 GMT\";s:4:\"link\";s:63:\"<https://wordpress.org/news/wp-json/>; rel=\"https://api.w.org/\"\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:16:\"content-encoding\";s:2:\"br\";s:7:\"alt-svc\";s:19:\"h3=\":443\"; ma=86400\";s:4:\"x-nc\";s:9:\"HIT ord 2\";}}s:5:\"build\";i:1727729420;s:21:\"cache_expiration_time\";i:1747712627;s:23:\"__cache_expiration_time\";i:1747712627;}', 'off');
INSERT INTO `wp6m_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES
(605137, '_transient_timeout_feed_mod_9bbd59226dc36b9b26cd43f15694c5c3', '1747712627', 'off'),
(605138, '_transient_feed_mod_9bbd59226dc36b9b26cd43f15694c5c3', '1747669427', 'off'),
(605139, 'can_compress_scripts', '1', 'on'),
(605140, '_transient_timeout_feed_d117b5738fbd35bd8c0391cda1f2b5d9', '1747712628', 'off');
INSERT INTO `wp6m_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES
(605141, '_transient_feed_d117b5738fbd35bd8c0391cda1f2b5d9', 'a:6:{s:5:\"child\";a:1:{s:0:\"\";a:1:{s:3:\"rss\";a:1:{i:0;a:6:{s:4:\"data\";s:3:\"\n\n\n\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:7:\"version\";s:3:\"2.0\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:1:{s:7:\"channel\";a:1:{i:0;a:6:{s:4:\"data\";s:61:\"\n	\n	\n	\n	\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"WordPress Planet\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://planet.wordpress.org/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"language\";a:1:{i:0;a:5:{s:4:\"data\";s:2:\"en\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:47:\"WordPress Planet - http://planet.wordpress.org/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"item\";a:50:{i:0;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:75:\"Do The Woo Community: Your Website Could Use a Changelog to Fuel Creativity\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=96643\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:89:\"https://dothewoo.io/blog/why-every-website-needs-a-changelog-and-how-it-fuels-creativity/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:221:\"Website changelogs, often overlooked, document progress and small victories. They provide transparency, spark creativity, and offer audiences insight into a site\'s evolution—important for all creators, not just techies.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 19 May 2025 10:35:15 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:1;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:77:\"Do The Woo Community: Learn WordPress Product Marketing Deeply with Noel Tock\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:76:\"https://dothewoo.io/learn-wordpress-product-marketing-deeply-with-noel-tock/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:76:\"https://dothewoo.io/learn-wordpress-product-marketing-deeply-with-noel-tock/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:149:\"<p>Noel Tock from Human Made shares insights on WordPress limitations and the role of AI and the importance of learning product marketing deeply.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 19 May 2025 10:00:31 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:102:\"Do The Woo Community: Email Marketing for Woo and WordPress Builders and Businesses with Greg Zakowicz\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:101:\"https://dothewoo.io/email-marketing-for-woo-and-wordpress-builders-and-businesses-with-greg-zakowicz/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:101:\"https://dothewoo.io/email-marketing-for-woo-and-wordpress-builders-and-businesses-with-greg-zakowicz/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:211:\"<p>Discover the latest insights in e-commerce and email marketing with Greg Zakowicz, an Omnisend expert. Learn about automation, AI&#8217;s role, and essential tips for successful engagement on Woo Biz Chat</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 19 May 2025 09:45:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:3;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:82:\"Do The Woo Community: Navigating High-Traffic Events with WooCommerce as an Agency\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"https://bobwp.com/?p=6082\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:86:\"https://dothewoo.io/blog/navigating-high-traffic-events-with-woocommerce-as-an-agency/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:89:\"Operating a large WooCommerce shop is challenging, especially during high-traffic events.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 19 May 2025 09:45:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:4;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:93:\"Do The Woo Community: GatherPress, Organizing WordPress Events with Mike, Mervin and Patricia\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:90:\"https://dothewoo.io/gatherpress-organizing-wordpress-events-with-mike-mervin-and-patricia/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:90:\"https://dothewoo.io/gatherpress-organizing-wordpress-events-with-mike-mervin-and-patricia/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:136:\"<p>The GatherPress plugin has been proposed to replace Meetup.com to help organize WordPress events through an open source solution.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 19 May 2025 09:45:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:5;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:86:\"Do The Woo Community: 12 Email Marketing Tips for WooCommerce and WordPress Businesses\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"https://bobwp.com/?p=6246\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:90:\"https://dothewoo.io/blog/12-email-marketing-tips-for-woocommerce-and-wordpress-businesses/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:101:\"Greg from Omnisend shares 12 tips for effective email marketing for WordPress/WooCommerce businesses.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 17 May 2025 07:30:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:6;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"Do The Woo Community: Learn Marketing Deeply with Your WordPress Products\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"https://bobwp.com/?p=6241\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://dothewoo.io/blog/wordpress-product-marketing/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:101:\"Noel Tock emphasizes the need for better product marketing for WordPress to reach its full potential.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 17 May 2025 07:30:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:78:\"Do The Woo Community: A WordPress Project Funding Solution and Where it Starts\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"https://bobwp.com/?p=6181\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:82:\"https://dothewoo.io/blog/a-wordpress-project-funding-solution-and-where-it-starts/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:122:\"Tom Willmot and Joost de Valk discussed funding essential WordPress projects, proposing a WordPress app store for plugins.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 17 May 2025 07:30:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:8;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:95:\"Do The Woo Community: From Woo Specialists to Full-Service Ecommerce Agency with Cody Landefeld\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=79523\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:93:\"https://dothewoo.io/from-woo-specialists-to-full-sevice-ecommerce-agency-with-cody-landefeld/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:155:\"Cody Landefeld from Mode Effect discusses Mode Effect\'s evolution into a full-service ecommerce agency, emphasizing customer care and technical strategies.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 17 May 2025 07:30:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"Do The Woo Community: Starter WooCommerce Performance Tips for Developers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"https://bobwp.com/?p=6174\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:77:\"https://dothewoo.io/blog/starter-woocommerce-performance-tips-for-developers/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:212:\"Woo DevChat with Sabrina Zeidan and Uros Tasic advises using Query Monitor, checking server logs, and advanced performance tools. Sabrina outlines initial steps for developers to address slow website performance.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 17 May 2025 07:30:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:10;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:74:\"Do The Woo Community: WooBits, a Plethora of WooCommerce Tips and Insights\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:72:\"https://dothewoo.io/woobits-a-plethora-of-woocommerce-tips-and-insights/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:72:\"https://dothewoo.io/woobits-a-plethora-of-woocommerce-tips-and-insights/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:119:\"<p>WooBits, a end of the week show that highlights concise and useful WooCommerce tips for builders and businesses.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 17 May 2025 07:30:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:11;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:121:\"Gutenberg Times: 14 plugins for the block editor, Gutenberg 20.8, Studio 1.15.1, Woo 9.9 and more — Weekend Edition 330\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://gutenbergtimes.com/?p=40398\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:125:\"https://gutenbergtimes.com/14-plugins-for-the-block-editor-gutenberg-20-8-studio-1-15-1-woo-9-9-and-more-weekend-edition-330/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:25214:\"<p>Hi there,</p>\n\n\n\n<p>This weekend I am at WordCamp Leipzig and spent Friday night and Saturday with about 70 WordPressers from the German community. It&#8217;s my third year attending this small, low-key WordCamp. This year, it had way more session submissions than speaker slots, and it sold out tickets with a waiting list. Congratulations to the organizing team. <img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f389.png\" alt=\"🎉\" class=\"wp-smiley\" /> </p>\n\n\n\n<p>With the European Accessibility Act (EAA) set to take effect on June 28, 2025, the selection of three talks focused on accessibility is both timely and highly relevant-making them especially interesting to me. I am also looking forward to Hans-Gerd Gerhard&#8217;s walk through practical examples for block theme implementations. Talks on site performance, e-commerce, error handling and UX for Gen Z round up the <a href=\"https://leipzig.wordcamp.org/2025/zeitplan/\">session schedule</a>. Although it&#8217;s a low-key WordCamp the video team is amazing. The sessions will be recorded and uploaded to WordPressTV the same or the following day. Session are in German, though. </p>\n\n\n\n<p>Save the Date for <a href=\"https://us.wordcamp.org/2025/\">WordCamp US</a>! It&#8217;ll take place from August 26 to August 29. 2025. The call for speakers and sponsors will come out on May 19, 2025, so keep an eye out. If all goes well, I will return to WordCamp US after three years, to finally see my WordPress friends from a previous life again. <img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f389.png\" alt=\"🎉\" class=\"wp-smiley\" /> Will I  see you in Portland, OR, too? </p>\n\n\n\n<p>I could call today&#8217;s newsletter, <em>The Plugin Edition</em>, as it mentions 14 plugins that will help with content creation, making a visual impact and organizing your site. It&#8217;s actually 16 plugins if you count Gutenberg and WooCommerce as well. Have fun browsing, and please hit reply if you have any opinion or other plugins to mention. Listing those plugins here doesn&#8217;t mean I recommend them, you would need to test them for yourself. I just wanted to surface them as it&#8217;s a bit difficult to find new plugins in the WordPress repository.</p>\n\n\n\n<p>Have a lovely weekend! </p>\n\n\n\n<p>Yours, <img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f495.png\" alt=\"💕\" class=\"wp-smiley\" /><br /><em>Birgit</em></p>\n\n\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p><strong>Table of Contents</strong></p>\n\n\n\n<ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/14-plugins-for-the-block-editor-gutenberg-20-8-studio-1-15-1-woo-9-9-and-more-weekend-edition-330/#0-word-press-release-information\">Developing Gutenberg and WordPress</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/14-plugins-for-the-block-editor-gutenberg-20-8-studio-1-15-1-woo-9-9-and-more-weekend-edition-330/#0-p\">Plugins, Themes, and Tools for #nocode site builders and owners</a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/14-plugins-for-the-block-editor-gutenberg-20-8-studio-1-15-1-woo-9-9-and-more-weekend-edition-330/#more-single-blocks-and-block-collections-from-the-wordpress-plugin-repository\">More single blocks and block collections from the WordPress plugin repository</a></li></ol></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/14-plugins-for-the-block-editor-gutenberg-20-8-studio-1-15-1-woo-9-9-and-more-weekend-edition-330/#3-building-themes-for-fse-and-word-press\">Building Blocks and Tools for the Block editor.</a></li></ol>\n</div></div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"0-word-press-release-information\">Developing Gutenberg and WordPress</h2>\n\n\n\n<p><strong>George Mamadashvili</strong> released <a href=\"https://github.com/WordPress/gutenberg/releases/tag/v20.8.0\"><strong>Gutenberg 20.8</strong></a> on May 14, 2025. Here are the features, Ellen Bauer and I discussed on the podcast episode&#8221;</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create block package: added flag for text domain during scaffolding. (<a href=\"https://github.com/WordPress/gutenberg/pull/69802\">69802</a>)</li>\n\n\n\n<li>Guide component customization: next and previous button text. (<a href=\"https://github.com/WordPress/gutenberg/pull/69907\">69907</a>)</li>\n\n\n\n<li>Search functionality for page templates and patterns. (<a href=\"https://github.com/WordPress/gutenberg/pull/69667\">69667</a>)</li>\n\n\n\n<li>Meta box fixes and widget editor locking. (<a href=\"https://github.com/WordPress/gutenberg/pull/69958\">69958</a>)(<a href=\"https://github.com/WordPress/gutenberg/pull/69984\">69984</a>)</li>\n\n\n\n<li>Ability to edit HTML for invalid blocks.(<a href=\"https://github.com/WordPress/gutenberg/pull/69902\">69902</a>)</li>\n\n\n\n<li>Spacer block update preventing negative width in row blocks.(<a href=\"https://github.com/WordPress/gutenberg/pull/68845\">68845</a>)</li>\n\n\n\n<li>Box sizing property updates to prevent design overflow.(<a href=\"https://github.com/WordPress/gutenberg/pull/70014\">70014</a>)</li>\n\n\n\n<li>Block bindings API documentation improvements and limitations.(<a href=\"https://github.com/WordPress/gutenberg/pull/68583\">68583</a>)</li>\n\n\n\n<li>Block Styles:  add copy and code for style_data to documentation (<a href=\"https://github.com/WordPress/gutenberg/pull/69920\">69920</a>)</li>\n</ul>\n\n\n\n<p>The changelog is <a href=\"https://github.com/WordPress/gutenberg/releases/tag/v20.8.0\">available on the GitHub repo</a>. </p>\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f399.png\" alt=\"🎙\" class=\"wp-smiley\" /> The latest episode <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-117-woocommerce-starter-theme-and-blocks/\">Gutenberg Changelog 117 – WooCommerce Starter Theme and Blocks, WordCamp Europe, and Gutenberg 20.7 and 20.8</a> I sat down with Ellen Bauer, WooCommerce product lead and discussed what she is working on, WordCamp Europe, Create Block Theme, WP-CLI, Gutenberg 20.7 and Gutenberg 20.8 releases. </p>\n\n\n\n<img width=\"652\" height=\"184\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2022/03/Screenshot-2025-05-10-at-12.16.57.png?resize=652%2C184&ssl=1\" alt=\"Ellen Bauer and Birgit Pauli-Haack recording Gutenberg Changelog 117\" class=\"wp-image-40375\" />\n</div></div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"0-p\">Plugins, Themes, and Tools for #nocode site builders and owners</h2>\n\n\n\n<p><strong>Mike McAlister</strong> announced <a href=\"https://olliewp.com/the-future-of-wordpress-site-building-starts-with-ollie-pro-2-0/\"><strong>the release of Ollie Pro 2.0</strong></a>. The update introduces a redesigned dashboard, a setup wizard to streamline site configuration, and starter sites, with which users could launch a complete website fast. For developers, a child theme creator is included to enable safe code customizations. The release also expands the pattern library with hundreds of professionally designed layouts and styles, all accessible through an improved pattern browser. </p>\n\n\n\n<img width=\"652\" height=\"373\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/Screenshot-2025-05-12-at-9.11.42%E2%80%AFAM-1536x879-1.webp?resize=652%2C373&ssl=1\" alt=\"\" class=\"wp-image-40453\" />\n\n\n\n<p><strong>Michael Pretty</strong>, code wrangler at WooCommerce, recently shared some great news: <a href=\"https://developer.woocommerce.com/2025/05/13/woocommerce-9-9-will-deliver-massive-admin-performance-gains/\"><strong>WooCommerce 9.9 will bring significant admin performance improvements.</strong></a> In his post, he outlined the key factors and changes behind faster admin screen rendering and quicker action execution for Woo merchants. These updates promise a noticeably smoother and more efficient experience when managing your store. You can start testing the with the <a href=\"https://developer.woocommerce.com/2025/05/12/woocommerce-9-9-pre-release-updates/\">Woo 9.9 Beta version</a>. WooCommerce 9.9 is scheduled for release on June 2, 2025, just before WordCamp Europe. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>If you often write tutorials with code examples, you need to check out the <strong><a href=\"https://code-block-pro.com/\">Code</a><a href=\"https://wordpress.org/plugins/code-block-pro/\"> Block Pro</a></strong> plugin by <strong>Kevin Batdorf</strong>. You can make your code look as beautiful as the rest of your site. The plugin offers dozens of different themes, and specific syntax highlighting for hundreds of programming languages. If you feel the code section gets too long with the “Click to see more” feature, you can collapse code blocks at any line, letting visitors expand only what they need. Also, very handy are line highlighting and blurring of surrounding code, which helps readers to quickly recognize the code section that you want them to focus on. I’ve only scratched the surface of what Code Block Pro can do in my own posts. You can get the plugin <a href=\"https://wordpress.org/plugins/code-block-pro/\">from the WordPress repository</a>.</p>\n\n\n\n<a href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#second-task-update-theme-json\"><img width=\"652\" height=\"368\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/Screenshot-2025-05-15-at-15.03.42.png?resize=652%2C368&ssl=1\" alt=\"\" class=\"wp-image-40456\" /></a><a href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#second-task-update-theme-json\">Screenshot from my post on Block Theme building.</a> \n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In her latest tutorial, <strong>Anne Katzeff </strong>explored <a href=\"https://www.askdesign.biz/blog/2025/05/layout-and-design-with-row-and-stack-blocks/\"><strong>how the Row and Stack blocks expand the layout and design</strong></a> possibilities for your site. She discusses all the different settings, and styles options for these Group block variations.  </p>\n\n\n\n<img width=\"652\" height=\"390\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/Screenshot-2025-05-16-at-14.10.48.png?resize=652%2C390&ssl=1\" alt=\"Screenshot from Anne Katzeff\'s tutorial with her amazing art! \" class=\"wp-image-40481\" />\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Hans-Gerd Gerhards</strong> introduced his <strong><a href=\"https://haurand.com/plugin-shrinking-logo-sticky-header/\">&#8220;Plugin Shrinking Logo Sticky Header”</a></strong>. The plugin lets you &#8220;add a modern sticky header with smooth, animated shrinking effects for both the header and the site logo.&#8221; You have full control over the heights for default and shrunken states and also use your site&#8217;s colors for styling. The post also entails the link for downloads videos and screenshots. The plugin in in the approval queue for the WordPress directory. </p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"more-single-blocks-and-block-collections-from-the-wordpress-plugin-repository\">More single blocks and block collections from the WordPress plugin repository</h3>\n\n\n\n<p>I am amazed at the creativity of plugin authors to always find missing features to add to WordPress. Some even you didn&#8217;t know you were missing. <img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f9d0.png\" alt=\"🧐\" class=\"wp-smiley\" /> Over the last few days,  I found several single blocks and block collections in my RSS Feeds.  I have not tested them.  Use at your own risk. If you do try some, please let me know how it went. <a href=\"mailto:pauli@gutenbergtimes.com\">Email me. </a></p>\n\n\n\n<p><a href=\"https://wordpress.org/plugins/nasio-blocks/\"><strong>Nasio Blocks</strong></a>  by <strong>Nasio Themes</strong> &#8211; A newcomer on the WordPress repository. Welcome to the WordPress space! <img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f44b.png\" alt=\"👋\" class=\"wp-smiley\" /> &#8220;Post slider, Content slider, Gallery slider, Accordion and Icon blocks. Features a template library with predefined demo content (block patterns) to speed up the page creation process.&#8221; so they say. </p>\n\n\n\n<p><strong><a href=\"https://wordpress.org/plugins/flipbox-block/\">Flipbox Block</a> by <a href=\"https://gutenbergkits.com/\">GutenbergKits</a></strong> &#8220;Flip box Block &#8211;  &#8220;A flip box is an interactive UI element that flips between two sections on hover or click.&#8221; and &#8220;You can create unlimited design possibilities&#8221;. I remember when I build such a flip box w/ vanilla JavaScript in a static HTML page for a memory game some time in the early 2000s. Now I just can install a block for it.</p>\n\n\n\n<p><a href=\"https://wordpress.org/plugins/photo-block/\"><strong>Photo Block</strong></a> by <a href=\"https://x.com/ronaldhuereca\"><strong>Ronald Huereca</strong></a>, in his 20th year of his WordPress.org account. <img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f389.png\" alt=\"🎉\" class=\"wp-smiley\" /> He built into it advanced image customization, full caption support, responsive styling, and global styles. Alone from the screenshots on the plugin page I feel a bit overwhelmed with the vast number of customizations.You&#8217;ll find a ton of filters, too. To see it in action, you can <a href=\"https://app.instawp.io/launch?t=photo-block&d=v2\">spin up a demo site</a></p>\n\n\n\n<p><a href=\"https://wordpress.org/plugins/pibe-parallax-image-block-and-effects/\"><strong>PIBE – Parallax Image Block and Effects</strong></a> by <strong>Emiliano Lorenzi,</strong> also a newcomer to the space! Welcome to you, too! <img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f44b.png\" alt=\"👋\" class=\"wp-smiley\" /> His plugin &#8220;allows you to add modern, animated images to your site, whether you want to add depth with parallax, capture your visitors’ attention with hover transitions, or highlight content with stylish overlays.</p>\n\n\n\n<p><strong>Bhargav (Bunty) Bhandari,</strong> WordPress developer author of the <a href=\"https://wordpress.org/plugins/thread-block/\">Thread</a> and <a href=\"https://wordpress.org/plugins/polls-block/\">Polls</a> blocks, has released a new plugin called: <strong><a href=\"https://wordpress.org/plugins/explicit-media-block/\">Explicit Media Block</a></strong>. This block is an image/media block public likes and shareable links, turning your site into an interactive content hub, Instagram like as you so will.</p>\n\n\n\n<p><a href=\"https://wordpress.org/plugins/primekit-blocks/\"><strong>Primekit Blocks</strong></a> by <strong>SupreoX Limited</strong> with contains three blocks. The most intriguing would be for me the Animated Text Block to show for animated text effects for your headings and content. The other two are Call to Action (CTA) block and a Copyright block. </p>\n\n\n\n<p><strong><a href=\"https://wordpress.org/plugins/groundworx-carousel/\">Groundworx Carousel</a></strong> by <a href=\"https://x.com/groundworxdev\"><strong>Johanne Courtright</strong></a>, a longtime WordPress developer and freelancer from the US, published her first plugin in the repository. With the carousel, built with native core blocks,  you can display slides with any inner blocks. Using the Splide.js library it supports responsive options, breakpoint-based layouts, and advanced design controls. On GitHub, Courtright also provides <a href=\"https://github.com/groundworx-dev/groundworx-carousel#example-variations\">instructions and code examples</a> on how to extend the plugin to fit any site&#8217;s needs. </p>\n\n\n\n<p><a href=\"https://wordpress.org/plugins/better-navigation-block-styles/\"><strong>Better Navigation Block Styles</strong></a> by <a href=\"https://x.com/marctv\"><strong>Marc Tönsing</strong></a>. Tönsing aims to refine the native mobile menu with to ensure better spacing, alignment, and readability by injecting Additional CSS. </p>\n\n\n\n<p><a href=\"https://wordpress.org/plugins/ghostlabs-cycle-block-lite/\"><strong>Cycle Block: Lite</strong></a> by <b>Ghos</b><strong>t Labs</strong>, also a newcomer to the WordPress repository, Welcome! <img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f389.png\" alt=\"🎉\" class=\"wp-smiley\" /> The team&#8217;s first plugin enables user to display different content for each page load. You can rotate headlines, and create randomized call-to-actions. The description and screenshot offer more use cases where this plugin might be helpful.  On their website you find a few more plugins: City blocks for location-based content and Ghostwriter block, using AI for content creation. </p>\n\n\n\n<p><strong><a href=\"https://wordpress.org/plugins/wpmozo-blocks-and-addons/\">WPMozo Blocks and Addons</a></strong> by <a href=\"https://elicus.com/about-us/\"><strong>Elicus</strong></a> provides plenty of Custom blocks to use, a few sliders, a flip box, tilt image, before-and-after comparisons block. You can see it all in action on <a href=\"https://wpmozoblocks.com/\">the demo site.</a> I found the <a href=\"https://wpmozoblocks.com/interactive-image-card/\">interactive image card</a> to be quite interesting. The <a href=\"https://wpmozoblocks.com/separator/\">Separator block</a> is probably one I would use if I had to spruce up a wall of text or so. </p>\n\n\n\n<p>Which reminds me: On the WordPress Developer blog, <strong>Justin Tadlock</strong> wrote a tutorial about <a href=\"https://developer.wordpress.org/news/2023/07/beyond-block-styles-part-2-building-a-custom-style-for-the-separator-block/\"><strong>Building a custom style for the Separator block</strong></a>, just in case you are tempted to get into block style building without creating a Custom block. </p>\n\n\n\n<p>That&#8217;s it for now. Please keep in mind that I don&#8217;t have any aspiration to be comprehensive when curating plugins. I would also be delighted, if you want to <a href=\"mailto:pauli@gutenbergtimes.com\">email me</a> asking me to check out your plugin. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>&nbsp;<a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/\" target=\"_blank\" rel=\"noreferrer noopener\">&#8220;Keeping up with Gutenberg &#8211; Index 2025&#8221;</a>&nbsp;</strong><br />A chronological list of the WordPress Make Blog posts from various teams involved in Gutenberg development: Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test, and Meta team from Jan. 2024 on. Updated by yours truly. The previous years are also available: <strong><strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2020/\">2020</a>&nbsp;|&nbsp;<a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2021/\">2021</a></strong>&nbsp;|&nbsp;<strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2022/\">2022</a></strong></strong>&nbsp;|&nbsp;<strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2023\">2023</a></strong> | <a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2024/\"><strong>2024</strong></a></p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"3-building-themes-for-fse-and-word-press\">Building Blocks and Tools for the Block editor.</h2>\n\n\n\n<p><strong>Felix Arntz,</strong> a developer at Google and the author of the <a href=\"https://wordpress.org/plugins/ai-services/\">AI services plugin</a>, has authored a tutorial detailing the process by which individuals can utilize this plugin to create artificial intelligence tools, such as <a href=\"https://felix-arntz.me/blog/writing-a-wordpress-plugin-to-generate-image-alt-text-with-ai-services/#more-1987\">an image alt text generator</a>.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><a href=\"https://bsky.app/profile/2ndkauboy.bsky.social\"><strong>Bernhard Kau</strong></a> published a tutorial on <a href=\"https://kau-boys.com/4107/wordpress/adding-a-custom-panel-to-query-monitor\"><strong>how to add a custom panel to Query Monitor</strong></a>. Query Monitor should be in every WordPress developer toolbox, and how to customize it is a very useful skill to have. <br /></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p class=\"has-small-font-size\">In last week&#8217;s live stream, <strong>Jonathan Bossenger</strong> explored <a href=\"https://www.youtube.com/watch?v=AwxE-R7OsVU\"> how to use the Feature API</a>. He figured out how to hook up Woo&#8217;s LMS, Sensei and register its lessons as tools. Then he instructed an AI agent to create a lesson from a markdown file. </p>\n\n\n\n<p class=\"has-normal-font-size\">Automattic introduced a<a href=\"https://github.com/Automattic/wp-feature-api\"> new Feature API</a> for WordPress. It allows AI agent tools to interact with sites in more structured ways—unlocking new possibilities for plugins and automation.</p>\n\n\n\n<p class=\"has-small-font-size\"><strong>Jamie Marsland</strong> posted on LinkedIn, why that&#8217;s important: <a href=\"https://www.linkedin.com/pulse/wordpress-sitting-goldmine-feature-api-just-dug-first-jamie-marsland-3sije/?trackingId=qVLCTVZZSniPqxIiHZRpdQ%3D%3D\"><strong>WordPress Is Sitting on a Goldmine — And the Feature API Just Dug the First Tunnel</strong></a></p>\n\n\n<div width=\"100%\" class=\"wp-block-newsletterglue-showhide ng-block\">\n<div class=\"wp-block-embed__wrapper\">\n\n</div>\n</div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Nick Diego</strong> has tested the latest Studio v 1.5.1, the new local development app by WordPress.com, release and wrote a tutorial on how to use the new features: <a href=\"https://wordpress.com/blog/2025/05/12/preferences-studio/\"><strong>Customize Your WordPress Development Workflow: New Preferences in Studio</strong></a>. I made Studio my only local development tool installed.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong><a href=\"https://gutenbergtimes.com/need-a-zip-from-master/\">Need a plugin .zip from Gutenberg&#8217;s master branch?</a></strong><br />Gutenberg Times provides daily build for testing and review. </p>\n\n\n\n<p>Now also available via <a href=\"https://playground.wordpress.net/?blueprint-url=https://gutenbergtimes.com/wp-content/uploads/2020/11/playnightly.json\">WordPress Playground</a>. There is no need for a test site locally or on a server. Have you been using it? <a href=\"mailto:pauli@gutenbergtimes.com\">Email me </a>with your experience</p>\n\n\n\n<p><img alt=\"GitHub all releases\" src=\"https://img.shields.io/github/downloads/bph/gutenberg/total?style=for-the-badge\" /></p>\n\n\n\n<p class=\"has-text-align-center has-small-font-size\"><em>Questions? Suggestions? Ideas? </em><br /><em>Don&#8217;t hesitate to send <a href=\"mailto:pauli@gutenbergtimes.com\">them via email</a> or</em><br /><em> send me a message on WordPress Slack or Twitter @bph</em>.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<p class=\"has-text-align-center has-small-font-size\">For questions to be answered on the <a href=\"http://gutenbergtimes.com/podcast\">Gutenberg Changelog</a>, <br />send them to <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>Featured Image: Photo by Fran Jacquier on Unsplash</p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\" />\n\n\n\n<p class=\"has-text-align-left\"><strong>Don&#8217;t want to miss the next Weekend Edition? </strong></p>\n\n\n<form class=\"wp-block-newsletterglue-form ngl-form ngl-portrait\" action=\"https://gutenbergtimes.com/feed/\" method=\"post\"><div class=\"ngl-form-container\"><div class=\"ngl-form-field\"><label class=\"ngl-form-label\" for=\"ngl_email\"><br />Type in your Email address to subscribe.</label><div class=\"ngl-form-input\"><input type=\"email\" class=\"ngl-form-input-text\" name=\"ngl_email\" id=\"ngl_email\" /></div></div><button type=\"submit\" class=\"ngl-form-button\">Subscribe</button><p class=\"ngl-form-text\">We hate spam, too, and won&#8217;t give your email address to anyone <br />except Mailchimp to send out our Weekend Edition</p></div><div class=\"ngl-message-overlay\"><div class=\"ngl-message-svg-wrap\"></div><div class=\"ngl-message-overlay-text\">Thanks for subscribing.</div></div><input type=\"hidden\" name=\"ngl_list_id\" id=\"ngl_list_id\" value=\"26f81bd8ae\" /><input type=\"hidden\" name=\"ngl_double_optin\" id=\"ngl_double_optin\" value=\"yes\" /></form>\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\" />\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 17 May 2025 05:55:22 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:12;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"Do The Woo Community: Why Contributor Day in Basel is a Must-Do\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=96961\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"https://dothewoo.io/blog/why-contributor-day-in-basel-is-a-must-do/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:168:\"Contributor Day at WordCamp Europe 2025 is a community event on June 5th in Basel, Switzerland, encouraging contributions to the WordPress project for all skill levels.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 16 May 2025 07:41:52 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:13;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:37:\"Matt: Jony Ive &amp; Patrick Collison\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:23:\"https://ma.tt/?p=142505\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"https://ma.tt/2025/05/jony-ive/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:85:\"<p>A really beautiful interview.</p>\n\n\n\n<div class=\"wp-block-embed__wrapper\">\n\n</div>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 16 May 2025 00:08:37 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:14;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:108:\"Do The Woo Community: Lessons Learned From 15 Years of Building Complex WooCommerce Sites with Matt Schwartz\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=96975\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:107:\"https://dothewoo.io/lessons-learned-from-15-years-of-building-complex-woocommerce-sites-with-matt-schwartz/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:241:\"In Woo AgencyChat, host Robert Jacobi chats with Matt Schwartz from Inspry about their journeys in WordPress, WooCommerce insights, lessons in agency growth, and the importance of educating clients on Woo\'s capabilities and responsibilities.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 15 May 2025 08:57:52 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:15;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:97:\"WPTavern: #169 – Wes Tatters on the Evolution of Internet Communities and WordPress Open Source\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://wptavern.com/?post_type=podcast&p=195791\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:111:\"https://wptavern.com/podcast/169-wes-tatters-on-the-evolution-of-internet-communities-and-wordpress-open-source\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:49582:\"Transcript<div>\n<p>[00:00:19] Nathan Wrigley: Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.</p>\n\n\n\n<p>Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the blocks, the themes, and in this case a personal journey through the history of the internet from start to now.</p>\n\n\n\n<p>If you&#8217;d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to wp tavern.com/feed/podcast, and you can copy that URL into most podcast players.</p>\n\n\n\n<p>If you have a topic that you&#8217;d like us to feature on the podcast, I&#8217;m keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wp tavern.com/contact/jukebox, and use the form there.</p>\n\n\n\n<p>So on the podcast today, we have Wes Tatters. Wes has been immersed in the tech space for close to four decades, starting his journey with early computers like the Commodore 64 and TRS 80. He&#8217;s been an author, with multiple books on internet technologies to his name, has worked across AV and media, and today he&#8217;s the driving force behind Rapyd Cloud, a globally distributed hosting company. Wes&#8217; perspective is shaped as much by his hands-on experience building communities on CompuServe, AOL and MSN, as by his deep involvement with modern open source platforms like WordPress.</p>\n\n\n\n<p>Wes starts off by sharing some of the fascinating stories from the early web, when getting online meant stringing together modems and bulletin boards, and long distance communication felt nothing short of miraculous. He talks about the evolution of the internet as a space for community, and how chance encounters in early online forums led to opportunities like writing for Netscape and shaping the very first JavaScript Developer Guides.</p>\n\n\n\n<p>We then discuss the changing meaning of community across different eras of the internet, touching on the shift from closed walled gardens, like AOL, to the open source ethos that powers projects like WordPress, and much else that we take for granted online. Wes describes how WordPress&#8217; flexibility and openness allowed anyone, anywhere, to claim their own piece of the web without technical barriers, and how this has contributed to its rise as a cornerstone of global digital freedom and self-expression.</p>\n\n\n\n<p>Our conversation also examines the challenges, and potential missteps, of the modern internet from social loneliness, to the commercial world of social media. And reflects on WordPress&#8217;s role in helping steer a path back to more positive, open, and empowering online experiences.</p>\n\n\n\n<p>If you&#8217;re interested in how the history of the internet directly shaped WordPress, the Open Web, and the communities we build today, this episode is for you.</p>\n\n\n\n<p>If you&#8217;d like to find out more, you can find all of the links in the show notes by heading to wp tavern.com/podcast, where you&#8217;ll find all the other episodes as well.</p>\n\n\n\n<p>And so without further delay, I bring you Wes Tatters.</p>\n\n\n\n<p>I am joined on the podcast today by Wes Tatters. Hello, Wes.</p>\n\n\n\n<p>[00:03:50] Wes Tatters: Nathan, good to be talking together again.</p>\n\n\n\n<p>[00:03:53] Nathan Wrigley: I&#8217;ve got to be very, very, accommodating of Wes&#8217; time, because for me it&#8217;s about four in the afternoon, something like that. Wes, on the other side of the planet, is giving up his time at about one in the morning. I have no idea why you are here, but I appreciate it. Thank you.</p>\n\n\n\n<p>[00:04:07] Wes Tatters: Oh look, my day tends to be largely focused on talking to people in Europe, and in the United States. Half my employees are in those parts of the world as well. So I tend to work midnight to midnight. And we&#8217;re in the middle of a big product launch, for Rapyd, which has meant we&#8217;re just talking, and being visible, and I&#8217;m awake and happy to chat.</p>\n\n\n\n<p>[00:04:25] Nathan Wrigley: So you literally pivot your day, your Australian day, you pivot it so that you are available for North American and European customers. So we should probably say you work for a hosting company called Rapyd Cloud, And that&#8217;s where the thrust of your marketing endeavors go. So you pivot your day?</p>\n\n\n\n<p>[00:04:41] Wes Tatters: Yeah, like about, I think about 60% of our customers are in the United States, and about 30, 45, 35 are in Europe, and 5% or something in Asia, Which is pretty generic for the WordPress space. Our focus is around obviously those markets, but also because we&#8217;re a global company, we don&#8217;t have a head office.</p>\n\n\n\n<p>Everyone who works in our team is doing it remotely. It might be Dubai, or Chicago or the Philippines or Pakistan, India. So we choose times of the day, we have this great calendar and for every meeting we post up a list of all the times, and then there&#8217;s happy faces, red faces and smiley faces. And someone will go, all right, I&#8217;ll take the red face. That&#8217;s the nature of WordPress though.</p>\n\n\n\n<p>[00:05:21] Nathan Wrigley: Yeah, madness though, when you think about it. If you were to rewind the clock 30 years none of this was possible. I mean here, I am talking you through a web browser, as if it&#8217;s nothing, and it is utterly remarkable. And actually that&#8217;s going to be the thrust of this conversation, I think. We&#8217;re going to trace the WordPress community in particular, not just the community, the software and what have you, over the period of time it&#8217;s been in existence, 21 years odd.</p>\n\n\n\n<p>So, do you want just give us your backstory, specifically I guess around WordPress, but just generally in tech? Because I know you&#8217;ve done quite a lot of other AV related things as well.</p>\n\n\n\n<p>[00:05:54] Wes Tatters: I&#8217;ve, been in the tech space for close to 40 years. I was trying to work it out a little while ago, and it&#8217;s like, I remember my first computer. It was a Commodore 64 or something, or a TRS 80, or something like that. And I would&#8217;ve been 16 or 17, and even then it was like, I was programming them, not playing games on them. I enjoyed programming and coding.</p>\n\n\n\n<p>So I started very early in the tech space, but as a result of which, even modems didn&#8217;t really exist when I first started in the IT space. Laptops and PCs and computers and certainly iPhones and all that wonderful technology we have today didn&#8217;t exist.</p>\n\n\n\n<p>But there was already people in the space at places like DARPA, that were going, how do we connect the world? It was a government military strategy. How do we connect the world in the event of a nuclear war? That was the driving mentality behind what they were planning. It was originally going to be a network of radio towers sending, a bit like we had with the old modems, the buzzing noises.</p>\n\n\n\n<p>But it was this whole concept of, how do we build a disconnected system that can survive massive breakdowns in the structure of communication? And a part of what they build, ironically, is what makes the internet so powerful these days. It&#8217;s that ability to interconnect disparate technologies, disparate systems, all different types of capabilities and devices and all those sorts of things, in ways that are transparent.</p>\n\n\n\n<p>As you just said, we&#8217;re in two parts of the world and we are talking together in real time. I grew up in the, as a part of my life, in the media world, and film and television and primarily television. In a point in time where if we wanted to conduct a live interview with someone on the other side of the world, firstly, we had to book satellite space in the thousands of dollars per minute almost. And then we would go, Nathan, are you there?</p>\n\n\n\n<p>And Nathan would come back four seconds later, and we would conduct these really bizarre interviews, with delays on this crazy technology. So much so that when live television was first starting, obviously there was a big fear that someone would say naughty words, or swear on television for the want of a better word. And one of the early ways that they originally managed, we have what&#8217;s called, a lot of television stations had this big red button called a dump button.</p>\n\n\n\n<p>The whole idea was someone said f, someone had to slam the big dump button. But the way they we&#8217;re actually handling it was they were actually sending the entire signal up to a satellite and back down to the ground station before they transmitted it. Because that gave them roughly two or three seconds of delay, which gave them the ability for that big red button to stop the transmission point. But the signal had gone up and down through a satellite just to even achieve that craziness.</p>\n\n\n\n<p>I came into that world, and started in that world. I was incredibly lucky that I lucked into an IT firm, here in Australia, that was at that stage of company that doesn&#8217;t even exist anymore. It&#8217;s a company called Wang Microsystems. Dr. Wang was the guy that invented the first memory ship, so he, he&#8217;s reasonably well healed, but that entire platform doesn&#8217;t exist. But Wang was one of the first it companies to release a processor with a box. There was this three racks that was a modem.</p>\n\n\n\n<p>300 characters per second. It was bleedingly fast. But for, its time, and I was one of the first people that got to play with one of those things in Australia. And I&#8217;ll tell you what, I was hooked. I just went, even then I could go, oh my goodness. There were dreams of we can make it faster.</p>\n\n\n\n<p>And we got 1200 baud, and then we got 1600 baud, and then we got 3,200 baud and 56 k. And every bit was exciting. Because what it was allowing me as a person to do, especially a person in Australia, was to reach out and communicate with people that weren&#8217;t in my part of the world. And we had things like America Online, well CompuServe first, I guess prior to America Online.</p>\n\n\n\n<p>We had bulletin boards and local BBS software and things like that. And all of them were creating communities. All of them were starting to build communities around this same space. It was something that I really engaged with.</p>\n\n\n\n<p>When I got into CompuServe though, it for me changed a lot of things. Because until that stage it was hard to communicate with anyone outside Australia. But with CompuServe, all of a sudden, I was connected to people around the world.</p>\n\n\n\n<p>[00:10:37] Nathan Wrigley: What did that connection actually feel like though? Was it literally, you&#8217;d type something, and was it you&#8217;d leave the computer, like the email sort of exchange?</p>\n\n\n\n<p>[00:10:46] Wes Tatters: They were really very, very similar to an early sort of discussion board. People would leave comments, and people would make comments back and respond, and people built relationships and discussions were built. And in my early life I was an author. I&#8217;ve written a number of books on internet technologies.</p>\n\n\n\n<p>This is the guy in Brisbane, Australia, who happened to luck into a forum on CompuServe with a guy named Mark Tabor, who was the head of publishing acquisitions for Schuster and Schuster, which is McMillan, and sams.net, the biggest publisher on the planet.</p>\n\n\n\n<p>And Mark was going, we are looking for authors to write in this space. They were releasing a new imprint at the time called sams.net, which was going to be like. Theirs was Teach Yourself series.</p>\n\n\n\n<p>They were building it at McMillan, and their biggest problem was respectfully that IT people don&#8217;t make good writers. Love us, or like us, we don&#8217;t even like writing comments in code, let alone knocking out 4 or 500 pages of a book, to tell someone how to do something.</p>\n\n\n\n<p>But that ability to be in a community outside of my own space, this is me in Brisbane, Australia, talking to the head of acquisitions for Macmillan, going, yeah, I can write a book. I&#8217;d already been doing some writing. I had, as I said from, because I have a media background, I&#8217;d been writing for magazine articles in Australia, and I&#8217;d been involved in communications and had some journalism experience, so I was kind of already in the space.</p>\n\n\n\n<p>And yeah, the book got written. We actually wrote a book that told people how to connect CompuServe to the internet, because previously CompuServe couldn&#8217;t be connected to the internet.</p>\n\n\n\n<p>[00:12:21] Nathan Wrigley: Do you remember those times like halcyon day&#8217;s, rose tinted spectacles. Because that was real pioneering stuff. The idea that, okay, so dear listener, if you are under the age of 30, your world was entirely connected from the moment you could conceive a thought. In some respect you could turn the tele on and be live tele from around the globe. You may not have had internet access.</p>\n\n\n\n<p>[00:12:44] Wes Tatters: I remember trying to explain to my parents what I was doing, and they were looking at me going, you&#8217;re doing what? And it wasn&#8217;t until the first book, 500 pages, 50 copies arrived in a box from McMillan, that the lights went on in parents&#8217; head who went, okay.</p>\n\n\n\n<p>[00:13:04] Nathan Wrigley: There&#8217;s something in this.</p>\n\n\n\n<p>[00:13:05] Wes Tatters: This is odd. And we sold hundreds of thousands of copies of edition of these books. I wrote the same book for America Online.</p>\n\n\n\n<p>The joke was America Online actually wasn&#8217;t even in Australia at that stage, which was interesting. But it gave me lots of opportunities, and this was about communities. This was about getting into communities. While I was in that community, talking, working with the a AOL team on how they were going to connect to this thing called the internet. There was a little crowd called Netscape banging around, going hey, love what you did, Tim. Love that original browser. We&#8217;re going to build a better one.</p>\n\n\n\n<p>[00:13:37] Nathan Wrigley: An open one.</p>\n\n\n\n<p>[00:13:38] Wes Tatters: An open one. And the Netscape guys had seen my books, came to my publisher and said, hey, could we do a book with Wes on how to write, how to build websites for Netscape? So we wrote six books for Netscape over the next five years, going teach yourself HTML development for Netscape. So community was the whole basis of it.</p>\n\n\n\n<p>[00:14:03] Nathan Wrigley: It&#8217;s so curious that for people that are born in the last, like I said, 20 years or so, the internet has just been a feature of their life, almost like a utility. Almost in certain parts of the world, like a human right. You might even describe it on that level.</p>\n\n\n\n<p>This conduit of information that can come in. This capacity to talk to people, any point on the globe almost immediately with almost zero cost. And in the time that you are describing just the merest foundations of that were beginning. Little glimmers of that would beginning to emerge.</p>\n\n\n\n<p>[00:14:34] Wes Tatters: Really edge.</p>\n\n\n\n<p>[00:14:35] Nathan Wrigley: Really interesting though. I can imagine your passion and interest and all of that must have been. The curiosity that was spiked by that.</p>\n\n\n\n<p>[00:14:42] Wes Tatters: It was. I loved it. But even then, we still didn&#8217;t truly understand where it was going.</p>\n\n\n\n<p>I remember a call from the team at Netscape going, it was around, I think it was around version three of the Netscape. Going we&#8217;ve got this idea we&#8217;re going to, we&#8217;re going to put a scripting thing in Netscape. What do you think? And I&#8217;m going, yeah. What do you mean? What do you think? We need you to include it in the next book. It&#8217;s this little thing called JavaScript.</p>\n\n\n\n<p>[00:15:04] Nathan Wrigley: Just little thing.</p>\n\n\n\n<p>[00:15:06] Wes Tatters: And I remember sitting there going, interesting idea. Can you tell me more about what it can do? And they went, we don&#8217;t really know yet. We&#8217;re still working on those bits. So we ended up writing the first JavaScript development guide, me and my technical writer, who was my technical editor for my Netscape books. And I wrote the first JavaScript Developers Guide for Netscape.</p>\n\n\n\n<p>So we were there in the middle of it, but all the way through, we still didn&#8217;t truly get it. It was still such this small thing. I was talking with Bud.</p>\n\n\n\n<p>[00:15:37] Nathan Wrigley: Bud Kraus.</p>\n\n\n\n<p>[00:15:38] Wes Tatters: Yeah, I was talking with Bud at PressConf, and we were chatting about just the way the internet&#8217;s evolved. I had the opportunity to meet Tim Burnes Lee.</p>\n\n\n\n<p>[00:15:46] Nathan Wrigley: Nice, the Godfather.</p>\n\n\n\n<p>[00:15:48] Wes Tatters: The Godfather of the internet. And listening to Tim talking about his dream of the internet and the worldwide web, this was a worldwide web conference seven, which was back before WordCamps. It was, that was what a WordCamp looked like before it was WordPress. And I look back and I was thinking, and I&#8217;m going, there were some serious names at that event. Tim Burnes Lee was there. James Gosling, the founder of Java, was there.</p>\n\n\n\n<p>And these were guys doing for the want of a better WordCamp style sessions, chatting about these ideas they&#8217;ve had. Seeing even then that what the worldwide web, and what we&#8217;ve grown into with WordPress had the potential to be, was entirely different to the way the world thought before that.</p>\n\n\n\n<p>I remember there was like, I think it was the Friday night. I actually ran the media for that particular conference, that was held in Australia. It was the first time being held out of the northern hemisphere. But no fully explained reason, it was being held in Australia, in my hometown, and I ran all the media for it.</p>\n\n\n\n<p>And I remember some guys, they had this sort, they were going to create this shoe library, it was like, this is the early web. Who knows what we&#8217;re going to do with it? We want a shoe library.</p>\n\n\n\n<p>[00:17:00] Nathan Wrigley: A shoe library, yeah.</p>\n\n\n\n<p>[00:17:01] Wes Tatters: They taking photographs of people&#8217;s shoes, and I remember it was like 7:30 on a Friday night, and Tim&#8217;s in a pair of slacks and a t-shirt. Taking his shoes off so that they could photograph his shoes, so that his photograph of his shoes could go into the shoe library.</p>\n\n\n\n<p>[00:17:19] Nathan Wrigley: Of course.</p>\n\n\n\n<p>[00:17:20] Wes Tatters: And this is the guy that invented the thing that we all live on. This is the father of everything we do today. But even then, he was this amazingly humble person, that was happy to have a chat with a bunch of kids and take photos of his shoes. It&#8217;s a different world.</p>\n\n\n\n<p>[00:17:38] Nathan Wrigley: When you are where you&#8217;re at. So in the year 2025, we&#8217;re concerned about the internet now. And so the way it ended up is how it now is. And honestly, it&#8217;s not one of those things that you pick apart, as like what is the history? What were the dominoes that fell to make the internet, what it now is?</p>\n\n\n\n<p>Like, history, politics and warfare, and all of those kind of things get dealt with by historians. The migration of people over great land masses, all of the kings, queens, all of that.</p>\n\n\n\n<p>But this, this kind of doesn&#8217;t, and it&#8217;s fascinating to listen to you there, because it feels like it could have gone in so many different directions. Maybe would&#8217;ve been a more AOL type thing, where everything was closed and you had to buy into AOL, and everything was handled by AOL. It didn&#8217;t turn out that way. Open won. I&#8217;m not entirely sure that we didn&#8217;t swing back to closed with things social media?</p>\n\n\n\n<p>[00:18:29] Wes Tatters: One of the things that caused that was the people who started using the technology that DARPA invented first, and it was universities.</p>\n\n\n\n<p>[00:18:41] Nathan Wrigley: Oh, interesting. That was the client base, wasn&#8217;t it? It was the academics.</p>\n\n\n\n<p>[00:18:44] Wes Tatters: It was the academics. So Tim&#8217;s original agenda was to obviously create a way to communicate with all the scientists in Cern what was happening in the accelerator that was sitting under three countries. Even then it was about community and communication. But as it&#8217;s walked forward, I look at the whole journey of the internet and at every point community has been a part of that.</p>\n\n\n\n<p>The ability to share things. The whole basis of what we have today in open source, moving towards WordPress, is about communication. So you can&#8217;t have open source without a group of people coming together to collaborate on a project as large as WordPress, or as large as, Linux or as large as Drupal, or as large as all of these other projects. And they&#8217;re not being paid for the most part.</p>\n\n\n\n<p>They&#8217;re doing it because of community, and the underlying technology behind that obviously is the internet. And more insignificantly since then this thing called the World Wide Web that Tim originally envisaged as a tool for sharing.</p>\n\n\n\n<p>[00:19:56] Nathan Wrigley: Yeah. But just tool for sharing with a handful of academics, and then it just grew exponentially. Do you remember the first time that the internet became more social. No, let me rephrase that. Do you remember when the internet shifted from something which a few people did? To something where, not the majority, but it was like hard to ignore at that point. Because definitely as a child have a of no internet.</p>\n\n\n\n<p>[00:20:20] Wes Tatters: Done badly, but Microsoft MSN. Windows 95 was the watershed. So Windows 95 launched, and for the first time, anyone, in inverted commas, with a modem didn&#8217;t need to know someone at a university. Didn&#8217;t need to know how to hard wire AOL to connect to something else. They could literally go get me on the internet, and it happened. So that was the watershed moment.</p>\n\n\n\n<p>Now, MSN as a platform also was heavily driven by community. And again, like it or love them, the original version of Messenger, an embarrassing mess, but it started the concept of community. The original version of MSN was a place where you could go and chat. Their design philosophies around. I remember, in Australia, 9 MSN was, the branding of it. 9 here is our major television network, and they partnered with MSN, in Microsoft and Australia and our major telco to bring MSN to Australia. But it was heavily geared around building communities. And I was quite active in that MSN community in Australia.</p>\n\n\n\n<p>We used to do things like popular TV shows would go to air, and then we would host forums where the actor, or the presenter, or someone from the show would hop literally straight off, the show would end at 9:30, and they would be in a forum going, and hey, tonight we&#8217;ve got insert name of whoever it is.</p>\n\n\n\n<p>And people could ask them questions. And we curated it. I was a part of the curations team at 9 MSN at that stage. And, again, it was using this crazy technology to build community, and to expand communities.</p>\n\n\n\n<p>Now for that network they were using as just obviously a marketing tool, but what it was doing underneath it was again, building this ethos of communities and spaces.</p>\n\n\n\n<p>We then have obviously Facebook that took that and ran with it in crazy directions, and commercialized it. But underneath it we&#8217;re still this open source thing. There&#8217;s still whole open source community.</p>\n\n\n\n<p>[00:22:31] Nathan Wrigley: Do you remember the moment as well when the internet went more from a consumption kind of thing? So you know, you would log onto somebody else&#8217;s property, MSNs Messenger or whatever it may be. I do remember that, by the way. To I can own a bit of the web, a bit of that whole thing can be something that I am in control of. And now we move towards CMSs I guess.</p>\n\n\n\n<p>[00:22:51] Wes Tatters: So this is probably 98 initially. So we were still writing books and Netscape was still trying to work out what they were doing in the world. And, Tim was, Tim was out telling people how big the internet could be. And I remember lots and lots of people, as I said, James Gosling&#8217;s come down, Tim Berners Lee&#8217;s come. The BBC had flown two camera teams, journalists, The Times had flown out people. NBC and CBS had flown out camera crews and to be at this event. Because Sir Tim was becoming Professor Tim at that stage. He was being reordered, a honorary doctorate from an Australian university. It was a big event.</p>\n\n\n\n<p>Could not get a single Australian broadcaster to even show up. Now, put this in perspective. I knew them all. I was actually in that industry. I knew the people. I literally was on the phone to news directors going, dude, just send me one cameraman. Oh, what&#8217;s this thing? What&#8217;s this thing? It was the internet.</p>\n\n\n\n<p>So 95 to 98, it was still a bit hokey. I think where it really started to change though is when things like WordPress started to arrive. Because before that my books on how to build a website, I love meeting people and go, I think I&#8217;ve got your book on a shelf somewhere. It was, and it was always either mine or Laura Lemay&#8217;s.</p>\n\n\n\n<p>Laura and I were both writing in parallel for the same publisher. And some of her chapters are in my books, my chapters in her books. But then it was, we were still hacking HTML. If you wanted to use JavaScript, it wasn&#8217;t jQuery or anything like that. You were writing lines of code and hoping it worked.</p>\n\n\n\n<p>And there were some predecessors and other things. Microsoft had to go at the same thing. Microsoft released a product called ASP, a little thing that.</p>\n\n\n\n<p>[00:24:32] Nathan Wrigley: Oh yeah, that&#8217;s right. Active Server Pages.</p>\n\n\n\n<p>[00:24:35] Wes Tatters: Yeah, and then they released a thing called asp.net, and this wonderful new programming language called C#. And that was their push into this community space. They released open source product with it. They released a product which was called I Buy Spy Portal, which was eventually then forked into a product by a guy named Sean Walker to become a product called DotNetNuke, which was literally their version of WordPress.</p>\n\n\n\n<p>I was there, I know Sean. I was in that space, and we were building communities again, coming outta the Microsoft space on DotNetNuke. At the same time, this little thing called WordPress was happening in parallel. At that stage, ironically, at that stage, I think DotNetNuke was actually more a CMS than WordPress was. Because WordPress was still really a blogging tool. It was still really MySpace for people who actually had a desire to code a bit.</p>\n\n\n\n<p>But I think it was then, that WordPress journey, the arrival of a mechanism that did two things. It allowed you to create a website without knowing how to code, and it allowed you to become a part of something, a community online, where you could all of a sudden reach out of your local neighborhood, your local city, your country, into the rest of the world. And take things to the rest of the world. Sell products to the rest of the world. Communicate to the rest of the world. Share your opinions and thoughts. In the past, you could do that on CompuServe. You could do that on America Online. But in all those places, you didn&#8217;t own your content.</p>\n\n\n\n<p>[00:26:16] Nathan Wrigley: Right, exactly that.</p>\n\n\n\n<p>[00:26:18] Wes Tatters: Even MySpace, sort of like the predecessor to almost Facebook. Facebook groups and forums. None of these spaces you owned your content. And so I think WordPress in its initial incarnation, a blog, was a way for people to start expressing their feelings. And the concept of blogging. And then we started to grow that how do we get our blog to the world? Well, RSS feeds, and then aggregators, and then this wonderful thing called Google came along.</p>\n\n\n\n<p>[00:26:45] Nathan Wrigley: Discoverability.</p>\n\n\n\n<p>[00:26:47] Wes Tatters: Discoverability, and visibility. And all along that journey, there&#8217;s this guy in the states beavering away, we&#8217;re talking about Matt, with a vision of what WordPress could be in that space. And he was creating that in parallel to these communities starting to emerge, to these other companies like Google, and Facebook building closed enclaves.</p>\n\n\n\n<p>Where Matt, obviously very passionate about open source, had a philosophy to build this space that people could use, that people could communicate and share. It was incredibly open. Anyone could write a plugin. Anyone could write a theme. Anyone could decide that they wanted to commercialize that space by selling their theme or selling their plugin.</p>\n\n\n\n<p>Hosting companies could host that platform. So the fact that was such an open product, tweaked something in the consciousness of the time. It tweaked something in that desire to communicate, but also I guess a concept of freedom to communicate.</p>\n\n\n\n<p>Freedom of speech is a passionate position of a lot of countries. The right to freedom of speech, and to a certain extent the right to express an opinion, safely. Or in some cases the rights to communicate in communities.</p>\n\n\n\n<p>I discovered during Covid that the platform that Rapyd grew out of Buddy Boss, which is a social media platform creation tool for WordPress. Install Buddy Boss and you&#8217;ve got your own private Facebook.</p>\n\n\n\n<p>We discovered that there were communities using Buddy Boss to communicate things to their people that they were terrified to communicate on private spaces, like social media or Facebooks. I know people specifically in some of those communities, doctors, other frontline groups and organizations that were facing the real challenges of what was happening in Covid and impacts of those things. They were able to use that gift of community, freely given, freely shared, where you own your raw data in ways that I hadn&#8217;t even considered.</p>\n\n\n\n<p>And for reasons that I hadn&#8217;t even considered. And each time I look at it, people find ways to use community creatively and in incredible ways. And we find that at the core of WordPress.</p>\n\n\n\n<p>[00:29:14] Nathan Wrigley: Yeah, we really do. I remember the first time I ever produced anything online, and it wasn&#8217;t with a CMS, it was just HTML. There was no CSS at the time, it was just tables and things. But I remember publishing that, a friend of mine knew more than I did, and he said, okay, here&#8217;s the environment. Here&#8217;s the text file. Just write it in there and, I&#8217;ll click a button and it&#8217;ll go to some server.</p>\n\n\n\n<p>And then I saw it, saw it on his computer. And then I said to him, but it&#8217;s on your computer. And he said, no, no, no, if you go home, it&#8217;ll be on that computer well.</p>\n\n\n\n<p>[00:29:44] Wes Tatters: And if, you go down the library, or you go up the road, and all you needed to know was where it was.</p>\n\n\n\n<p>[00:29:50] Nathan Wrigley: And I remembered this profound feeling of, what the heck. That&#8217;s so amazing. What, I just put something on your computer, and now anybody in the world should they, discoverability is the big problem, but they could find it. He&#8217;s yeah, that&#8217;s it. That&#8217;s what the internet basically is. And I remember thinking, gosh, what a force for good.</p>\n\n\n\n<p>[00:30:10] Wes Tatters: Huge force for good. Unfortunately, it&#8217;s also been a force for other things. I had a conversation with Tim, as a part of a set of interviews that the BBC were doing, this was in 1998. And at that stage, Tim was just exploring the idea of what he called the semantic web, which was zaml, and underlying metadata. And what Tim always envisaged the worldwide web should be, he always envisaged that every page, because he&#8217;s a data scientist, he envisaged that every page would have a beautiful set of metadata and structures, so that it could be searched and indexed.</p>\n\n\n\n<p>Of course that&#8217;s everything the worldwide web didn&#8217;t become, respectfully. We have enough trouble in the WordPress space remembering to put a, an alt text on a photo that we upload. But his envision was of this beautiful semantic web. So it hasn&#8217;t gone exactly the same way as he envisaged.</p>\n\n\n\n<p>But even without that semantic web, the additions and add-ons of things like Google, and Google search, and the ability to create an index, a massive index of the web. And now in 2025 going, hey, ChatGPT, can you just tell me the answer to this question please? And then can you write me a presentation?</p>\n\n\n\n<p>I was having a meeting with an associate of mine. I haven&#8217;t caught up with each other for about six years, and he&#8217;s deeply involved in the concept of human centered design, which is, a business practice where you, look at the customer to identify the problem. Not look at the business and try to solve a problem.</p>\n\n\n\n<p>He wanted to know about what I was doing in AI and that sort of stuff. And I said, did you know that I could write you a business plan? And they used to spend a lot of money creating business plans for people, and creating sessions and seminars. And I went, I can write you a seminar structure and plan in two minutes, on any topic.</p>\n\n\n\n<p>I said, no, we&#8217;ll do better. Hey, ChatGPT, tell me what you know about human-centered design and why it&#8217;s good. And of course it printed out 20 paragraphs. And then I went, can you summarize that for a presentation seminar? And of course it did that. And then I said, now can you give me the structure of the seminar?</p>\n\n\n\n<p>And it did that. And this guy sitting there going, are you kidding? And I said, that&#8217;s where we&#8217;ve come. But underlying all that is data and information. And none of that&#8217;s of any relevance unless you&#8217;ve got a community to share it with.</p>\n\n\n\n<p>[00:32:23] Nathan Wrigley: Do you have a sense that the internet has gone in a, I&#8217;m going to use the word bad or poor direction over the last decade? Do you have a sense that mistakes have been made? If you could rewind the clock, were there any moments in time where you think, I wish it hadn&#8217;t have gone in that direction?</p>\n\n\n\n<p>Because I often think things like proprietary platforms that kind of want to put a wall around the conversations that we have. They seem like, maybe in 50 years time when we look back, maybe they&#8217;ll seem like missteps. I don&#8217;t know. Maybe they&#8217;ll carry on and it&#8217;ll all be, as it is now.</p>\n\n\n\n<p>But it does feel like there&#8217;s a resurgence more to owning your own conversation. So obviously we do that in WordPress, but it does feel like there&#8217;s a bit of a groundswell towards more federated protocols. Things like the AT protocol that Bluesky are doing, but Mastodon and an ActivityPub and those kind of things.</p>\n\n\n\n<p>[00:33:12] Wes Tatters: I think again, if you harken back to Tim&#8217;s semantic web and, he wrote a document, 2022 I think, which was 30 years on. And he talked about where things had gone. I can tell you right now that the way I read Tim&#8217;s take on the worldwide web is that e-commerce was not a part of it. That was not a part of his idea of.</p>\n\n\n\n<p>[00:33:36] Nathan Wrigley: Yeah, how would you even have conceived that?</p>\n\n\n\n<p>[00:33:38] Wes Tatters: Yeah, e-commerce wasn&#8217;t a thing. I don&#8217;t truly think, Snapchatting or no fully explained reason, 15 second videos in TikTok were anywhere on the radar, because there was this whole deal of philosophy. But each of these things actually has the same underlying traits.</p>\n\n\n\n<p>It&#8217;s all about communities, it&#8217;s all about relationships and building relationships with people. Where I think personally we have made a misstep is in how our younger generations consume that community.</p>\n\n\n\n<p>[00:34:12] Nathan Wrigley: It&#8217;s a lot.</p>\n\n\n\n<p>[00:34:12] Wes Tatters: Well, it&#8217;s more than a lot. There was a survey done and I haven&#8217;t got the figures in front of me, because I wasn&#8217;t planning on discussing where we were here. That&#8217;s looked at the level of loneliness of people in 2025, compared to the level of loneliness of 20 and 30 years ago. And it directly related this online community thing. The, unfortunately, what do we call false community sometimes. The people we have never met that we talk to in a Snapchat or something like that, that are not community, and they&#8217;re not really our friends.</p>\n\n\n\n<p>And there is an increase in loneliness. And I think if there&#8217;s any misstep that we as a society have maybe taken out of this thing, is a lack of understanding of the impacts of loneliness. And I think the internet&#8217;s to blame for that.</p>\n\n\n\n<p>[00:35:13] Nathan Wrigley: The internet is so beguiling, isn&#8217;t it? Because there&#8217;s so much interesting stuff there. I think throw the mobile phone into that equation as well. This always on device, which is available 24 7. But it&#8217;s that capacity, incapacity, to put it down. You start doing something with it and then five minutes later you realize, often, in many cases, five minutes is not even the benchmark. More like an hour or something.</p>\n\n\n\n<p>[00:35:36] Wes Tatters: And, there are clinical reasons for that. We&#8217;re actually getting out of these devices the same dopamine hits that lead to depression. The same dopamine hits that lead to mood swings and to a certain extent mental health issues.</p>\n\n\n\n<p>We now have this whole, go on the internet and you&#8217;ll get, especially when you&#8217;re hitting my age, are you dopamine deprived? Join this, get on this dopamine detox. And it&#8217;s real. It&#8217;s a real problem. And the five minutes bursts, the swiping, the scrolling, the doom, scrolling, they&#8217;re not things that you could have even comprehended. We have all this data, massive amounts of data available to it, but we prefer to consume a, TikTok video, or look at photos of funny dogs or kittens, or dogs and kittens or whatever it is. The internet and the things that have grown out of that, have all contributed to that.</p>\n\n\n\n<p>[00:36:32] Nathan Wrigley: It really is interesting. Bit of a double-edged sword, really. Like on the one hand, the internet is probably the greatest innovation, maybe of all time. Or the electric light or, you know, what did the Romans us kind of thing.</p>\n\n\n\n<p>But also, curiously, it also has aspects of it which are really deleterious to humanity, and can really bring out the worst. It allows us to consume the worst to, I don&#8217;t know, to spend hours where we probably got other things that we should be doing, but for some reason we can&#8217;t let go of the phone, and things like that. So it is really curious.</p>\n\n\n\n<p>[00:37:06] Wes Tatters: It&#8217;s the speed that it&#8217;s happened.</p>\n\n\n\n<p>[00:37:08] Nathan Wrigley: And continues to happen. I don&#8217;t see any slowing down.</p>\n\n\n\n<p>[00:37:12] Wes Tatters: At PressConf the other day, one of the sessions was an AI session. Of course there&#8217;s going to be an AI session. Seriously, if you go to the opening of a restaurant in the town center, there&#8217;s some guy doing a presentation, and we&#8217;ve got Barry to talk about AI for 15 minutes. It feels like that anyway.</p>\n\n\n\n<p>One of the demonstrations was about two paragraph script, and it said effectively, hey, insert name of AI tool. I want you to create me a five second video, and I want the five second video to be of a dinosaur running out of a valley with a volcano erupting in the background. And as the dinosaur runs towards the camera, the ground shakes and the dinosaur&#8217;s then going to pass to the right hand side. And I&#8217;d like it to look a bit like Jurassic Park. That was literally the wording, and you hit enter not that long later, here&#8217;s a 15 second video that looks lifelike, realistic.</p>\n\n\n\n<p>[00:38:05] Nathan Wrigley: Jurassic Park.</p>\n\n\n\n<p>[00:38:06] Wes Tatters: It literally was, you may as well have been in the feature film. 10 years ago, 20 years ago, that would&#8217;ve cost couple of million dollars for that five seconds of animation. Now it&#8217;s literally something you can get on your mobile phone.</p>\n\n\n\n<p>[00:38:20] Nathan Wrigley: Anybody can get on their mobile phone.</p>\n\n\n\n<p>[00:38:22] Wes Tatters: I was looking at a video thing today. I was like, some AI tool where you can go, hey, can you, put me in a video of me flying? Yeah, sure. I just need 10 photos of you please. And, now what would you like to fly over? Yeah, technology&#8217;s changed.</p>\n\n\n\n<p>[00:38:35] Nathan Wrigley: Madness though, when you think about it, if you were to rewind the clock 30 years none of this was possible. I mean here I am talking you through a web browser as if it&#8217;s nothing. And it is utterly remarkable.</p>\n\n\n\n<p>[00:38:48] Wes Tatters: So we live in a society where we&#8217;ve moved from the first time anyone heard of a deep fake, but now it&#8217;s just what you do when you&#8217;re at lunch break.</p>\n\n\n\n<p>Things are changing. Forget about the ethics, the morals, and all those things, but our technology has changed. So yeah, to answer the question, are there missteps? Probably. But the interesting thing about the internet, and it&#8217;s something that was built into it at the beginning at DARPA, it&#8217;s actually got this amazing ability in technology to recorrect itself.</p>\n\n\n\n<p>And that was how DARPA was built. The whole idea was, if you can&#8217;t get it this way, it&#8217;ll go this way. And if you can&#8217;t get it this way, you&#8217;ll find a carrier pigeon, and you&#8217;ll keep the communications going. What we&#8217;ve discovered with communities, and with groups, is that they seem to have an inordinate way of self-correcting as well, through moderation, through conversations.</p>\n\n\n\n<p>When you get critical mass, and you pull enough people together, there is this inordinate ability to self-correct. I don&#8217;t fully understand the psychological basis behind it, but it&#8217;s fascinating how the internet has this ability to self-correct itself. So maybe over time it will, who knows?</p>\n\n\n\n<p>[00:40:02] Nathan Wrigley: Certainly in the world at large at the moment, we do seem to be in need of some sort of self-correction in all sorts of walks of life. And the WordPress community that we are both a part of definitely has had its schism over the last six months or so.</p>\n\n\n\n<p>[00:40:17] Wes Tatters: Look, and it&#8217;s been, and that&#8217;s happened before. And even those things self-correct, because there are communities that are passionate in this space. Yes, there&#8217;s been some drama. and there&#8217;s no point in having conversation about that. But one of the outputs of that has been interesting new conversations in communities. Not looking at things like how we destroy WordPress, or how we, what we do next, but actually going, how do we build our community? How do we assist our community?</p>\n\n\n\n<p>So even in those sort of challenges that every big ecosystem has, the community itself can self-correct. The community itself, can develop new relationships. And people grow out of those things.</p>\n\n\n\n<p>PressConf was an amazing example of that. Obviously it had happened before in a slightly different form a number of years ago, but this was, let&#8217;s put 150 odd in a space for a weekend, and let &#8217;em all chat and have conversations. And actually have intelligent dialogues and a whole heap of things grew out of it.</p>\n\n\n\n<p>When we have WordPress events, we have WordCamps. We have Word Camp Europe coming up. Groups creating new vision. We talk about things like contribution and what contribution looks like. There&#8217;s been some negatives about contribution in the recent space, but there&#8217;s also been some huge positives about contribution. Out of the drama we&#8217;ve had, actually created a new conversation. Many people who didn&#8217;t even understand the concept. Oh yeah, I just assumed WordPress was this thing. I never thought that there was actually people giving up their weekends to go to a day in Hyderabad to fix bugs in wordPress. But that&#8217;s what people do.</p>\n\n\n\n<p>And it actually helped us have a new conversation with a lot of people in the WordPress space that actually hadn&#8217;t even comprehended. Because they just assumed that they were, oh yeah, I just downloaded this WordPress thing.</p>\n\n\n\n<p>[00:42:13] Nathan Wrigley: Yeah, I do wonder if some things will come out of the year 2025 that would&#8217;ve been in the year 2024 unimaginable.</p>\n\n\n\n<p>[00:42:21] Wes Tatters: I would say I&#8217;m quietly positive. There are lots of conversations, at many layers. I do think, and this is my own personal opinion, that there is a time for speaking and a time for listening. And I think that right now there is a need for a lot of listening from disparate part of the community, and by listening I think a lot of people need to listen to what other people have to say. And then as a community, look at what all those things are. What&#8217;s being said, and look at what we do to self correct. I think it&#8217;s important to listen.</p>\n\n\n\n<p>[00:43:00] Nathan Wrigley: Yeah, a conversation which drifted through what the internet even was and is. Then finally landing on CMSs and WordPress and the community built up around that. So Wes, what a pool of knowledge you are. You&#8217;ve really done the entire internet circuit and I&#8217;m really glad that we got a chance to speak today. Thank you.</p>\n\n\n\n<p>[00:43:19] Wes Tatters: Nathan, it&#8217;s been a pleasure. Always happy to chat. It&#8217;s about conversation and communities. That&#8217;s what matters at the end of the day.</p>\n</div>\n\n\n\n<p>On the podcast today we have <a href=\"https://profiles.wordpress.org/wesrapyd/\">Wes Tatters</a>.</p>\n\n\n\n<p>Wes has been immersed in the tech space for close to four decades, starting his journey with early computers like the Commodore 64 and TRS-80. He’s been an author, with multiple books on internet technologies to his name, has worked across AV and media, and today, he’s the driving force behind Rapyd Cloud, a globally distributed hosting company. Wes’s perspective is shaped as much by his hands-on experience building communities on CompuServe, AOL, and MSN as by his deep involvement with modern open source platforms, like WordPress.</p>\n\n\n\n<p>Wes starts off by sharing some of the fascinating stories from the early web, when getting online meant stringing together modems and bulletin boards, and long-distance communication felt nothing short of miraculous. He talks about the evolution of the internet as a space for community, and how chance encounters in early online forums led to opportunities like writing for Netscape and shaping the very first JavaScript Developer Guides.</p>\n\n\n\n<p>We then discuss the changing meaning of “community” across different eras of the internet, touching on the shift from closed, walled gardens like AOL, to the open source ethos that powers projects like WordPress and much else that we take for granted online. Wes describes how WordPress’s flexibility and openness allowed anyone, anywhere, to claim their own piece of the web without technical barriers, and how this has contributed to its rise as a cornerstone of global digital freedom and self-expression.</p>\n\n\n\n<p>Our conversation also examines the challenges and potential missteps of the modern internet, from social loneliness to the commercial world of social media, and reflects on WordPress’s role in helping steer a path back to more positive, open, and empowering online experiences.</p>\n\n\n\n<p>If you’re interested in how the history of the internet directly shaped WordPress, the open web, and the communities we build today, this episode is for you.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Useful links</h2>\n\n\n\n<p><a href=\"https://rapyd.cloud/\">Rapyd Cloud</a></p>\n\n\n\n<p><a href=\"https://en.wikipedia.org/wiki/DARPA\">DARPA</a></p>\n\n\n\n<p><a href=\"https://en.wikipedia.org/wiki/AOL\">AOL</a></p>\n\n\n\n<p><a href=\"https://en.wikipedia.org/wiki/CompuServe\">CompuServe</a></p>\n\n\n\n<p><a href=\"https://www.amazon.co.uk/JavaScript-Developers-Guide-Wes-Tatters/dp/1575210843\">JavaScript Developers Guide</a> written by Wes</p>\n\n\n\n<p><a href=\"https://pressconf.events/\">PressConf</a></p>\n\n\n\n<p><a href=\"https://www2025.thewebconf.org/\">Worldwide Web Conference</a></p>\n\n\n\n<p><a href=\"https://en.wikipedia.org/wiki/Tim_Berners-Lee\"> Tim Burnes Lee</a></p>\n\n\n\n<p><a href=\"https://en.wikipedia.org/wiki/James_Gosling\">James Gosling</a></p>\n\n\n\n<p><a href=\"https://en.wikipedia.org/wiki/Laura_Lemay\">Laura Lemay</a></p>\n\n\n\n<p><a href=\"https://en.wikipedia.org/wiki/ASP.NET\">ASP</a></p>\n\n\n\n<p><a href=\"https://dotnet.microsoft.com/en-us/apps/aspnet\">asp.net</a></p>\n\n\n\n<p><a href=\"https://en.wikipedia.org/wiki/DNN_(software)\">DotNetNuke</a></p>\n\n\n\n<p><a href=\"https://en.wikipedia.org/wiki/Myspace\">MySpace</a></p>\n\n\n\n<p><a href=\"https://www.buddyboss.com/\">BuddyBoss</a></p>\n\n\n\n<p><a href=\"https://bsky.app/\">Bluesky</a></p>\n\n\n\n<p><a href=\"https://en.wikipedia.org/wiki/AT_Protocol\">AT Protocol</a></p>\n\n\n\n<p><a href=\"https://mastodon.social/\">Mastodon</a></p>\n\n\n\n<p><a href=\"https://en.wikipedia.org/wiki/ActivityPub\">ActivityPub protocol</a></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 14 May 2025 14:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Nathan Wrigley\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:16;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:103:\"Do The Woo Community: Why Agency Maturity Matters When Choosing WooCommerce (or Any Ecommerce Platform)\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=96863\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:106:\"https://dothewoo.io/blog/why-agency-maturity-matters-when-choosing-woocommerce-or-any-e-commerce-platform/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:197:\"This post highlights the significance of assessing business maturity when recommending WooCommerce to clients, ensuring they understand long-term commitments for successful online store management.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 14 May 2025 11:45:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:17;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"Matt: Upcoming Talks\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:23:\"https://ma.tt/?p=142414\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:37:\"https://ma.tt/2025/05/upcoming-talks/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:233:\"<p>It’s a busy speaking season! I just spoke at the Intelligent Change summit, and will be at SaaStock in Austin on May 14, SXSW London, on June 4, Brilliant Minds in Stockholm, and WordCamp EU in Basel, Switzerland, on June 7.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 13 May 2025 16:29:51 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:18;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:47:\"Do The Woo Community: A Recap of PressConf 2025\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=96913\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:46:\"https://dothewoo.io/a-recap-of-pressconf-2025/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:253:\"The episode of WordPress Event Talk discusses PressConf, led by new host Michelle Frechette. Our hosts share insights on networking, event structure, participant feedback, and the unique atmosphere of the event, emphasizing community and business focus.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 13 May 2025 11:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:19;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:92:\"Do The Woo Community: WordPress 6.8 Moved to bcrypt: A Quiet Revolution in Password Security\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=96876\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:95:\"https://dothewoo.io/blog/wordpress-6-8-moved-to-bcrypt-a-quiet-revolution-in-password-security/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:178:\"WordPress 6.8 upgrades password security by transitioning to bcrypt, enhancing protection against attacks without disrupting users, while setting new industry security standards.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 12 May 2025 09:31:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:20;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:127:\"Gutenberg Times: Gutenberg Changelog 117 – WooCommerce Starter Theme and Blocks, WordCamp Europe, and Gutenberg 20.7 and 20.8\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://gutenbergtimes.com/?post_type=podcast&p=40406\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:96:\"https://gutenbergtimes.com/podcast/gutenberg-changelog-117-woocommerce-starter-theme-and-blocks/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:48285:\"<p>Welcome to episode 117 of the Gutenberg Changelog podcast! In this jam-packed episode, host Birgit Pauli-Haack is joined by Ellen Bauer, product lead at WooCommerce for an insightful conversation covering all the latest developments in the WordPress ecosystem.</p>\n\n\n\n<p>Together, they dive into the progress on the new WooCommerce Starter Theme, its underlying “workhorse” philosophy, and the ongoing efforts to improve block theme adoption for e-commerce. Ellen shares behind-the-scenes challenges and a sneak peek into the team’s priorities—plus, learn how you can get involved and provide feedback as WooCommerce gears up for a first release in early June.</p>\n\n\n\n<p>The episode also offers a preview of what to expect at WordCamp Europe, from Ellen’s session (spoiler: it’s all about WooCommerce and block themes) to hands-on workshops like Birgit’s upcoming walkthrough of using WordPress Playground for product demos. They tackle a listener question on overriding block styles, highlight recent updates to WP-CLI, WordPress 6.8, and the Create Block Theme plugin, and break down the newest features in Gutenberg 20.7 and the upcoming 20.8 release.</p>\n\n\n\n<p>Whether you’re a theme builder, plugin developer, or a curious WordPress enthusiast, this episode is packed with actionable insights, pro tips, and friendly encouragement to explore the full potential of the block editor—especially for e-commerce sites. Tune in, and stay up-to-date with the fast-moving world of WordPress!</p>\n\n\n\n<p><a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-117-woocommerce-starter-theme-and-blocks/#shownotes\">Show Notes</a> / <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-117-woocommerce-starter-theme-and-blocks/#transcript\">Transcript</a></p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Music:&nbsp;<a href=\"https://soundcloud.com/xirclebox\">Homer Gaines</a></li>\n\n\n\n<li>Editor:&nbsp;<a href=\"https://www.linkedin.com/in/sandy-reed/\">Sandy Reed</a></li>\n\n\n\n<li>Logo:&nbsp;<a href=\"https://markuraine.com/\">Mark Uraine</a></li>\n\n\n\n<li>Production:&nbsp;<a href=\"https://icodeforapurpose.com\">Birgit Pauli-Haack</a></li>\n</ul>\n\n\n\n<p class=\"has-larger-font-size\" id=\"shownotes\"><strong>Show Notes</strong></p>\n\n\n\n<h2 class=\"wp-block-heading\">Ellen Bauer</h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://x.com/ellenbauer\">On X (former Twitter) @ellenbauer</a></li>\n\n\n\n<li><a href=\"https://www.elmastudio.de/en/\">ElmaStudio</a></li>\n\n\n\n<li><a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-105-gutenberg-18-9-block-themes-and-woocommerce/\">Gutenberg Changelog #105 – Gutenberg 18.9, Block Themes and WooCommerce</a></li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\">WooCommerce </h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://github.com/woocommerce/woo-themes/tree/trunk/woostarter\">Woo Starter Theme on GitHub</a> (MVP not for production)&nbsp;</li>\n\n\n\n<li><a href=\"https://developer.woocommerce.com/\">Woo Developer Blog</a></li>\n\n\n\n<li><a href=\"https://woocommerce.com/de/community-slack/\">Woo Dev Slack</a> </li>\n\n\n\n<li><a href=\"https://woocommerce.com/documentation/woocommerce/\">Woo Commerce Documentation</a></li>\n</ul>\n\n\n\n<p><strong>Listener Question</strong> on block styles and block themes</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://gutenbergtimes.com/wp-admin/post.php?post=40172&action=edit\">How to overwrite or remove core block styles</a></li>\n\n\n\n<li><a href=\"https://wordpress.com/blog/2025/05/07/custom-block-styles/\">Mastering Custom Block Styles in WordPress: 6 Methods for Theme and Plugin Developers</a></li>\n\n\n\n<li><a href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/\">Seven Tasks to a Custom Block Theme: Anders Norén’s Weekend Workflow</a></li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\">What&#8217;s released: </h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://make.wordpress.org/cli/2025/05/07/wp-cli-v2-12-0-release-notes/\">WP-CLI v2.12.0 Release Notes</a></li>\n\n\n\n<li><a href=\"https://wordpress.org/news/2025/04/wordpress-6-8-1-maintenance-release/\">WordPress 6.8.1 Maintenance Release</a></li>\n\n\n\n<li><a href=\"https://github.com/WordPress/create-block-theme/releases/tag/v2.7.0\">Create Block Theme 2.7.0</a></li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\">Gutenberg Plugin releases </h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://github.com/WordPress/gutenberg/releases/tag/v20.7.0\">Gutenberg 20.7</a></li>\n\n\n\n<li><a href=\"https://github.com/WordPress/gutenberg/releases/tag/v20.8.0-rc.1\">Gutenberg 20.8 RC 1</a></li>\n</ul>\n\n\n\n<p></p>\n\n\n\n<p class=\"has-large-font-size\">Stay in Touch</p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<ul class=\"wp-block-list\">\n<li>Did you like this episode? <a href=\"https://lovethepodcast.com/gutenbergchangelog\"><strong>Please write us a review </strong></a></li>\n\n\n\n<li>Ping us on X (formerly known as Twitter) or send DMs with questions. <a href=\"https://twitter.com/gutenbergtimes\">@gutenbergtimes </a>and <a href=\"https://twitter.com/bph\">@bph</a>.</li>\n\n\n\n<li><em>If you have questions or suggestions, or news you want us to include, send them to <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a>. </em></li>\n\n\n\n<li><em>Please write us a review on iTunes! <a href=\"https://gutenbergtimes.com/itunes/\">(Click here to learn how)</a></em></li>\n</ul>\n</div></div>\n\n\n\n<p class=\"has-large-font-size\" id=\"transcript\"><strong>Transcript</strong></p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Hello, and welcome to our 117th episode of the Gutenberg Changelog podcast. In today&#8217;s episode, we will talk about WooCommerce Starter Theme and Blocks, WordCamp Europe, Gutenberg 20.7 and 20.8. I&#8217;m your host, Birgit Pauli-Haack, curator at the Gutenberg Times, core contributor for the WordPress open source project, and I work for Automattic as a developer advocate. And I have with me Ellen Bauer, who is the Woo product lead and my resident theme wizard. So how are you today, Ellen? It&#8217;s so great that you can join me again.</p>\n\n\n\n<p><em>Ellen Bauer:</em> Thank you very much, Birgit. I&#8217;m great and I&#8217;m very excited to be on your podcast again. It has been a while and it&#8217;s always exciting for me to catch up with everything going on with the Gutenberg updates or like surrounding things like create block theme and yeah, I&#8217;m excited. I&#8217;m on my way to like halfway on the way to Europe for WordCamp Europe, which is exciting. I&#8217;m in Thailand right now in Bangkok, and there&#8217;s actually a thunderstorm just rolling in, so I hope that won&#8217;t add to any noise in our podcast today. But yeah, I&#8217;m great. Thanks for having me.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Oh, you&#8217;re welcome. You&#8217;re welcome. Yeah, well, it&#8217;s always good when we have some sudden movements on our podcast. It kind of gets us excited, but it&#8217;s not so good when you have a lightning strike and this. The power goes out. So that happens America quite often..</p>\n\n\n\n<p><em>Ellen Bauer:</em> In New Zealand as well, where we live. I hope it doesn&#8217;t happen. Yeah, I don&#8217;t think so.</p>\n\n\n\n<h3 class=\"wp-block-heading\">WooCommerce Starter Theme and Block</h3>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> I don&#8217;t think so either. So. Yeah, but you mentioned the last time that was the longer time that you&#8217;re on the show. So the last time it&#8217;s about 10 months ago, and you just had started at WooCommerce and you went on a quest to increase block theme adoption for WooCommerce. So how is it going?</p>\n\n\n\n<p><em>Ellen Bauer:</em> I&#8217;m still on the same quest and yeah, we are doing a lot of work and obviously there are a lot of complicated topics to solve because Ecommerce is just another level of complexity compared to just WordPress and blogs like Core WordPress. So the first thing we had to tackle and still like, really, I feel more or less still in the beginnings of it is improving the Woo blocks and, and then like, as a next layer we are building a pattern library. But we really needed to dig into the Woo blocks and we wanted to align them more with core blocks, make it like one experience for users and there were quite a lot of discrepancies and there still are. And we are about to release the first edition of new default Woo starter theme. Not replacing but kind of as an update to the classic theme storefront. Because yeah, it is the last default Woo theme that was there that people recommended or that that was released from WooCommerce. So we are updating that and there will be a first version. It&#8217;s really just a starter. I call it the Working Horse because it&#8217;s not meant to be a pretty like shiny theme, but really a starter point and also a reference for us to. To kind of test our own blocks to make them practical to see like what can we build and what can we not, and what do we want to build for the front end of Ecommerce stores with. With WooCommerce and what is just not possible at the moment to kind of set priorities on our work on blocks for WooCommerce. And I think that has really helped us to prioritize things that this kind of prioritization hasn&#8217;t really happened before. Yeah, you really need to use your own product to kind of see the shortcomings and what you want to fix. So that is the thing. That&#8217;s why I call it the Working Horse. And then as a next step once we have this released, we want to improve documentation. We want to help theme builders use this theme as a starting point to see how we think theme builders should work with Ecommerce and like similar to the default WordPress theme Twenty Twenty-Four, Twenty Twenty-Five just as a good reference point. And we are kind of concentrating on one theme because we want to leverage styles and yeah make it more like a mix and match of styles of font sets and a pattern library. Like use the components and make them mix and match rather than having it be one kind of stiff default theme that can&#8217;t be changed. So it will become quite creative I feel. And yeah, there&#8217;s still lots to do but it&#8217;s exciting and I think it really helps us to improve what is possible in a block WooCommerce WordPress world.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Well, there was a lot to unpack. So yes.</p>\n\n\n\n<p><em>Ellen Bauer:</em> It&#8217;s a big project that kind of occupied me for the last 10 months.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> No, no kidding. And others before you. So. So you mentioned first that the work on a theme is also based on the core blocks that are in Woo and that they need to be refined. If I remember correctly. Do you have a call for input or for feedback out for WooCommerce developers? Is that still ongoing or is that already closed? I wasn&#8217;t really up to that.</p>\n\n\n\n<p><em>Ellen Bauer:</em> No, definitely we have a call out at any time for we need especially also extension builders. We need their feedback on what they want in our blocks. We need feedback from theme builders what they want the Woo blocks to be able to do. We are also working quite a lot with what we want to bring into core WordPress, and there&#8217;s a lot of changes happening to bring more of the default things that users expect from ECommerce into core. So that is happening and it does affect the blocks as well. So yeah, we can add some links to requests for feedback and I&#8217;m also always available for any kind of feedback and I think once the theme is out we haven&#8217;t promoted it really because it&#8217;s still in the works, but it will kind of come out with the next WooCommerce release which is beginning of June. And then we are going to really say hey, we need people to test it and extension builders to test it out and give us feedback.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Is there a GitHub repo where people can do a sneak peek?</p>\n\n\n\n<p><em>Ellen Bauer:</em> Yes, there is a public GitHub repo where people can add the link to the podcast as well. And it&#8217;s yeah, we&#8217;re still doing a lot of changes, it&#8217;s being worked on. But yeah, we definitely need any kind of feedback we can get. And I think one of the disclaimers, and I put it in the readme file as well is that it&#8217;s a real work in progress, it&#8217;s not prettified or so. And I do like that. I think it&#8217;s good to show the sweat that goes into the work. And we also kind of still talk about a lot of changes like the patterns, where do we want to put the patterns and kind of looking in. For instance, what Rich Table has built on WordPress.com with a pattern library and if we can do something like that for Woo that they are just available outside of themes and really the next step I want to work on is also what kind of default patterns are shipped with WooCommerce. They will get a complete overhaul and kind of make everything more compatible. The starter theme is also based on the same theme JSON setting the assembler Rich Table’s assembler theme uses so it&#8217;s practically based on the same theme foundation. And I remember Nick Diego said to all his themes he kind of replaced to work on the basis of assembler because then we can really mix and match patterns across themes, and I think that&#8217;s a little bit limitation of block themes that in theory it&#8217;s possible, but it&#8217;s not really usable to do that. So that&#8217;s one of the things we want to improve.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, the standardizations is a little bit harder to do with block themes because people can mesh and mash the patterns from all kinds of different sources. Yeah. So timeline wise, the first sneak peek or the first version comes out of the starter theme in beginning of June. But the block work is ongoing but it needs to come to a certain place so you can release that theme and it&#8217;s actually a working example. And then it depends on the feedback that you get and also the integration with other extensions, what the next updates on the theme are going to be.</p>\n\n\n\n<p><em>Ellen Bauer:</em> Yeah, my goal for the next step after this initial release is look at the top 10 extensions and work with all of them to make it comfortable with this theme. And I think this will help all block themes to be more streamlined. And we are also really looking at all the cart and checkout pages and order confirmation. My account page is still not blockified. That&#8217;s on my wish list. It has been a little bit on the backlog, and I want to change that and kind of everything. Post purchase still needs a lot of work all the page templates there and yeah we will redo the whole default WooCommerce patterns that are shipped. Redo work on the default page templates that are that are in WooCommerce and kind of have a deep look into them and really make sure that this default starter theme just out of the box really works with everything that kind of WooCommerce recommends. That is the goal and yeah that it&#8217;s still a lot of work to be able to do that but it&#8217;s good to have a theme like a product that we can test it on. I think that was missing the WooCommerce that a lot of times we really didn&#8217;t know where to test and I think we have done it with Twenty Twenty-Four, Twenty Twenty-Five. But these themes are not meant to be ECommerce first themes, and I think that&#8217;s what we want to change with that project that we just felt we needed an E Commerce first theme to.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, absolutely.</p>\n\n\n\n<p><em>Ellen Bauer:</em> To really test all our product range and our core plugin with makes total sense.</p>\n\n\n\n<h3 class=\"wp-block-heading\">WordCamp Europe</h3>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> So beginning of June, I&#8217;m coming back to that because that&#8217;s also the week of WordCamp Europe and I know.</p>\n\n\n\n<p><em>Ellen Bauer:</em> So exciting.</p>\n\n\n\n<p>Birgit Pauli-Haack: It&#8217;s so exciting that we finally are to that place again that we meet up and at WordCamp Europe and if our listeners come. When you see us at the WordCamp Europe and we&#8217;re talking to somebody, it&#8217;s all just come up to us, introduce yourself and then be included in any conversation. That&#8217;s what the WordCamp is all about. It&#8217;s not that people who know each other can click together. It&#8217;s meet new people, meet new discussions, have a deeper discussion on certain WordPress topics in a face-to-face settings. So. So what&#8217;s your talk about then Ellen?</p>\n\n\n\n<p>Ellen Bauer: It&#8217;s about WooCommerce and block themes.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Oh no, you&#8217;re just kidding.</p>\n\n\n\n<p><em>Ellen Bauer:</em> Yes. Yay. So yeah, I&#8217;m available to talk about these topics actually. Anything I love to be able to meet in person. I loved last year&#8217;s being there at interim and I&#8217;m really excited to be able to to be there and getting myself up on stage. I&#8217;m a little bit frightened and my talk is going to be the last ones on the second day. So yeah, I&#8217;m not sure. I hope I won&#8217;t be nervous through the whole WordCamp two days or three days with contributor day having the talk kind of on the end. But yeah, please say hi and reach out to me as well if you see me around.&nbsp;</p>\n\n\n\n<p>Yeah, it&#8217;s so it I will talk about the benefits of block themes for Ecommerce because a lot of people I think kind of have the idea that block themes are great for blogs or for websites, for WordPress sites, but don&#8217;t use a block theme for Ecommerce. And I think that&#8217;s just a little bit of a perception that people put this in this box in this drawer, and it&#8217;s difficult to take WooCommerce out of that. I think once people have that kind of thought in their head that it&#8217;s not a great idea or not ready yet or so yeah, I want to give some examples to why I think that is not true. For instance the blog checkout, how much better the performance is and what kind of benefits people get. Because I think a lot of times users really don&#8217;t know about the benefits and benefits of customizing your single product page and just getting creative on what you can do in regards to maybe even different product pages. And just mainly I really want to show examples to make it just really visually appealing that you can drop in patterns and get a really customized WooCommerce experience with block themes and also way better performance and just the flexibility of it, and the ease and the speed and just all the benefits that are there. And also not forget to mention some limitations obviously that are still there that mainly come from plugin extensions WooCommerce extensions not being compatible and we are really hardly working on it. But there are a lot of extensions. Obviously some Ecommerce WooCommerce sites have limitations but I think it&#8217;s just good to highlight that and that we are working on it and remind people that maybe it&#8217;s a good idea to switch to a block theme with your Ecommerce site.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. Even if not to switch to definitely try it out and kind of see.</p>\n\n\n\n<p><em>Ellen Bauer:</em> Where that is or build a road map.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, no, I&#8217;m. I&#8217;m excited about that. I&#8217;m gonna, I will be able to come to kind of learn about all that and bring it back to our listeners later on or in the Gutenberg Times Weekend Edition kind of thing.</p>\n\n\n\n<p>Ellen Bauer: So what is the topic of your talk or workshop?</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> I&#8217;m doing a workshop and from zero to demo how to use WordPress playground to put a demo for your product together and we are probably looking at. So it&#8217;s a 75-minute workshop and we do it hands-on. We use the Playground built in Blueprint builder. We talk about the steps and the settings and how you get the different landing pages that you could do for your demo. You don&#8217;t have to start with the front end. You can go deep into it. So if you have a plugin that shows something in the, that works in the editor that you have a landing page that drops the person who wants to test it out right into the block editor of the Playground instance and have all the settings in there that your plugin needs or your theme needs to be to show off the better part of it and have that ready for one click. And you don&#8217;t have to think about a server, you don&#8217;t have to think about a database, you don&#8217;t have to think about hosting it somewhere. You just use Playground Instance and have can demo your product. So I think the workshop is going to be hands-on. It&#8217;s. It&#8217;s going really from zero. Okay, what&#8217;s this JSON file and all that and then we will build a little demo out. What are the pitfalls for content imports? How the content import needs to kind of be structured so the pictures that you need are actually showing and all these little things that sometimes trip up people who try it out.</p>\n\n\n\n<p><em>Ellen Bauer:</em> That&#8217;s exciting. I&#8217;m just wondering, do people have to register beforehand for the workshops?</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yes.</p>\n\n\n\n<p><em>Ellen Bauer:</em> How does it work?</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Registration for workshops on the website has just opened a couple of days ago or even just a couple of days ago, and you need to register and you also Registration is not all. It&#8217;s a free registration. Of course. If you already have your WordCamp ticket, you need to use the same email with which you bought your ticket and then they can match up the two tickets there. It&#8217;s also necessary that you are at the workshop 10 minutes before because if there&#8217;s a waiting list and you are not there to claim your seat, it will go to the waiting list members. Well, I&#8217;m not in. Workshops are all competing against all the rest of the talks in three tracks, so I don&#8217;t know how many people will show up. So it&#8217;s going to. It&#8217;s going to be on Friday after lunch at 2:30. No 1:30, sorry, at 1:30 in the Singapore Place, I think. Yeah. Workshops. There&#8217;s also a workshop with Milana Cap on the Interactivity API, and there is a workshop with the Block Development Cookbook with Ryan Welcher. It&#8217;s always great fun to do. And then Berislav also has a web playground workshop and that is a little bit going deeper into using it for automatic testing. So building automatic tests with WordPress Playground. And then those are the four workshops Interactivity API, automatic testing with Playground, demo site with Playground, and the Block Developer cookbook every day. Friday too and Saturday too. So it&#8217;s really cool. Well, thank you for asking.</p>\n\n\n\n<p><em>Ellen Bauer:</em> I have to register myself too.</p>\n\n\n\n<h3 class=\"wp-block-heading\">Listener Questions</h3>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, absolutely. So we had a listener question since the previous Gutenberg Changelog podcast and one is how to override the block styles that come with the theme.&nbsp;</p>\n\n\n\n<p>So I did a little short post on the Gutenberg Times on how to do this. If they are registered correctly, then you can do it over the global styles in the site editor. If you can&#8217;t because they&#8217;re registered with an older version of the interface, you can definitely unregister them. So add your own block styles to it. I have the link to the how to in the show notes and they are also published on the or that particular post also published on the Gutenberg Times. It&#8217;s very short but it dives a little bit deeper into how to do that. You could also how you override it in theme JSON. This is also a it&#8217;s not a no code variation but it&#8217;s also the theme JSON is fairly human readable and it gives you an example on how the JSON needs to look so you can override it in the theme JSON. And then there&#8217;s also a resource and that&#8217;s a huge resource on custom block styles in WordPress where you get theme developers and plugin developers can learn if they haven&#8217;t yet developed six methods to do block styles. What are block styles? Block styles is a way to add CSS to a Gutenberg core block. So it&#8217;s available for the content creator in the sidebar to just switch it over to the style. So if you have an image style and you want a, you want a certain border, you want a certain radius on the border, you want a certain color on it and you want to also a shadow on it, if that&#8217;s a standard for you, the theme developer can put that into a block style, and then every time the content creator wants to create use that block, it will show it has a button to show that particular comp more complicated styling and doesn&#8217;t have to do it every time click by click by click. So it&#8217;s a one click replacing the style of the core block.</p>\n\n\n\n<p><em>Ellen Bauer:</em> One of my favorites is always the button block like outline button. I think that&#8217;s like the one of the best examples where we, where we kind of use that main button, a primary button, secondary button, outline button.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, yeah. And the core blocks come with rounded corners and that&#8217;s normally not everybody&#8217;s a fan of rounded corners, so you need to override that. But it&#8217;s relatively easy to do. You can certainly also do block styles very much more complicated than what&#8217;s in the examples there. I&#8217;ve seen some very interesting block styles for the separator or quotes and pull quotes. They can have some very intriguing designs, but you need to put them into the theme JSON so people can adopt them through the global styles, not theme JSON in the theme JSONs, or with WordPress 6.6 comes a very easy way to add block styles is to put it in a JSON file under your styles and then just have the naming conventions there in terms of which block they attribute to and what the styles are. So and then WordPress picks up that from that particular place and adds it automatically to it. So you don&#8217;t have to worry about your CSS files. You don&#8217;t have to worry about enqueuing it on the editor or enqueuing it on the front end. WordPress does that all for you. So box hunts have been in Gutenberg for or in the since the beginning but this is now the most streamlined way to get them into the theme.</p>\n\n\n\n<p><em>Ellen Bauer:</em> And I, I always love that because you can reuse it. It&#8217;s like a, just a snippet a component, and you can you reuse it on multiple projects. That is like such a game changer, I think.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Absolutely. Yeah. And you can build your own style kind of library. Yeah. And then just move in the ones that you need. Yeah. If you want to go really out, then you can actually put together your own webpack building process where you kind of pull depending on which parameters pull in the particular styles, the patterns and the templates for a new bespoke theme for a client. So yeah, I like that. It&#8217;s all now file based and with less code, even more power. Yeah, so it&#8217;s pretty cool. So the two articles will be in the show notes linked.&nbsp;</p>\n\n\n\n<h3 class=\"wp-block-heading\">What’s Released &#8211; WPCLI Update</h3>\n\n\n\n<p>Now we come to the what&#8217;s Released section and I just wanted to give a shout out to Alain Schlesser who has done a tremendous job in maintaining the WPCLI components or features, and he just released another update for the version 2.12. Of course the release notes will be linked in the show notes, but I just wanted to highlight a few things.&nbsp;</p>\n\n\n\n<p>Now it&#8217;s very developer focused. That&#8217;s why it probably doesn&#8217;t get so many shoutouts on all the WordPress news. But it&#8217;s so called plug and patch commands for caches and transients. That means it can directly manipulate those individual entries. Wired the WPCLI command. And then there are the post list. Can now handle complex query flags in a JSON notation, which just makes it much easier to build the commands out with a text underscore query, which means taxonomy query, meter query and posted date fields. Just to add those with a flag in your command. Post meta can now be forced to return a single value. Sometimes post meta has a certain key, has multiple values over the course of a site existence. So you can now flag WordPress to only return the latest one and you don&#8217;t have to deal with all the other entries for that particular key value. That&#8217;s a pretty good neat feature there. The make JSON command is part of the WPCLI International component and it&#8217;s more powerful now. You can set the custom text domain, and you can also define the file extensions to parse. So that&#8217;s a side note. WPI18N make-JSON is the command that is used for JavaScript internationalization on WordPress with Gutenberg. A lot of interfaces have been built through JavaScript and they also need to be translated. So this helps you with organizing those strings for translation. Yeah, and WPCLI is then also fully compatible with PHP 8.4. So if you found that exciting as I do, go and read the release notes because Alain has published quite a few example code and commands and what the output is from those commands. So you can improve your WPCLI knowledge right there from the release notes. Yeah, so that was one thing. Do you want to talk us through the WordPress 6.8 release?</p>\n\n\n\n<h3 class=\"wp-block-heading\">WordPress 6.1.8 Release</h3>\n\n\n\n<p><em>Ellen Bauer:</em> Yes. So the 6.81 was the maintenance release and there were a few, maybe you have to help me out, Birgit.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. So yeah, Aaron Jorbin mentioned that there are 15 bugs through core and Block editor that had been released on April 30th. So the most important one is the regression fix that the meta boxes area had unwanted size handles and it broke the auto scroll. So you couldn&#8217;t just scroll down in a post to your meta boxes and fill them out. You had to kind of grab the handle and push pull them up because they&#8217;re now in a separate iframe or were. And that didn&#8217;t work well for many sites. And that&#8217;s why we have a release two weeks after the main release that is going to be fixed. So there was a revert on that feature. Also a revert was the edit site link.</p>\n\n\n\n<p>Ellen Bauer: The edit site link?</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, in the top admin bar it had the behavior that when you click on it, you landed automatically on the template of the page that you were looking at. But in 6.8 it changed that. You always went back to the first page of the site editor, and somehow the muscle memory of a lot of people who were accustomed to the other one, it was very irritating for them, and they made their feedback known and it&#8217;s definitely a 50/50 split. And so they reverted that change and are now thinking of what could be a better solution. And maybe it needs to be an edit site menu. Yeah. With multiple different menu items in there like edit template and a pattern edit page kind of thing. But yeah, that&#8217;s out in discussion and I don&#8217;t know where it&#8217;s going to land. But at least we have the previous fix again in there. And then also. Oh, and the rest API handing out the sticky post was a little haphazardous and it&#8217;s now fixed. The full list is in the release note, and we put them in the show notes of course. But yeah, update definitely. Yeah. Because it will be a more streamlined experience. And yeah, a lot of releases today. So create Block theme was released with 2.7. Do you want to grab that?</p>\n\n\n\n<p><em>Ellen Bauer:</em> Yeah, I can, I can take over. So yeah, I love that plugin. I use it quite a lot and it had been. It&#8217;s really improved over the years. And so if you maybe haven&#8217;t checked it out yet or don&#8217;t even know that it exists, it&#8217;s really, really cool for quickly creating block themes or child themes or just kind of creating patterns, like building out your patterns. So some updates that were done in the latest release 2.7 was that there was a bug with the figcaptions not being translated and that was fixed for image and video blocks. The icons for the sidebar. I think there were problems with translations and right to left language. The icons weren&#8217;t on the right side or. And the help kind of the help button wasn&#8217;t aligned. So you can see the before and after screenshots of the changes. And I think the chevron. I&#8217;m not sure if I&#8217;m saying that word correctly. I think, correct me if I&#8217;m wrong, but I never know how to pronounce the chevron. Yeah, they weren&#8217;t switching on to the other side, so that was fixed. And I think also some sizing for the icons, and then php CS removed unused files and it just released files. I&#8217;m not 100% sure what was the problem there.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> I don&#8217;t know what the problem was, but it&#8217;s fixed.</p>\n\n\n\n<p><em>Ellen Bauer:</em> Just some unused files were deleted.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, there were some unused files that were not used in the composer when you were putting together a development environment for the plugin. So because yeah, contributors want to contribute but they want to make sure that the environment is in the right place. Then there were some. Yeah, also code quality fixes and the wp-env that&#8217;s the testing WordPress the configuration has been improved and offers now certain environment variables that you can set on the command.</p>\n\n\n\n<p><em>Ellen Bauer: </em>So the create block, the major. Say again that were the major updates for that release.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> There&#8217;s right now a discussion going on on GitHub and on the repo about what to do with the pattern management because the advantage of putting the patterns in there doesn&#8217;t offset the disadvantages while working with it in the site. So what it does right now is when you say okay, save the patterns, it will remove the patterns from the. From the database and put it all in the theme. But of course all the sync patterns will become normal patterns because in a theme you don&#8217;t have sync patterns. So it&#8217;s kind of that in between problem that sync patterns are not yet available for themes but you actually want them in your site. So it confuses people quite a bit. And that&#8217;s a discussion on how not to confuse people, which is actually a pretty good goal.</p>\n\n\n\n<p><em>Ellen Bauer:</em> It&#8217;s tough.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Totally tough. Yeah.&nbsp;</p>\n\n\n\n<h3 class=\"wp-block-heading\">Gutenberg 20.7</h3>\n\n\n\n<p>So, and that brings us to the Gutenberg releases we have Gutenberg 20.7 came out with 22 contributors. Two of them were first timers.&nbsp;</p>\n\n\n\n<h3 class=\"wp-block-heading\">Enhancements</h3>\n\n\n\n<p>And I&#8217;ll start with the format library. The format library is the library that controls the dropdown on the block toolbar with different formatting options. And now you can also set the alpha value for the highlight. So you could actually highlight some words in a paragraph and click on the format drop down, and then highlight that and it would give you a color theme. But now you can also set the alpha value for the highlight manually. That format features are now also available for the details block. Now you can highlight stuff in the details blocks in the summary or in the expansion thing.</p>\n\n\n\n<p><em>Ellen Bauer:</em> Yeah, I think there was some kind of hard coded things in there that you couldn&#8217;t do that. And now you can do all the formatting in the details block.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, what was hard coded was the allow list in the details block. So they removed that. So now the formatting, all the formatting is available for the details block.</p>\n\n\n\n<p><em>Ellen Bauer:</em> The next one was the navigation in the site view. Now it automatically the default is that it expanded. And before it was not expanded, you had to have an extra click to. To open the sub menus. And in the PR there&#8217;s a before and after. And it&#8217;s really an improvement because you can see right away the entire menu. I love the site view.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Oh, the it&#8217;s actually a list called List.</p>\n\n\n\n<p><em>Ellen Bauer:</em> View, the list view and also in the, the like in the page editor in the template on both sides, it&#8217;s. It&#8217;s now automatic by default expanded. Is that correct?</p>\n\n\n\n<p>Birgit Pauli-Haack: Oh yeah, right. Right now the navigation block, when you try to edit it, it has a nice sidebar as well. And it&#8217;s also there expanded.&nbsp;</p>\n\n\n\n<p>So next item I want to talk about is the table block. Table block doesn&#8217;t get a whole lot of love from Gutenberg developers, but it&#8217;s actually pretty cool. And what&#8217;s mostly cool about it is when you have a markdown table from GitHub or from any other. So even if you work with AIs, I had a list of posts with views, and all that and the AI created that, but I told them to give me a markdown table so when I do, I can copy paste it into a post. And that was really cool because it now also preserves the column alignment in the pasting. Before you had to just fiddle around with it quite a bit on certain things where it wouldn&#8217;t come over. But that&#8217;s actually a really good feature to be that it possible that you can paste markdown tables. Not only markdown that we knew, but you can also mark down tables and it&#8217;s pulling it into a table block. I think that was it for 20.7. Yep. Okay, that brings us to 20.8.&nbsp;</p>\n\n\n\n<h3 class=\"wp-block-heading\">Gutenberg 20.8</h3>\n\n\n\n<p>And 20.8 hasn&#8217;t been released yet when we record the show, but the release candidate was out and that&#8217;s what our changelog is about.&nbsp;</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Enhancements</strong></h3>\n\n\n\n<p>So the Create block package can now also have a text domain flag when you start out your scaffolding. So it will be repeated throughout the plugin your text domain for the translation as well. And you don&#8217;t have to manually put this all in.</p>\n\n\n\n<p><em>Ellen Bauer:</em> I think the next one was that the text is now customizable for the next and previous button text, which wasn&#8217;t possible before to customize the text. That was an improvement.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Absolutely. There are now two new properties for the component available where you can customize it by code when you use them in your plugins, and that&#8217;s for the guide component. The guide is what pops up but nobody reads is the guide that comes up with the block editor. If you first time install a site and go into the editor. That&#8217;s the guide. Yeah. You can use it also for your plugins, and you can use it also for your theme. If you want to add text in there you to guide your users to certain things and then also makes those buttons are now customizable.</p>\n\n\n\n<p><em>Ellen Bauer:</em> The next one was search functionality for page templates. When you want to change the page template or swap them out. There wasn&#8217;t a way to understand correctly to like a proper or easy way to search for your templates if you have a lot of them. And now that&#8217;s improved. Is that correct, Birgit?</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. And it&#8217;s also for the pattern selection search.</p>\n\n\n\n<p><em>Ellen Bauer:</em> Oh, the same.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> It&#8217;s both. Yeah.</p>\n\n\n\n<p><em>Ellen Bauer:</em> I think that is really, really helpful.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. The testing instructions starts out, make sure you have at least 15 templates in there.</p>\n\n\n\n<p><em>Ellen Bauer:</em> Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> That cannot be applied to a page.</p>\n\n\n\n<p><em>Ellen Bauer:</em> Which can quickly happen. And that&#8217;s cool to have custom templates, right?</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. But that&#8217;s&#8230;</p>\n\n\n\n<p><em>Ellen Bauer:</em> You need a lot.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> You definitely need a search component in there. Yes.</p>\n\n\n\n<p><em>Ellen Bauer:</em> To roll through them.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. The next one mentions the reverse of the split view for the meta boxes that were in 28. It was released in Gutenberg, but it then was backported to the 6.8.1 release. So this is definitely already out and it&#8217;s also in the WordPress versions. Yeah, the widget editor. I don&#8217;t. I didn&#8217;t even know we had a widget editor.</p>\n\n\n\n<h3 class=\"wp-block-heading\">New API</h3>\n\n\n\n<p><em>Ellen Bauer: </em>Yeah, I was just saying I didn&#8217;t quite understand that one, to be honest.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. In the classic theme you have the widget menu and that is for a long time already a block based interface. So you need to lock the widget saving or the update button and all that. So now you can lock some of the functionality because not everybody should be able to do stuff there. Yeah.&nbsp;</p>\n\n\n\n<h3 class=\"wp-block-heading\">Bug Fixes</h3>\n\n\n\n<p>And then there are some fixes on the block editor. Now that was actually always a pet peeve of mine that when you get invalid blocks that you can&#8217;t at least edit the HTML because you don&#8217;t know what needs to be fixed. And now you can edit the HTML for invalid blocks.</p>\n\n\n\n<p><em>Ellen Bauer: </em>I do like that a lot too because sometimes it happens and you have that code there and you like want to get in.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. The last time I think I had.</p>\n\n\n\n<p><em>Ellen Bauer:</em> It with the no you can chat.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Pack with Jetpack AI features. Yeah. Somehow when I mark two paragraphs and then the first paragraph becomes invalid when I hit on the AI feature and it was only because there&#8217;s one of the HTML wasn&#8217;t closed well enough. I need to figure that out. But do a bug report. But yeah, it would have been really helpful to. To just manipulate the HTML of that. The next one is that PR or update will prevent spacer block to have a negative width when it&#8217;s used in a row block. That offsets all kinds of different things and that can definitely ruins your design. You can have a spacer block with a negative margin or negative width. That&#8217;s no problem. Yeah, but it doesn&#8217;t.</p>\n\n\n\n<p><em>Ellen Bauer:</em> But not inside a roadblock.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah, because that.</p>\n\n\n\n<p><em>Ellen Bauer:</em> So now it&#8217;s chooses to design the browser detects. Hey, I&#8217;m a spacer block inside a row block and the negative margin option is not available any longer. That is cool.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. And there&#8217;s a quality fix on that. Some of the block HTML now get box sizing property so that the overflow into the next block or into the next design element can be prevented. That&#8217;s definitely a good fix because some people are kind of getting really elaborate on those designs. And then how do you handle that?&nbsp;</p>\n\n\n\n<h3 class=\"wp-block-heading\">Documentation</h3>\n\n\n\n<p>We already mentioned the create block and the text domain flag. So that&#8217;s now in the create block readme. The block bindings API has a post meta limitation. This new update prevents protected post meta that are prefixed with underscore that cannot be used for block bindings. And the post meta also has to be available in the REST API. Those are the two limitations and they were not yet mentioned in the documentation. And also block bindings are only available for four blocks. So that&#8217;s the heading block, the paragraph block, the image block and the button block. All other blocks cannot yet handle block bindings. So those are all three limitations there. And now it&#8217;s in the documentation with working on those block style articles I found that the latest register block style parameter that came in with 6.6 called style underscore data hasn&#8217;t been documented which has been done now because that&#8217;s. That&#8217;s the most. That&#8217;s a great way to use it in a plugin to use the style underscore data because only the styled underscore data for the register block style function also puts the styles into the global styles for content creators to modify them. All the others you can do it on the page by page level. It&#8217;s in the styles but you cannot change them globally for a site. Yeah, that&#8217;s interesting. That was an interesting find there. So. Yeah, those are our Gutenberg releases. Wow, that&#8217;s. That&#8217;s cool. We are done with that. The release is either Friday May 9th for 20.8 or even today. We are recording this on May 8th. Well, we come to the end of things. So Ellen, I wish you safe travels to Europe.</p>\n\n\n\n<p><em>Ellen Bauer:</em> Thank you.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> When are you flying in? I don&#8217;t want to stalk you.</p>\n\n\n\n<p><em>Ellen Bauer:</em> Saturday night and arriving Sunday early morning and then heading actually to Berlin for a team meetup first. Then heading to Sweden for another meetup and then kind of taking a little family holiday break before arriving freshly rested in Basel.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. And with all the updates from the team. Freshly rested. So.</p>\n\n\n\n<p><em>Ellen Bauer:</em> Yes.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. You get the latest from WooCommerce for. From Ellen Bower at WordCamp Europe.</p>\n\n\n\n<p><em>Ellen Bauer:</em> Yeah, it&#8217;s going to be an exciting trip. I&#8217;m looking forward to coming to Europe. Should be fun. Is there any good weather I&#8217;ve seen the weather.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> It&#8217;s like quite coldish beginning of June. It&#8217;s normally pretty warm during the day. Yeah. Especially in that area that&#8217;s always a little bit ahead towards summer than the rest of Germany.</p>\n\n\n\n<p><em>Ellen Bauer:</em> The warmer.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Yeah, because it&#8217;s a little.</p>\n\n\n\n<p><em>Ellen Bauer:</em> Yeah, I know that&#8217;s. I didn&#8217;t bring any warm clothes though.</p>\n\n\n\n<p><em>Birgit Pauli-Haack: </em>Well, I would get rid of.</p>\n\n\n\n<p><em>Ellen Bauer:</em> I think I have to buy one.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Yeah. Yeah. I&#8217;m. We are actually heading out for vacation at the end of June. So we have team meetup at the end of June. And then afterwards, right away, I&#8217;m going to be in Norway for our family vacation. So I don&#8217;t know when we have the next, I think between WordCamp Europe and end of June, we will have another Gutenberg Changelog episode. And until then, as always, the show notes will be published on gutenbergtimes.com forward slash podcast. This is episode 117. 117. And if you have questions or suggestions, as you know, we are gonna discuss them on the next episode or in a post on Gutenberg Times or both. And if you have any news that you want to include, send them to <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a> that&#8217;s <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a> or ping me on Twitter, Blue Sky, Mastodon. And that&#8217;s all. All the ends are open. So thank you for coming, Ellan, and thank you to our listeners. And this is goodbye for me until the next time.</p>\n\n\n\n<p><em>Ellen Bauer:</em> Yeah, take care, everyone. And yeah, please reach out to us. There&#8217;s any questions also for my side.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> All right.</p>\n\n\n\n<p><em>Ellen Bauer: </em>Thank you for having me, Birgit.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> Oh, you&#8217;re welcome.&nbsp;</p>\n\n\n\n<p><em>Ellen Bauer:</em> Thank you.</p>\n\n\n\n<p><em>Birgit Pauli-Haack:</em> It is.</p>\n\n\n\n<p><em>Ellen Bauer:</em> Bye Bye.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sun, 11 May 2025 09:00:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:21;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:106:\"Gutenberg Times: Block Styles, Woo Product Collection, Deepwiki, Accessibility Day — Weekend Edition 329\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://gutenbergtimes.com/?p=40222\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:110:\"https://gutenbergtimes.com/block-styles-woo-product-collection-deepwiki-accessibility-day-weekend-edition-329/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:20572:\"<p>Hi, </p>\n\n\n\n<p>&#8220;And just like that, winter has faded from our collective memory&#8230;&#8221;, Om Malik wrote in his <a href=\"https://om.co/2025/05/04/a-letter-from-om-may-2025-edition/\">Letter from Om, May edition</a>. In Munich, we just had another cold spell, though. There is no doubt we are heading into the next hot summer.</p>\n\n\n\n<p>So it&#8217;s Saturday afternoon, and I am way behind on your newsletter edition. This week, I published approximately 7,500 words over three posts. Definitely a record! Plus, two podcast episodes (one is still with the editor).</p>\n\n\n\n<p>Don&#8217;t worry, this weekend edition is not entirely about me. <img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f61c.png\" alt=\"😜\" class=\"wp-smiley\" /></p>\n\n\n\n<p>Have a splendid weekend ahead! </p>\n\n\n\n<p>Yours, <img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f495.png\" alt=\"💕\" class=\"wp-smiley\" /><br /><em>Birgit</em></p>\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p><strong>Table of Contents</strong></p>\n\n\n\n<ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/block-styles-woo-product-collection-deepwiki-accessibility-day-weekend-edition-329/#0-p\">Plugins, Themes, and Tools for #nocode site builders and owners</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/block-styles-woo-product-collection-deepwiki-accessibility-day-weekend-edition-329/#2-word-press-6-0-1-and-6-1-scheduled\">Theme Development for Full Site Editing and Blocks</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/block-styles-woo-product-collection-deepwiki-accessibility-day-weekend-edition-329/#3-building-themes-for-fse-and-word-press\">Building Blocks and Tools for the Block editor.</a></li></ol>\n</div></div>\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f399.png\" alt=\"🎙\" class=\"wp-smiley\" /> The latest episode <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-117-woocommerce-starter-theme-and-blocks/\">Gutenberg Changelog 117 – WooCommerce Starter Theme and Blocks, WordCamp Europe, and Gutenberg 20.7 and 20.8</a> I sat down with Ellen Bauer, WooCommerce product lead and discussed what she is working on, WordCamp Europe, Create Block Theme, WP-CLI, Gutenberg 20.7 and Gutenberg 20.8 releases. </p>\n\n\n\n<img width=\"652\" height=\"184\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2022/03/Screenshot-2025-05-10-at-12.16.57.png?resize=652%2C184&ssl=1\" alt=\"Ellen Bauer and Birgit Pauli-Haack recording Gutenberg Changelog 117\" class=\"wp-image-40375\" />\n</div></div>\n\n\n\n<p><a href=\"https://europe.wordcamp.org/2025/workshop-registration-now-open/\"><strong>Workshop Registration Now Open for WordCamp Europe 2025 </strong></a>– Secure Your Spot Today! A reminder of the workshops offered: </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://europe.wordcamp.org/2025/session/the-block-developer-cookbook-wceu-2025-edition/\">The Block Developer Cookbook: WCEU 2025 Edition</a> with Ryan Welcher</li>\n\n\n\n<li><a href=\"https://europe.wordcamp.org/2025/session/from-zero-to-demo-mastering-wordpress-playground-blueprints/\">From Zero to Demo: Mastering WordPress Playground Blueprints</a> with yours truly</li>\n\n\n\n<li><a href=\"https://europe.wordcamp.org/2025/session/building-automated-tests-with-wordpress-playground/\">Building Automated Tests with WordPress Playground</a> with Berislav (Bero)  Grgicak</li>\n\n\n\n<li><a href=\"https://europe.wordcamp.org/2025/session/wordpress-gems-for-devs-interactivity-api/\">Interactivity API for Developers: WordPress Gems You Should Know</a> with Milana Cap</li>\n</ul>\n\n\n\n<p><a href=\"https://europe.wordcamp.org/2025/workshop-registration/\">Here is the Workshop Registration page</a>. You already need to have a ticket, and use for this registration the same email.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><em>Global Accessibility Awareness Day (GAAD)</em> is celebrated on May 15, 2025. <strong>Amber Hinds</strong> from <em>Equalize Digital</em> invites people to join in a virtual accessibility contributor day. This event aims to improve accessibility in WordPress. Whether you’re a developer, designer, content creator, or site owner, you have the skills. You can help make the internet more usable. You can make a difference for millions of people with disabilities. she wrote. You pledge your time <a href=\"https://equalizedigital.com/gaad2025/\"><strong>Global Accessibility Awareness Day Pledge &#8211; May 15, 2025</strong></a>.</p>\n\n\n\n<p>Suggested activities include reporting issues for Core, plugins, or themes. They also cover testing patches on accessibility tickets. You can offer feedback on existing accessibility issues or add captions to videos on WordPressTV. Additionally, running a webinar is another activity choice.</p>\n\n\n\n<a href=\"https://equalizedigital.com/gaad2025/\"><img width=\"652\" height=\"370\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/Screenshot-2025-05-10-at-14.50.59.png?resize=652%2C370&ssl=1\" alt=\"cover image of the Accessibility Pledge page on Equalize digital\" class=\"wp-image-40382\" /></a>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"0-p\">Plugins, Themes, and Tools for #nocode site builders and owners</h2>\n\n\n\n<p><strong>Brian Coords</strong> published the release notes for <a href=\"https://developer.woocommerce.com/2025/05/06/woocommerce-9-8-4-dot-release/\"><strong>WooCommerce 9.8.4</strong></a>.  It addresses a fatal error that occurred as the result of a remote service failure. </p>\n\n\n\n<p><strong>Stephanie Pi</strong> issued a <a href=\"https://developer.woocommerce.com/2025/05/06/developer-advisory-subscriptions-core-code-moving-into-woocommerce-subscriptions-plugin/\"><strong>Developer advisory: Subscriptions core code moving into WooCommerce Subscriptions plugin</strong></a>. he core code that powers WooCommerce Subscriptions will now be managed directly within the main plugin repository, rather than the separate, public <code>Automattic/woocommerce-subscriptions-core</code> codebase. This change, effective May 20, 2025, aims to reduce complexity, streamline versioning, and align with management of other WooCommerce extensions. Only developers directly depending on the core package or monitoring its repository are affected; regular plugin users or API integrators need not take action. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Fabian Kägy</strong> and I hung out with <strong>Nathan Wrigley </strong><a href=\"https://wpbuilds.com/2025/05/08/421-at-the-core-with-birgit-pauli-haack-and-fabian-kaegy-episode-3/\"><strong>for the third episode of the At the Core show</strong></a>. We dove into the latest buzz in WordPress. We especially focused on the 6.8 release. We covered some cool new features like</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>better details and accordion blocks, </li>\n\n\n\n<li>tweaks to the stylebook, </li>\n\n\n\n<li>fresh pattern section styles, </li>\n\n\n\n<li>upgraded gallery image options, and </li>\n\n\n\n<li>some nice improvements in template editing. </li>\n</ul>\n\n\n\n<p>We discussed the shift toward a slower, more thoughtful approach to WordPress core releases. There are changes in the dev workflow. We also talked about some new plugins like <a href=\"https://classifaiplugin.com/\">ClassifAI</a> and <a href=\"https://themeswitcher.com/\">ThemeSwitcher Pro</a>. These plugins make it easier to integrate AI. They also help to gradually move to block themes. This episode is packed with great tips for anyone looking to stay updated on new developments in WordPress. You also get hands-on insights about the latest features.</p>\n\n\n\n<a href=\"https://wpbuilds.com/2025/05/08/421-at-the-core-with-birgit-pauli-haack-and-fabian-kaegy-episode-3/\"><img width=\"652\" height=\"342\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/WP-Builds-Podcast-Episode-421-768x403-1.jpg?resize=652%2C342&ssl=1\" alt=\"cover image for the 421st episode of the WPBuilds podcast\" class=\"wp-image-40275\" /></a>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Kaspars Dambis</strong> created a nifty optimizing plugin called <a href=\"https://wpelevator.com/plugins/lazy-load-blocks\"><strong>Lazy Load Blocks for WordPress</strong></a>. It does exactly what it says on the tin. Configurable per block, even. Lazy loading blocks improves the Web Vitals. It enhances the Page Speed metrics. It does not impact the layout shift (CLS) when the lazy loading is triggered. There is a great demo video on the page. You will also find screenshots and instructions. Explanations of how this actually works are also included. It&#8217;s comes with a small price tag of $5 per month, billed annually. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In his latest video: <a href=\"https://www.youtube.com/watch?v=FHqh6oBEzRI\"><strong>How Thousands Use WordPress to Get Customer Feedback</strong></a>, Wes Theron demonstrates techniques for content creators and site owners. He shows how to use blocks by <a href=\"https://crowdsignal.com/\">Crowdsignal</a> to gather feedback. You can use highly interactive elements like polls, surveys, voting buttons, and more. Theron provides a step-by-step guide on how to add feedback tools to your site. This helps you start making smarter decisions based on real data.</p>\n\n\n<div width=\"100%\" class=\"wp-block-newsletterglue-showhide ng-block\">\n<div class=\"wp-block-embed__wrapper\">\n\n</div>\n</div>\n\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2-word-press-6-0-1-and-6-1-scheduled\">Theme Development for Full Site Editing and Blocks</h2>\n\n\n\n<p>In my latest post, <a href=\"https://wordpress.com/blog/2025/05/07/custom-block-styles/\"><strong>Mastering Custom Block Styles in WordPress: 6 Methods for Theme and Plugin Developers</strong></a>, I’m sharing some cool tips. These tips are for theme and plugin developers. They cover how to create and manage block styles in WordPress. The article discusses using JSON files. It also covers PHP functions like <code>register_block_style()</code>.  </p>\n\n\n\n<a href=\"https://wordpress.com/blog/2025/05/07/custom-block-styles/\"><img width=\"652\" height=\"283\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/Screenshot-2025-05-07-at-20.17.25.png?resize=652%2C283&ssl=1\" alt=\"list of various methods to create block styles\" class=\"wp-image-40278\" /></a>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In, <a href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/\"><strong>Seven Tasks to a Custom Block Theme: Anders Norén’s Weekend Workflow</strong></a>, A year ago, over a weekend, Anders Norén shared his block theme building process in a X thread. I finally found the time to make it a more enhanced tutorial for theme builders&#8217; perusal. You learn about Norén&#8217;s tools, his methods, and his tricks to enhance his designs.</p>\n\n\n\n<a href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/\"><img width=\"652\" height=\"453\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/Swedish-artist-making-a-website.jpg?resize=652%2C453&ssl=1\" alt=\"An artist painting a website in the Sweden. \" class=\"wp-image-40357\" /></a>\n\n\n\n<p><strong>&nbsp;<a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/\" target=\"_blank\" rel=\"noreferrer noopener\">&#8220;Keeping up with Gutenberg &#8211; Index 2025&#8221;</a>&nbsp;</strong><br />A chronological list of the WordPress Make Blog posts. It includes contributions from various teams involved in Gutenberg development. These teams are Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test, and Meta team from Jan. 2024 on. Updated by yours truly. The previous years are also available: <strong><strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2020/\">2020</a>&nbsp;|&nbsp;<a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2021/\">2021</a></strong>&nbsp;|&nbsp;<strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2022/\">2022</a></strong></strong>&nbsp;|&nbsp;<strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2023\">2023</a></strong> | <a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2024/\"><strong>2024</strong></a></p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"3-building-themes-for-fse-and-word-press\">Building Blocks and Tools for the Block editor.</h2>\n\n\n\n<p><strong>Eric Karkovack</strong> just published a tutorial on <a href=\"https://speckyboy.com/display-wordpress-custom-field-data-blocks/\"><strong>how to display WordPress custom field data with blocks</strong></a>. He introduces you to the Block Bindings API and walks you through an example from start to finish. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Jonathan Bossenger</strong> shared with me <strong>DeepWiki,</strong> a service by <a href=\"https://devin.ai/\">Devin AI</a>. it introduces itself as &#8220;your collaborative AI teammate, built to help ambitious engineering teams achieve more.&#8221; </p>\n\n\n\n<p>You can make it your companion developing for the Block Editor by visiting the sub-site for <a href=\"https://deepwiki.com/WordPress/gutenberg\" target=\"_blank\" rel=\"noreferrer noopener\">WordPress/Gutenberg</a>. It provides you with access to the documentation and code in a human-readable form. The chatbot will answer your questions. I tested it with two questions:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What are Gutenberg stores and what information can you find there?</strong> You can read <a href=\"https://deepwiki.com/search/what-are-gutenberg-stores-and_c11c547c-e195-46a6-991b-ded2a3fe4379\">the answer here</a>. </li>\n\n\n\n<li><strong>Is there a good analogy for state to better explain state management?</strong> T<a href=\"https://deepwiki.com/search/is-there-a-good-analogy-for-st_7d01d0ed-c449-44a3-afe6-31cf45929a51\">he answer shows</a> quite a few real live analogies: working with a notebook, a collaborative drawing board and a room with light switches and fixtures.</li>\n</ul>\n\n\n\n<p> Try it out yourself! It&#8217;s pretty helpful as it searches the documentation  and digs through the whole Gutenberg code base for answers. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In his <a href=\"https://developer.woocommerce.com/2025/05/08/tutorial-how-to-build-blocks-with-woocommerce/\"><strong>tutorial on how to build blocks with WooCommerce</strong></a>, <a href=\"https://x.com/sunyatasattva\"><strong>Marco Lucio Giannotta</strong></a> and <strong>Karol Manijak</strong> guide developers. They show how to build a WooCommerce Product Collection block. They break it down with an easy-going video and some code examples. You&#8217;ll get the scoop on block theory. You&#8217;ll watch a live-coding session where they create interactive blocks. You&#8217;ll dig deep into the default Product Collection block. There are two hands-on exercises. One teaches how to add a “Featured” filter. Another focuses on registering a custom collection of &#8220;on-sale products under $40.&#8221; It’s a great way to get the hang of block settings, custom queries, and using the WooCommerce API!</p>\n\n\n\n<img width=\"652\" height=\"365\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/Screenshot-2025-05-10-at-13.39.53.png?resize=652%2C365&ssl=1\" alt=\"Screenshot of the Video cover image Crafting Dynamic Catalogs\" class=\"wp-image-40379\" />\n\n\n\n<p>The <strong><a href=\"https://www.youtube.com/watch?v=vDL8zDRaSiY\">second part of the Unit test (with Jest) for WordPress Blocks</a></strong> is out. <strong>JuanMa Garrido</strong> programs unit tests for the copyright block from the &#8220;Tutorial: Build your first block&#8221;. He also explores how to  debug the Save component of a block. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>The <strong>Codeable</strong> Team published <a href=\"https://www.codeable.io/blog/how-to-get-started-with-the-interactivity-api/\"><strong>How to Get Started with the Interactivity API</strong></a>. This article introduces WordPress developers to a way of adding real-time features to websites without using heavy scripts or plugins. It explains that the Interactivity API, available from WordPress 6.5, allows developers to update page elements quickly, enhancing site performance and making development easier. It highlights the API’s benefits in performance, scalability, and WordPress integration.</p>\n\n\n\n<p>The next episode of <em>Jon learns to code with AI</em> is up. In <a href=\"https://www.youtube.com/watch?v=XO4L5Hv3RTw\" target=\"_blank\" rel=\"noreferrer noopener\">WordPress as a MCP Server</a>, <strong>Jonathan Bossenger</strong> reviewed the WordPress MCP plugin from Automattic. This plugin turns your WordPress site into an MCP server that your AI Agent can interact with. To learn what that exactly means, you need to watch the video. </p>\n\n\n<div width=\"100%\" class=\"wp-block-newsletterglue-showhide ng-block\">\n<div class=\"wp-block-embed__wrapper\">\n\n</div>\n</div>\n\n\n<p><strong><a href=\"https://gutenbergtimes.com/need-a-zip-from-master/\">Need a plugin .zip from Gutenberg&#8217;s master branch?</a></strong><br />Gutenberg Times provides daily build for testing and review. </p>\n\n\n\n<p>Now also available via <a href=\"https://playground.wordpress.net/?blueprint-url=https://gutenbergtimes.com/wp-content/uploads/2020/11/playnightly.json\">WordPress Playground</a>. There is no need for a test site locally or on a server. Have you been using it? <a href=\"mailto:pauli@gutenbergtimes.com\">Email me </a>with your experience</p>\n\n\n\n<p><img alt=\"GitHub all releases\" src=\"https://img.shields.io/github/downloads/bph/gutenberg/total?style=for-the-badge\" /></p>\n\n\n\n<p class=\"has-text-align-center has-small-font-size\"><em>Questions? Suggestions? Ideas? </em><br /><em>Don&#8217;t hesitate to send <a href=\"mailto:pauli@gutenbergtimes.com\">them via email</a> or</em><br /><em> send me a message on WordPress Slack or Twitter @bph</em>.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<p class=\"has-text-align-center has-small-font-size\">For questions to be answered on the <a href=\"http://gutenbergtimes.com/podcast\">Gutenberg Changelog</a>, <br />send them to <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>Featured Image: New York &#8211; View from The Highline 2015 by Birgit Pauli-Haack</p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\" />\n\n\n\n<p class=\"has-text-align-left\"><strong>Don&#8217;t want to miss the next Weekend Edition? </strong></p>\n\n\n<form class=\"wp-block-newsletterglue-form ngl-form ngl-portrait\" action=\"https://gutenbergtimes.com/feed/\" method=\"post\"><div class=\"ngl-form-container\"><div class=\"ngl-form-field\"><label class=\"ngl-form-label\" for=\"ngl_email\"><br />Type in your Email address to subscribe.</label><div class=\"ngl-form-input\"><input type=\"email\" class=\"ngl-form-input-text\" name=\"ngl_email\" id=\"ngl_email\" /></div></div><button type=\"submit\" class=\"ngl-form-button\">Subscribe</button><p class=\"ngl-form-text\">We hate spam, too, and won&#8217;t give your email address to anyone <br />except Mailchimp to send out our Weekend Edition</p></div><div class=\"ngl-message-overlay\"><div class=\"ngl-message-svg-wrap\"></div><div class=\"ngl-message-overlay-text\">Thanks for subscribing.</div></div><input type=\"hidden\" name=\"ngl_list_id\" id=\"ngl_list_id\" value=\"26f81bd8ae\" /><input type=\"hidden\" name=\"ngl_double_optin\" id=\"ngl_double_optin\" value=\"yes\" /></form>\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\" />\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 10 May 2025 14:30:32 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:22;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:88:\"Gutenberg Times: Seven Tasks to a Custom Block Theme: Anders Norén’s Weekend Workflow\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://gutenbergtimes.com/?p=28477\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:94:\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:91385:\"<p>Have you ever wondered how a modern WordPress block theme comes together &#8211; from first sketches to a polished, production-ready design? Over a single weekend, Anders Norén built Pulitzer, a new block theme, from the ground up. In this post, I’ll walk you through Anders’ process. I&#8217;ll highlight the tools, decisions, and little tricks that helped him move quickly.</p>\n\n\n\n<blockquote class=\"wp-block-quote has-accent-color has-text-color has-link-color has-normal-font-size wp-elements-7e7c6e4a188deb9c1cff659965fc3217 is-layout-flow wp-block-quote-is-layout-flow\">\n<p>&#8220;I have the house to myself this weekend, so I thought I’d try something new. My goal is to build and submit a new free block theme to before Monday. While I work, I’ll describe my dev process in this thread.&#8221;</p>\n<cite>Anders Norén on X (formerly known as Twitter) </cite></blockquote>\n\n\n\n<p>About a year ago, <strong>Anders Norén</strong> posted an X (formerly known as Twitter) thread about his process. He gave me permission to collect the tweets into a blog post. Since then, he deleted his account and content on X. The valuable information is not lost. Here you go.</p>\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p class=\"has-normal-font-size\"><strong>Table of contents</strong></p>\n\n\n\n<ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#the-inspiration-and-seven-tools\">The inspiration and seven tools</a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#figma\">Figma</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#jetpack-and-block-bindings\">Jetpack and Block Bindings </a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#studio-app\">Studio app </a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#wordpress-com-hosting\">WordPress.com hosting</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#create-block-theme\">Create Block Theme</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#twenty-twenty-four\">Twenty Twenty-Four</a></li></ol></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#first-task-remove-many-things\">First task: remove many things</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#second-task-update-theme-json\">Second task: update theme.json</a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#spacing-and-colors\">Spacing and Colors</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#typography\">Typography</a></li></ol></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#third-task-templates-and-patterns\">Third task: Templates and Patterns</a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#header-and-footer\">Header and Footer</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#archives\">Archives</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#alternative-post-layouts\">Alternative post layouts</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#404-template-and-the-search-block\">404-template and the Search block</a></li></ol></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#fourth-task-handling-blocks\">Fourth task: handling blocks</a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#jetpack-blocks\">Jetpack blocks</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#block-bindings-api-blocks\">Block Bindings API blocks</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#the-copyright-year-in-the-footer\">The copyright year in the footer</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#reading-time\">Reading Time </a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#comments-count\">Comments count </a></li></ol></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#fifth-task-patterns\">Fifth Task: Patterns</a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#the-newsletter-page-pattern\">The newsletter page pattern</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#the-resume-page-pattern\">The resume page pattern</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#contact-page-pattern\">Contact Page Pattern</a></li></ol></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#sixth-task-style-variations\">Sixth Task: Style Variations</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#seventh-task-submit-to-the-repository\">Seventh Task: Submit to the Repository</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/seven-steps-to-a-custom-block-theme-anders-norens-weekend-workflow/#who-is-anders-noren\">Who is Anders Norén?</a></li></ol>\n</div></div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-inspiration-and-seven-tools\">The inspiration and seven tools</h2>\n\n\n\n<p>The theme Norén set out to build that weekend is called Pulitzer. It is meant for long-form writing with a special consideration for writers with newsletters. </p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"figma\">Figma</h3>\n\n\n\n<p>You can find <a href=\"https://www.figma.com/proto/XGptBeSLNzlrw0hzeNnWdb/Pulitzer?page-id=50%3A1594&type=design&node-id=50-1595&viewport=938%2C675%2C0.08&t=jQKrUgZF0ItqgXzw-1&scaling=scale-down-width\">a Figma presentation here</a>. The video walks you through the Pulitzer Figma space.</p>\n\n\n\n		\n			<div class=\"jetpack-videopress-player__wrapper\"> </div>\n			\n			\n		\n		\n\n\n<h3 class=\"wp-block-heading\" id=\"jetpack-and-block-bindings\">Jetpack and Block Bindings </h3>\n\n\n\n<p>Some elements in the design stand out:  </p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Reading time </li>\n\n\n\n<li>Like button </li>\n\n\n\n<li>Share buttons </li>\n\n\n\n<li>Newsletter signup </li>\n</ol>\n\n\n\n<p>For a self-hosted WordPress site, those blocks are not available out of the box unless you install the <a href=\"https://wordpress.org/plugins/jetpack/\">Jetpack plugin</a>. For the reading time, comment count and copyright year in the footer, Norén experimented with the <a href=\"https://developer.wordpress.org/block-editor/reference-guides/block-api/block-bindings/\">Block Bindings API.</a></p>\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<img width=\"601\" height=\"228\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/04/Screenshot-2025-04-22-at-17.30.23.png?resize=601%2C228&ssl=1\" alt=\"Mockup of a single post representation in a list of post with red time, number of likes and number of comments \" class=\"wp-image-40085\" />\n</div></div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"studio-app\">Studio app </h3>\n\n\n\n<p>This was also the first time, Norén used the <a href=\"https://developer.wordpress.com/studio/\">Studio app by WordPress.com</a> for local development. It&#8217;s free and open-source. </p>\n\n\n\n<blockquote class=\"wp-block-quote has-accent-color has-text-color has-link-color wp-elements-c971a24caa690fbf8f4246ad45350563 is-layout-flow wp-block-quote-is-layout-flow\">\n<p>&#8220;First impressions are very good. It probably doesn’t tick all the boxes for people with more advanced needs, but for what I’m doing, it seems perfect.&#8221;</p>\n\n\n\n<p><em>Anders Norén</em></p>\n</blockquote>\n\n\n\n<img width=\"652\" height=\"458\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/05/GMKJXquWoAAl50y.jpeg?resize=652%2C458&ssl=1\" alt=\"Screenshot of Studio, the free and open-source local development tool by WordPress.com\" class=\"wp-image-28483\" />\n\n\n\n<h3 class=\"wp-block-heading\" id=\"wordpress-com-hosting\">WordPress.com hosting</h3>\n\n\n\n<p>Norén hosts his sites on WordPress.com. Because of the <a href=\"https://developer.wordpress.com/docs/developer-tools/github-deployments/\">GitHub Deployment </a> feature, he found it easy to keep the Pulitzer demo site updated.</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"create-block-theme\">Create Block Theme</h3>\n\n\n\n<p>Another tool he used is the community plugin <a href=\"https://wordpress.org/plugins/create-block-theme/\">Create Block theme</a>. Once installed, it helps you make design decisions in the Site Editor and save them back to your theme&#8217;s file.</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"twenty-twenty-four\">Twenty Twenty-Four</h3>\n\n\n\n<blockquote class=\"wp-block-quote has-accent-color has-text-color has-link-color has-normal-font-size wp-elements-16a3247975630952417fec2a2e718fb0 is-layout-flow wp-block-quote-is-layout-flow\">\n<p>&#8220;Twenty Twenty-Four is my go-to starting point on most projects these days.&#8221; </p>\n<cite>Anders Norén</cite></blockquote>\n\n\n\n<p>He also found that it&#8217;s probably the best default theme ever. He gave a special shout-out to the theme leads <a href=\"https://profiles.wordpress.org/luminuu/\">Jessica Lyschik</a> and <a href=\"https://profiles.wordpress.org/onemaggie/\">Maggie Cabrera</a>.</p>\n\n\n\n<p>Both the demo and the GitHub repo are publicly accessible:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://t.co/bosfwXWjkU\" target=\"_blank\" rel=\"noreferrer noopener\">https://pulitzer.andersnoren.se</a></li>\n\n\n\n<li><a href=\"https://github.com/andersnoren/pulitzer\">https://github.com/andersnoren/pulitzer</a></li>\n</ul>\n\n\n\n<p>With all the tools in place, Anders Norén ventured to build the WordPress theme.</p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"first-task-remove-many-things\">First task: remove many things</h2>\n\n\n\n<p>Norén began by taking the <a href=\"https://wordpress.org/themes/twentytwentyfour/\">Twenty-Twenty-Four</a> default theme. He started with removing all the templates, template parts, patterns, fonts, images, and styles that won&#8217;t be needed. Then, he renamed the rest.</p>\n\n\n\n<img width=\"652\" height=\"774\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/05/GMKVaZ8XkAENvj6.jpeg?resize=652%2C774&ssl=1\" alt=\"Screenshot of the list of files \" class=\"wp-image-28485\" />\n\n\n\n<h2 class=\"wp-block-heading\" id=\"second-task-update-theme-json\">Second task: update theme.json</h2>\n\n\n\n<p>In a second step, Norén updated the theme settings with those from the design in the <code>theme.json</code> file</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>spacing sizes, </li>\n\n\n\n<li>colors, and </li>\n\n\n\n<li>typography</li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"spacing-and-colors\">Spacing and Colors</h3>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>HTML</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki rose-pine-dawn\" tabindex=\"0\"><code><span class=\"line\"><span>\"spacing\": {</span></span>\n<span class=\"line\"><span>			\"spacingScale\": {</span></span>\n<span class=\"line\"><span>				\"steps\": 0</span></span>\n<span class=\"line\"><span>			},</span></span>\n<span class=\"line\"><span>			\"spacingSizes\": [</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"name\": \"4px\",</span></span>\n<span class=\"line\"><span>					\"size\": \"4px\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"10\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"name\": \"8px\",</span></span>\n<span class=\"line\"><span>					\"size\": \"8px\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"20\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"name\": \"12px\",</span></span>\n<span class=\"line\"><span>					\"size\": \"12px\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"30\"</span></span>\n<span class=\"line cbp-see-more-line cbp-see-more-transition\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"name\": \"16px\",</span></span>\n<span class=\"line\"><span>					\"size\": \"16px\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"40\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"name\": \"24px\",</span></span>\n<span class=\"line\"><span>					\"size\": \"24px\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"50\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"name\": \"32px\",</span></span>\n<span class=\"line\"><span>					\"size\": \"32px\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"60\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"name\": \"48px\",</span></span>\n<span class=\"line\"><span>					\"size\": \"clamp(32px, 4.8vw, 48px)\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"70\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"name\": \"64px\",</span></span>\n<span class=\"line\"><span>					\"size\": \"clamp(48px, 6.4vw, 64px)\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"80\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"name\": \"96px\",</span></span>\n<span class=\"line\"><span>					\"size\": \"clamp(64px, 9.6vw, 96px)\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"90\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"name\": \"128px\",</span></span>\n<span class=\"line\"><span>					\"size\": \"clamp(64px, 12.8vw, 128px)\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"100\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"name\": \"Body Margin (24px)\",</span></span>\n<span class=\"line\"><span>					\"size\": \"24px\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"body-margin\"</span></span>\n<span class=\"line\"><span>				}</span></span>\n<span class=\"line\"><span>			],</span></span>\n<span class=\"line\"><span>			\"units\": [</span></span>\n<span class=\"line\"><span>				\"%\",</span></span>\n<span class=\"line\"><span>				\"px\",</span></span>\n<span class=\"line\"><span>				\"em\",</span></span>\n<span class=\"line\"><span>				\"rem\",</span></span>\n<span class=\"line\"><span>				\"vh\",</span></span>\n<span class=\"line\"><span>				\"vw\"</span></span>\n<span class=\"line\"><span>			]</span></span>\n<span class=\"line\"><span>		}</span></span></code></pre><div class=\"cbp-see-more-container\"><div></div><span tabindex=\"0\" class=\"cbp-see-more-simple-btn cbp-see-more-simple-btn-hover\">Click to see more</span></div></div>\n</div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>HTML</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki rose-pine-dawn\" tabindex=\"0\"><code><span class=\"line\"><span>\"color\": {</span></span>\n<span class=\"line\"><span>			\"defaultPalette\": false,</span></span>\n<span class=\"line\"><span>			\"palette\": [</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"color\": \"#FFFFFF\",</span></span>\n<span class=\"line\"><span>					\"name\": \"Base\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"base\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"color\": \"#F9F9F9\",</span></span>\n<span class=\"line\"><span>					\"name\": \"Base / Two\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"base-2\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"color\": \"#191716\",</span></span>\n<span class=\"line\"><span>					\"name\": \"Contrast\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"contrast\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line cbp-see-more-line \"><span>					\"color\": \"#666666\",</span></span>\n<span class=\"line\"><span>					\"name\": \"Contrast / Two\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"contrast-2\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"color\": \"#767676\",</span></span>\n<span class=\"line\"><span>					\"name\": \"Contrast / Three\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"contrast-3\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"color\": \"#DADADA\",</span></span>\n<span class=\"line\"><span>					\"name\": \"Contrast / Four\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"contrast-4\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"color\": \"#EEEEEE\",</span></span>\n<span class=\"line\"><span>					\"name\": \"Contrast / Five\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"contrast-5\"</span></span>\n<span class=\"line\"><span>				}</span></span>\n<span class=\"line\"><span>			]</span></span>\n<span class=\"line\"><span>		}</span></span></code></pre><div class=\"cbp-see-more-container\"><div></div><span tabindex=\"0\" class=\"cbp-see-more-simple-btn cbp-see-more-simple-btn-hover\">Click to see more</span></div></div>\n</div>\n</div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"typography\">Typography</h3>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>HTML</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki rose-pine-dawn\" tabindex=\"0\"><code><span class=\"line\"><span>\"fontFamilies\": [</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"fontFace\": [</span></span>\n<span class=\"line\"><span>						{</span></span>\n<span class=\"line\"><span>							\"fontFamily\": \"Newsreader\",</span></span>\n<span class=\"line\"><span>							\"fontStretch\": \"normal\",</span></span>\n<span class=\"line\"><span>							\"fontStyle\": \"normal\",</span></span>\n<span class=\"line\"><span>							\"fontWeight\": \"200 900\",</span></span>\n<span class=\"line\"><span>							\"src\": [</span></span>\n<span class=\"line\"><span>								\"file:./assets/fonts/newsreader/newsreader-var.woff2\"</span></span>\n<span class=\"line\"><span>							]</span></span>\n<span class=\"line\"><span>						},</span></span>\n<span class=\"line\"><span>						{</span></span>\n<span class=\"line\"><span>							\"fontFamily\": \"Newsreader\",</span></span>\n<span class=\"line\"><span>							\"fontStretch\": \"normal\",</span></span>\n<span class=\"line\"><span>							\"fontStyle\": \"italic\",</span></span>\n<span class=\"line\"><span>							\"fontWeight\": \"200 900\",</span></span>\n<span class=\"line\"><span>							\"src\": [</span></span>\n<span class=\"line\"><span>								\"file:./assets/fonts/newsreader/newsreader-var-italic.woff2\"</span></span>\n<span class=\"line cbp-see-more-line \"><span>							]</span></span>\n<span class=\"line\"><span>						}</span></span>\n<span class=\"line\"><span>					],</span></span>\n<span class=\"line\"><span>					\"fontFamily\": \"\\\"Newsreader\\\", ui-serif, \\\"Times New Roman\\\", serif\",</span></span>\n<span class=\"line\"><span>					\"name\": \"Newsreader\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"body\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"fontFamily\": \"ui-sans-serif, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", sans-serif\",</span></span>\n<span class=\"line\"><span>					\"name\": \"System Sans-serif\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"system-sans-serif\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"fontFamily\": \"ui-serif, \\\"Times New Roman\\\", serif\",</span></span>\n<span class=\"line\"><span>					\"name\": \"System Serif\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"system-serif\"</span></span>\n<span class=\"line\"><span>				}</span></span>\n<span class=\"line\"><span>			],</span></span></code></pre><div class=\"cbp-see-more-container\"><div></div><span tabindex=\"0\" class=\"cbp-see-more-simple-btn cbp-see-more-simple-btn-hover\">Click to see more</span></div></div>\n</div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>HTML</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki rose-pine-dawn\" tabindex=\"0\"><code><span class=\"line\"><span>\"fontSizes\": [</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"fluid\": false,</span></span>\n<span class=\"line\"><span>					\"name\": \"XXS\",</span></span>\n<span class=\"line\"><span>					\"size\": \"12px\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"xx-small\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"fluid\": false,</span></span>\n<span class=\"line\"><span>					\"name\": \"XS\",</span></span>\n<span class=\"line\"><span>					\"size\": \"14px\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"x-small\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"fluid\": false,</span></span>\n<span class=\"line\"><span>					\"name\": \"Small\",</span></span>\n<span class=\"line\"><span>					\"size\": \"16px\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"small\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line cbp-see-more-line \"><span>				{</span></span>\n<span class=\"line\"><span>					\"fluid\": false,</span></span>\n<span class=\"line\"><span>					\"name\": \"Medium\",</span></span>\n<span class=\"line\"><span>					\"size\": \"18px\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"medium\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"fluid\": false,</span></span>\n<span class=\"line\"><span>					\"name\": \"Large\",</span></span>\n<span class=\"line\"><span>					\"size\": \"21px\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"large\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"fluid\": {</span></span>\n<span class=\"line\"><span>						\"max\": \"24px\",</span></span>\n<span class=\"line\"><span>						\"min\": \"21px\"</span></span>\n<span class=\"line\"><span>					},</span></span>\n<span class=\"line\"><span>					\"name\": \"XL\",</span></span>\n<span class=\"line\"><span>					\"size\": \"24px\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"x-large\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"fluid\": {</span></span>\n<span class=\"line\"><span>						\"max\": \"32px\",</span></span>\n<span class=\"line\"><span>						\"min\": \"24px\"</span></span>\n<span class=\"line\"><span>					},</span></span>\n<span class=\"line\"><span>					\"name\": \"XXL\",</span></span>\n<span class=\"line\"><span>					\"size\": \"32px\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"xx-large\"</span></span>\n<span class=\"line\"><span>				},</span></span>\n<span class=\"line\"><span>				{</span></span>\n<span class=\"line\"><span>					\"fluid\": false,</span></span>\n<span class=\"line\"><span>					\"name\": \"Massive\",</span></span>\n<span class=\"line\"><span>					\"size\": \"clamp( 96px, 19.2vw, 128px )\",</span></span>\n<span class=\"line\"><span>					\"slug\": \"massive\"</span></span>\n<span class=\"line\"><span>				}</span></span>\n<span class=\"line\"><span>			],</span></span>\n<span class=\"line\"><span>			\"writingMode\": true</span></span>\n<span class=\"line\"><span>		}</span></span></code></pre><div class=\"cbp-see-more-container\"><div></div><span tabindex=\"0\" class=\"cbp-see-more-simple-btn cbp-see-more-simple-btn-hover\">Click to see more</span></div></div>\n</div>\n</div>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-accent-color has-text-color has-link-color wp-elements-3bf281a348d19a518076a91dab2b33d5\">&#8220;With the theme settings in place, it&#8217;s time to put them to use in block and element-specific styles. This is when the theme starts taking shape. You can do this in the site editor, but it&#8217;s faster to edit theme.json directly. Also, many styles can&#8217;t be changed in the interface,&#8221; Norén wrote.</p>\n</blockquote>\n\n\n\n<p>As the new theme, <em>Pulitzer</em> doesn&#8217;t have any working templates yet, Norén checked the <code>theme.json</code> styles in the Site editor Stylebook view. You get the vibe of the theme. You can also use it to make sure you haven&#8217;t forgotten any styling for core blocks.</p>\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n\n<img width=\"652\" height=\"652\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/05/GMKuvwxWsAA1Ws4.jpeg?resize=652%2C652&ssl=1\" alt=\"Screenshot of the Pulitzer theme in the Stylebook \" class=\"wp-image-28488\" />\n\n\n\n<img width=\"652\" height=\"652\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/05/GMKu13MWcAAk1Lo.jpeg?resize=652%2C652&ssl=1\" alt=\"Screenshot of the Pulitzer theme in the Stylebook \" class=\"wp-image-28489\" />\n\n</div></div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"third-task-templates-and-patterns\">Third task: <strong>Templates and Patterns</strong></h2>\n\n\n\n<p>This is the moment to work on the theme layouts. Norén uses what he calls &#8220;the one indispensable tool in the Block Theming toolbox,&#8221; the <a href=\"https://wordpress.org/plugins/create-block-theme/\">Create Block Theme</a> (CBT) plugin.</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Step 1: Make the changes in the site editor.</li>\n\n\n\n<li>Step 2: Save them to the theme with CBT.</li>\n</ul>\n\n\n\n<div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\"><a href=\"https://wordpress.org/plugins/create-block-theme/\">Create Block Theme</a></blockquote>\n</div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"header-and-footer\">Header and Footer</h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-accent-color has-text-color has-link-color wp-elements-88dce5c85c9093f5410ad70883aea48d\">&#8220;When I&#8217;m building a theme, I almost always start with the header and footer. It fools you into thinking the theme is nearly finished. I&#8217;ll wait with the newsletter form and the other Jetpack blocks until all the templates are in place.&#8221; &#8212; Norén shared in his thread.</p>\n</blockquote>\n\n\n\n<div class=\"wp-block-columns alignwide is-style-no-vertical-margin is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column has-light-background-background-color has-background is-layout-flow wp-block-column-is-layout-flow\">\n<img width=\"652\" height=\"491\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/05/GMLDVwoXAAA3Q3T.jpeg?resize=652%2C491&ssl=1\" alt=\"Screenshot of the Pulitzer theme in the editor\" class=\"wp-image-28492\" /><button class=\"lightbox-trigger\" type=\"button\">\n			\n				\n			\n		</button>\n\n\n\n<p class=\"has-text-align-center has-small-font-size\">Working in the Site Editor  </p>\n</div>\n\n\n\n<div class=\"wp-block-column has-light-background-background-color has-background is-layout-flow wp-block-column-is-layout-flow\">\n<img width=\"652\" height=\"491\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/05/GMLDOr9XUAE-1ZE.jpeg?resize=652%2C491&ssl=1\" alt=\"Screenshot of the Pulitzer template with the create-block-theme plugin\'s sidebar open\" class=\"wp-image-28491\" /><button class=\"lightbox-trigger\" type=\"button\">\n			\n				\n			\n		</button>\n\n\n\n<p class=\"has-text-align-center has-small-font-size\">Saving changes to the theme with CBT </p>\n</div>\n</div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>The header template part is only the container for the hidden-header pattern. The reason to use patterns is that you can add php code. The advantage is that the text wrapped in <code>esc_html_e()</code> function can be translated. See below an example of a group of Navigation links.</p>\n\n\n\n<img width=\"652\" height=\"68\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/Screenshot-2025-05-09-at-14.22.37.png?resize=652%2C68&ssl=1\" alt=\"Screenshot of the code building the navigation links\" class=\"wp-image-40324\" />\n\n\n\n<div class=\"wp-block-group alignwide has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p class=\"has-text-align-left\"><strong>Template part: <a href=\"https://github.com/andersnoren/pulitzer/blob/main/parts/header.html\">header.html</a></strong></p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>PHP</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki light-plus\" tabindex=\"0\"><code><span class=\"line\"><span>&lt;!-- wp:pattern {</span><span>\"slug\"</span><span>:</span><span>\"pulitzer/hidden-header\"</span><span>} /--&gt;</span></span></code></pre></div>\n\n\n\n<div class=\"wp-block-group has-border-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p class=\"has-text-align-center\"><a href=\"https://github.com/andersnoren/pulitzer/blob/97bd67c0b266fde8260e8993718bcdf8c657fb13/patterns/hidden-header.php\">hidden-header.php</a></p>\n\n\n\nClick the arrow to see the Pattern code\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>PHP</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki light-plus\" tabindex=\"0\"><code><span class=\"line\"><span>&lt;?php</span></span>\n<span class=\"line\"><span>/**</span></span>\n<span class=\"line\"><span> * Title: header</span></span>\n<span class=\"line\"><span> * Slug: pulitzer/hidden-header</span></span>\n<span class=\"line\"><span> * Inserter: no</span></span>\n<span class=\"line\"><span> */</span></span>\n<span class=\"line\"><span>?&gt;</span></span>\n<span class=\"line\"><span>&lt;!-- wp:group {</span><span>\"align\"</span><span>:</span><span>\"wide\"</span><span>,</span><span>\"style\"</span><span>:{</span><span>\"spacing\"</span><span>:{</span><span>\"padding\"</span><span>:{</span><span>\"top\"</span><span>:</span><span>\"var:preset|spacing|60\"</span><span>,</span><span>\"bottom\"</span><span>:</span><span>\"var:preset|spacing|60\"</span><span>}},</span><span>\"border\"</span><span>:{</span><span>\"bottom\"</span><span>:{</span><span>\"color\"</span><span>:</span><span>\"var:preset|color|contrast-5\"</span><span>,</span><span>\"width\"</span><span>:</span><span>\"1px\"</span><span>},</span><span>\"top\"</span><span>:[],</span><span>\"right\"</span><span>:[],</span><span>\"left\"</span><span>:[]}},</span><span>\"layout\"</span><span>:{</span><span>\"type\"</span><span>:</span><span>\"constrained\"</span><span>}} --&gt;</span></span>\n<span class=\"line\"><span>&lt;div </span><span>class</span><span>=</span><span>\"wp-block-group alignwide\"</span><span> style=</span><span>\"border-bottom-color:var(--wp--preset--color--contrast-5);border-bottom-width:1px;padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--60)\"</span><span>&gt;</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>	&lt;!-- wp:columns {</span><span>\"isStackedOnMobile\"</span><span>:</span><span>false</span><span>,</span><span>\"style\"</span><span>:{</span><span>\"spacing\"</span><span>:{</span><span>\"blockGap\"</span><span>:{</span><span>\"left\"</span><span>:</span><span>\"var:preset|spacing|50\"</span><span>}}}} --&gt;</span></span>\n<span class=\"line\"><span>	&lt;div </span><span>class</span><span>=</span><span>\"wp-block-columns is-not-stacked-on-mobile\"</span><span>&gt;</span></span>\n<span class=\"line\"><span>		</span></span>\n<span class=\"line\"><span>		&lt;!-- wp:column {</span><span>\"verticalAlignment\"</span><span>:</span><span>\"stretch\"</span><span>} --&gt;</span></span>\n<span class=\"line\"><span>		&lt;div </span><span>class</span><span>=</span><span>\"wp-block-column is-vertically-aligned-stretch\"</span><span>&gt;</span></span>\n<span class=\"line\"><span>			&lt;!-- wp:group {</span><span>\"style\"</span><span>:{</span><span>\"dimensions\"</span><span>:{</span><span>\"minHeight\"</span><span>:</span><span>\"100%\"</span><span>},</span><span>\"spacing\"</span><span>:{</span><span>\"blockGap\"</span><span>:</span><span>\"var:preset|spacing|40\"</span><span>}},</span><span>\"layout\"</span><span>:{</span><span>\"type\"</span><span>:</span><span>\"flex\"</span><span>,</span><span>\"orientation\"</span><span>:</span><span>\"vertical\"</span><span>,</span><span>\"verticalAlignment\"</span><span>:</span><span>\"space-between\"</span><span>}} --&gt;</span></span>\n<span class=\"line\"><span>			&lt;div </span><span>class</span><span>=</span><span>\"wp-block-group\"</span><span> style=</span><span>\"min-height:100%\"</span><span>&gt;</span></span>\n<span class=\"line\"><span>				&lt;!-- wp:group {</span><span>\"style\"</span><span>:{</span><span>\"spacing\"</span><span>:{</span><span>\"blockGap\"</span><span>:</span><span>\"var:preset|spacing|10\"</span><span>},</span><span>\"layout\"</span><span>:{</span><span>\"selfStretch\"</span><span>:</span><span>\"fit\"</span><span>,</span><span>\"flexSize\"</span><span>:</span><span>null</span><span>}},</span><span>\"layout\"</span><span>:{</span><span>\"type\"</span><span>:</span><span>\"flex\"</span><span>,</span><span>\"orientation\"</span><span>:</span><span>\"vertical\"</span><span>}} --&gt;</span></span>\n<span class=\"line\"><span>				&lt;div </span><span>class</span><span>=</span><span>\"wp-block-group\"</span><span>&gt;</span></span>\n<span class=\"line\"><span>					&lt;!-- wp:site-title {</span><span>\"level\"</span><span>:</span><span>0</span><span>} /--&gt;</span></span>\n<span class=\"line\"><span>					&lt;!-- wp:site-tagline /--&gt;</span></span>\n<span class=\"line\"><span>				&lt;/div&gt;</span></span>\n<span class=\"line\"><span>				&lt;!-- /wp:group --&gt;</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>				&lt;!-- wp:navigation {</span><span>\"hasIcon\"</span><span>:</span><span>false</span><span>,</span><span>\"layout\"</span><span>:{</span><span>\"type\"</span><span>:</span><span>\"flex\"</span><span>,</span><span>\"orientation\"</span><span>:</span><span>\"horizontal\"</span><span>}} --&gt;</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>				&lt;!-- wp:navigation-link {</span><span>\"label\"</span><span>:</span><span>\"&lt;?php esc_html_e( \'Blog\', \'pulitzer\' ); ?&gt;\"</span><span>,</span><span>\"url\"</span><span>:</span><span>\"#\"</span><span>} /--&gt;</span></span>\n<span class=\"line\"><span>				&lt;!-- wp:navigation-link {</span><span>\"label\"</span><span>:</span><span>\"&lt;?php esc_html_e( \'Profile\', \'pulitzer\' ); ?&gt;\"</span><span>,</span><span>\"url\"</span><span>:</span><span>\"#\"</span><span>} /--&gt;</span></span>\n<span class=\"line\"><span>				&lt;!-- wp:navigation-link {</span><span>\"label\"</span><span>:</span><span>\"&lt;?php esc_html_e( \'Newsletter\', \'pulitzer\' ); ?&gt;\"</span><span>,</span><span>\"url\"</span><span>:</span><span>\"#\"</span><span>} /--&gt;</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>				&lt;!-- /wp:navigation --&gt;</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>			&lt;/div&gt;</span></span>\n<span class=\"line\"><span>			&lt;!-- /wp:group --&gt;</span></span>\n<span class=\"line\"><span>		&lt;/div&gt;</span></span>\n<span class=\"line\"><span>		&lt;!-- /wp:column --&gt;</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>		&lt;!-- wp:column {</span><span>\"width\"</span><span>:</span><span>\"1em\"</span><span>,</span><span>\"layout\"</span><span>:{</span><span>\"type\"</span><span>:</span><span>\"constrained\"</span><span>,</span><span>\"justifyContent\"</span><span>:</span><span>\"right\"</span><span>},</span><span>\"fontSize\"</span><span>:</span><span>\"massive\"</span><span>} --&gt;</span></span>\n<span class=\"line\"><span>		&lt;div </span><span>class</span><span>=</span><span>\"wp-block-column has-massive-font-size\"</span><span> style=</span><span>\"flex-basis:1em\"</span><span>&gt;</span></span>\n<span class=\"line\"><span>			&lt;!-- wp:site-logo {</span><span>\"width\"</span><span>:</span><span>128</span><span>,</span><span>\"shouldSyncIcon\"</span><span>:</span><span>true</span><span>,</span><span>\"className\"</span><span>:</span><span>\"is-style-rounded\"</span><span>} /--&gt;</span></span>\n<span class=\"line\"><span>		&lt;/div&gt;</span></span>\n<span class=\"line\"><span>		&lt;!-- /wp:column --&gt;</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>	&lt;/div&gt;</span></span>\n<span class=\"line\"><span>	&lt;!-- /wp:columns --&gt;</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>&lt;/div&gt;</span></span>\n<span class=\"line\"><span>&lt;!-- /wp:group --&gt;</span></span></code></pre></div>\n\n</div></div>\n</div></div>\n\n\n\n<p>The same system applied to the template part <a href=\"https://github.com/andersnoren/pulitzer/blob/main/parts/footer.html\">footer.html</a> that includes the <a href=\"https://github.com/andersnoren/pulitzer/blob/main/patterns/hidden-footer.php\">hidden-footer.php</a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"archives\">Archives</h3>\n\n\n\n<blockquote class=\"wp-block-quote has-accent-color has-text-color has-link-color has-normal-font-size wp-elements-c97cacc48369e31486ac97fb8d2b8b9c is-layout-flow wp-block-quote-is-layout-flow\">\n<p>&#8220;For the <a href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/line-clamp\">line clamped</a> excerpts, I registered custom block styles for the &#8216;Excerpt&#8217; block and enqueues a CSS file when the block is in use on the page. You can do a lot with <code>theme.json</code> styles, but stuff like this still requires CSS,&#8221; Norén found.</p>\n</blockquote>\n\n\n\n<p><strong>Register_block_style</strong></p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>HTML</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki rose-pine-dawn\" tabindex=\"0\"><code><span class=\"line\"><span>register_block_style(</span></span>\n<span class=\"line\"><span>			\'core/post-excerpt\',</span></span>\n<span class=\"line\"><span>			array(</span></span>\n<span class=\"line\"><span>				\'name\'	=&gt; \'pulitzer-clamp-lines-2\',</span></span>\n<span class=\"line\"><span>				\'label\'	=&gt; __( \'Clamp: 2 lines\', \'pulitzer\' )</span></span>\n<span class=\"line\"><span>			)</span></span>\n<span class=\"line\"><span>		);</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>		register_block_style(</span></span>\n<span class=\"line\"><span>			\'core/post-excerpt\',</span></span>\n<span class=\"line\"><span>			array(</span></span>\n<span class=\"line\"><span>				\'name\'	=&gt; \'pulitzer-clamp-lines-3\',</span></span>\n<span class=\"line\"><span>				\'label\'	=&gt; __( \'Clamp: 3 lines\', \'pulitzer\' )</span></span>\n<span class=\"line\"><span>			)</span></span>\n<span class=\"line\"><span>		);</span></span></code></pre></div>\n\n\n\n<p><strong>CSS for post/excerpt clamp lines styles</strong></p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>HTML</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki rose-pine-dawn\" tabindex=\"0\"><code><span class=\"line\"><span>[class*=\"is-style-pulitzer-clamp-lines-\"] p:first-child {</span></span>\n<span class=\"line\"><span>	display: -webkit-box;</span></span>\n<span class=\"line\"><span>	-webkit-box-orient: vertical;  </span></span>\n<span class=\"line\"><span>	overflow: hidden;</span></span>\n<span class=\"line\"><span>}</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>.is-style-pulitzer-clamp-lines-2 p:first-child {</span></span>\n<span class=\"line\"><span>	-webkit-line-clamp: 2;</span></span>\n<span class=\"line\"><span>}</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>.is-style-pulitzer-clamp-lines-3 p:first-child {</span></span>\n<span class=\"line\"><span>	-webkit-line-clamp: 3;</span></span>\n<span class=\"line\"><span>}</span></span></code></pre></div>\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<img width=\"652\" height=\"370\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/posts.webp?resize=652%2C370&ssl=1\" alt=\"List of post with a read time block and a standardized excerpt block \" class=\"wp-image-40287\" />\n</div></div>\n\n\n\n<p>For basic steps on block styles, you should read my tutorial. It is titled <a href=\"https://wordpress.com/blog/2025/05/07/custom-block-styles/\">Mastering Custom Block Styles in WordPress: 6 Methods for Theme and Plugin Developers</a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"alternative-post-layouts\">Alternative post layouts</h3>\n\n\n\n<p>Norén followed a tutorial on the WordPress Developer Blog: <a href=\"https://developer.wordpress.org/news/2023/06/upgrading-the-site-editing-experience-with-custom-template-part-areas/\">Upgrading the site-editing experience with custom template part areas</a> by Justin Tadlock. He added different post layouts as template parts. They are registered to a custom &#8220;posts&#8221; template parts area.</p>\n\n\n\n\n<img width=\"652\" height=\"509\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/05/GMLsJPuWIAAcsFf.jpeg?resize=652%2C509&ssl=1\" alt=\"Screenshot of a post laytout with the featured image\" class=\"wp-image-28497\" />\n\n\n\n<img width=\"652\" height=\"509\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/05/GMLtkwhWcAA-cIi.jpeg?resize=652%2C509&ssl=1\" alt=\"Screenshot of the list of post with standardizes excerpt length\" class=\"wp-image-28498\" />\n\n\n\n\n<blockquote class=\"wp-block-quote has-accent-color has-text-color has-link-color wp-elements-d8316e02f2209338b15810f2859d356d is-layout-flow wp-block-quote-is-layout-flow\">\n<p>&#8220;It&#8217;s a shame that you can&#8217;t use the &#8216;Choose a header/footer&#8217; modal for custom template part areas yet. It would make switching between template parts a lot more intuitive. There&#8217;s an open issue for it here: <a href=\"https://github.com/WordPress/gutenberg/issues/44689\">Add support for replacing &#8220;general&#8221; template parts</a>,&#8221; Norén discovered.</p>\n</blockquote>\n\n\n\n<img width=\"652\" height=\"322\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/05/GMLtPdrWoAA0DWK.jpeg?resize=652%2C322&ssl=1\" alt=\"Examples of the modal to select a header pattern\" class=\"wp-image-28499\" />\n\n\n\n<p>The extra post layouts were created as patterns to be added into the respective template parts. </p>\n\n\n\n<p>The patterns are in separate files in <a href=\"https://github.com/andersnoren/pulitzer/tree/main/patterns\">the patterns folder</a> prefixed with <code>hidden-posts</code>&#8211; with the settings: <code>Categories: hidden</code> and <code>Inserter: no</code></p>\n\n\n\n\n<img width=\"288\" height=\"139\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/Screenshot-2025-05-08-at-15.49.38.png?resize=288%2C139&ssl=1\" alt=\"File list of alternative post layouts in the Pulitzer them\" class=\"wp-image-40288\" />\n\n\n\n<img width=\"282\" height=\"164\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/Screenshot-2025-05-08-at-16.13.48.png?resize=282%2C164&ssl=1\" alt=\"Header example of a hidden pattern of the Pulitzer theme\" class=\"wp-image-40321\" />\n\n\n\n\n<h3 class=\"wp-block-heading\" id=\"404-template-and-the-search-block\">404-template and the Search block</h3>\n\n\n\n<p>For the 404-template, the search form is loaded as a hidden pattern, both here and in the search template. This ensures that styling and translatable strings stay consistent.</p>\n\n\n\n<p>This is a great example for nesting template parts and patterns.</p>\n\n\n\n<p>The Search pattern is the smallest unit. It is included in the 404 pattern. Then, with the header and footer template parts, it is included in the 404.html template.</p>\n\n\n\n<p><strong>The 404 Template schematic</strong></p>\n\n\n\n<div class=\"wp-block-group is-style-default has-border-background-color has-background is-layout-grid wp-container-core-group-is-layout-6be84c55 wp-block-group-is-layout-grid\">\n<p class=\"has-text-align-center is-style-no-vertical-margin has-body-background-color has-accent-background-color has-text-color has-background has-link-color wp-elements-f64a79b1c5ecf3cd21e63ba8087f9b44 wp-container-content-93ed1c69\">Header </p>\n\n\n\n<div class=\"wp-block-group is-style-no-vertical-margin has-light-background-background-color has-background wp-container-content-72181cf1\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p class=\"has-text-align-center is-style-default has-large-font-size\">404 Pattern</p>\n\n\n\n<div class=\"wp-block-group is-style-no-vertical-margin has-border-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p class=\"has-text-align-center is-style-no-vertical-margin\">Search Pattern </p>\n</div></div>\n</div></div>\n\n\n\n<p class=\"has-text-align-center is-style-no-vertical-margin has-body-background-color has-secondary-background-color has-text-color has-background has-link-color wp-elements-db4260759a82ec8ae131839137b18ea7 wp-container-content-93ed1c69\">Footer </p>\n</div>\n\n\n\n<p><strong>Search Pattern</strong></p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>PHP</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki rose-pine-dawn\" tabindex=\"0\"><code><span class=\"line\"><span>&lt;?php</span></span>\n<span class=\"line\"><span>/**</span></span>\n<span class=\"line\"><span> * Title: Search</span></span>\n<span class=\"line\"><span> * Slug: pulitzer/hidden-search</span></span>\n<span class=\"line\"><span> * Inserter: no</span></span>\n<span class=\"line\"><span> </span><span>*/</span></span>\n<span class=\"line\"><span>?&gt;</span></span>\n<span class=\"line\"><span>&lt;!--</span><span> </span><span>wp:search</span><span> </span><span>{</span></span>\n<span class=\"line\"><span>							 </span><span>\"label\"</span><span>:</span><span>\"&lt;?php echo esc_attr_x( \'Search\', \'search form label\', \'pulitzer\' ); ?&gt;\"</span><span>,</span></span>\n<span class=\"line\"><span>               </span><span>\"showLabel\"</span><span>:</span><span>false</span><span>,</span></span>\n<span class=\"line\"><span>               </span><span>\"placeholder\"</span><span>:</span><span>\"&lt;?php echo esc_attr_x( \'Search for...\', \'search form placeholder\', \'pulitzer\' ); ?&gt;\"</span><span>,</span></span>\n<span class=\"line\"><span>               </span><span>\"buttonText\"</span><span>:</span><span>\"&lt;?php echo esc_attr_x( \'Search\', \'search button text\', \'pulitzer\' ); ?&gt;\"</span><span>,</span></span>\n<span class=\"line\"><span>               </span><span>\"buttonPosition\"</span><span>:</span><span>\"button-inside\"</span><span>,</span></span>\n<span class=\"line\"><span>               </span><span>\"buttonUseIcon\"</span><span>:</span><span>true</span></span>\n<span class=\"line\"><span>                </span><span>}</span><span> </span><span>/--&gt;</span></span></code></pre></div>\n\n\n\n<p><strong>404-Page Pattern</strong></p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>PHP</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki rose-pine-dawn\" tabindex=\"0\"><code><span class=\"line\"><span>&lt;?php</span></span>\n<span class=\"line\"><span>/**</span></span>\n<span class=\"line\"><span> * Title: 404</span></span>\n<span class=\"line\"><span> * Slug: pulitzer/hidden-404</span></span>\n<span class=\"line\"><span> * Inserter: no</span></span>\n<span class=\"line\"><span> </span><span>*/</span></span>\n<span class=\"line\"><span>?&gt;</span></span>\n<span class=\"line\"><span>&lt;!--</span><span> </span><span>wp:group</span><span> </span><span>{</span><span>\"style\"</span><span>:{</span><span>\"spacing\"</span><span>:{</span><span>\"blockGap\"</span><span>:</span><span>\"var:preset|spacing|40\"</span><span>}},</span><span>\"layout\"</span><span>:{</span><span>\"type\"</span><span>:</span><span>\"constrained\"</span><span>,</span><span>\"contentSize\"</span><span>:</span><span>\"21em\"</span><span>}}</span><span> </span><span>--&gt;</span></span>\n<span class=\"line\"><span>&lt;div</span><span> </span><span>class=</span><span>\"wp-block-group\"</span><span>&gt;</span></span>\n<span class=\"line\"><span>	</span><span>&lt;!--</span><span> </span><span>wp:heading</span><span> </span><span>{</span><span>\"textAlign\"</span><span>:</span><span>\"center\"</span><span>,</span><span>\"level\"</span><span>:</span><span>1</span><span>}</span><span> </span><span>--&gt;</span></span>\n<span class=\"line\"><span>	</span><span>&lt;h1</span><span> </span><span>class=</span><span>\"wp-block-heading has-text-align-center\"</span><span> </span><span>id=</span><span>\"page-not-found\"</span><span>&gt;&lt;?php</span><span> </span><span>echo</span><span> </span><span>esc_html_x</span><span>(</span><span> </span><span>\'Error 404\'</span><span>,</span><span> </span><span>\'Heading for a webpage that is not found\'</span><span>,</span><span> </span><span>\'pulitzer\'</span><span> </span><span>);</span><span> </span><span>?&gt;&lt;/h1&gt;</span></span>\n<span class=\"line\"><span>	</span><span>&lt;!--</span><span> </span><span>/wp:heading</span><span> </span><span>--&gt;</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>	</span><span>&lt;!--</span><span> </span><span>wp:paragraph</span><span> </span><span>{</span><span>\"align\"</span><span>:</span><span>\"center\"</span><span>}</span><span> </span><span>--&gt;</span></span>\n<span class=\"line\"><span>	</span><span>&lt;p</span><span> </span><span>class=</span><span>\"has-text-align-center\"</span><span>&gt;&lt;?php</span><span> </span><span>echo</span><span> </span><span>esc_html_x</span><span>(</span><span> </span><span>\'We can’t find the page you’re looking for. Go back to the front page, or try the search form below.\'</span><span>,</span><span> </span><span>\'Message to convey that a webpage could not be found\'</span><span>,</span><span> </span><span>\'pulitzer\'</span><span> </span><span>);</span><span> </span><span>?&gt;&lt;/p&gt;</span></span>\n<span class=\"line\"><span>	</span><span>&lt;!--</span><span> </span><span>/wp:paragraph</span><span> </span><span>--&gt;</span></span>\n<span class=\"line\"><span>&lt;/div&gt;</span></span>\n<span class=\"line\"><span>&lt;!--</span><span> </span><span>/wp:group</span><span> </span><span>--&gt;</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>&lt;!--</span><span> </span><span>wp</span><span>:</span><span>group</span><span> </span><span>{</span><span>\"layout\"</span><span>:{</span><span>\"type\"</span><span>:</span><span>\"constrained\"</span><span>,</span><span>\"contentSize\"</span><span>:</span><span>\"240px\"</span><span>}}</span><span> </span><span>--&gt;</span></span>\n<span class=\"line cbp-line-highlight\"><span>&lt;div</span><span> </span><span>class=</span><span>\"wp-block-group\"</span><span>&gt;</span></span>\n<span class=\"line cbp-line-highlight\"><span>	</span><span>&lt;!--</span><span> </span><span>wp</span><span>:</span><span>pattern</span><span> </span><span>{</span><span>\"slug\"</span><span>:</span><span>\"pulitzer/hidden-search\"</span><span>}</span><span> </span><span>/--&gt;</span></span>\n<span class=\"line cbp-line-highlight\"><span>&lt;/div&gt;</span></span>\n<span class=\"line\"><span>&lt;!--</span><span> </span><span>/wp</span><span>:</span><span>group</span><span> </span><span>--&gt;</span></span></code></pre></div>\n\n\n\n<p><strong>404-Page Template</strong></p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>PHP</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki rose-pine-dawn\" tabindex=\"0\"><code><span class=\"line\"><span>&lt;!--</span><span> </span><span>wp</span><span>:</span><span>template-part</span><span> </span><span>{</span><span>\"slug\"</span><span>:</span><span>\"header\"</span><span>,</span><span>\"area\"</span><span>:</span><span>\"header\"</span><span>,</span><span>\"tagName\"</span><span>:</span><span>\"header\"</span><span>}</span><span> </span><span>/--&gt;</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>&lt;!--</span><span> </span><span>wp</span><span>:</span><span>group</span><span> </span><span>{</span><span>\"tagName\"</span><span>:</span><span>\"main\"</span><span>,</span><span>\"align\"</span><span>:</span><span>\"full\"</span><span>,</span><span>\"style\"</span><span>:{</span><span>\"spacing\"</span><span>:{</span><span>\"padding\"</span><span>:{</span><span>\"top\"</span><span>:</span><span>\"var:preset|spacing|100\"</span><span>,</span><span>\"bottom\"</span><span>:</span><span>\"var:preset|spacing|100\"</span><span>}}},</span><span>\"layout\"</span><span>:{</span><span>\"type\"</span><span>:</span><span>\"constrained\"</span><span>}}</span><span> </span><span>--&gt;</span></span>\n<span class=\"line\"><span>&lt;main</span><span> </span><span>class=</span><span>\"wp-block-group alignfull\"</span><span> </span><span>style=</span><span>\"padding-top:var(--wp--preset--spacing--100);padding-bottom:var(--wp--preset--spacing--100)\"</span><span>&gt;</span></span>\n<span class=\"line cbp-line-highlight\"><span>	</span><span>&lt;!--</span><span> </span><span>wp</span><span>:</span><span>pattern</span><span> </span><span>{</span><span>\"slug\"</span><span>:</span><span>\"pulitzer/hidden-404\"</span><span>}</span><span> </span><span>/--&gt;</span></span>\n<span class=\"line\"><span>&lt;/main&gt;</span></span>\n<span class=\"line\"><span>&lt;!--</span><span> </span><span>/wp</span><span>:</span><span>group</span><span> </span><span>--&gt;</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>&lt;!--</span><span> </span><span>wp</span><span>:</span><span>template-part</span><span> </span><span>{</span><span>\"slug\"</span><span>:</span><span>\"footer\"</span><span>,</span><span>\"area\"</span><span>:</span><span>\"footer\"</span><span>,</span><span>\"tagName\"</span><span>:</span><span>\"footer\"</span><span>}</span><span> </span><span>/--&gt;</span></span></code></pre></div>\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<img width=\"652\" height=\"575\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/GMMXgIiWwAEoM8f-edited-1.jpeg?resize=652%2C575&ssl=1\" alt=\"Screenshot of the 404-Page in the Pulitzer theme\" class=\"wp-image-40301\" />\n</div></div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"fourth-task-handling-blocks\">Fourth task: handling blocks</h2>\n\n\n\n<p>There are specific blocks outside core blocks that need more than styling. Some php code will definitely be involved:</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"jetpack-blocks\">Jetpack blocks</h3>\n\n\n\n<p>For Jetpack blocks, conditional output is simple since the plugin registers blocks only when modules are active. Norén implemented a helper function to check if blocks are registered before using them in pattern PHP files.</p>\n\n\n\n<p>In functions.php Norén created a helper function to check if a certain block is available <code><a href=\"https://github.com/andersnoren/pulitzer/blob/97bd67c0b266fde8260e8993718bcdf8c657fb13/functions.php#L223\">pulitzer_is_block_registered()</a></code>.</p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>PHP</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki rose-pine-dawn\" tabindex=\"0\"><code><span class=\"line\"><span>/**</span></span>\n<span class=\"line\"><span> * Check if a block is registered.</span></span>\n<span class=\"line\"><span> </span><span>*/</span></span>\n<span class=\"line\"><span>if</span><span> </span><span>(</span><span> </span><span>!</span><span> </span><span>function_exists</span><span>(</span><span> </span><span>\'pulitzer_is_block_registered\'</span><span> </span><span>)</span><span> </span><span>)</span><span> </span><span>:</span></span>\n<span class=\"line\"><span>	</span><span>/**</span></span>\n<span class=\"line\"><span>	 * Check if a block is registered</span></span>\n<span class=\"line\"><span>	 *</span></span>\n<span class=\"line\"><span>	 * </span><span>@since</span><span> Pulitzer 1.0</span></span>\n<span class=\"line\"><span>	 * </span><span>@return</span><span> </span><span>bool</span></span>\n<span class=\"line\"><span>	 </span><span>*/</span></span>\n<span class=\"line\"><span>	</span><span>function</span><span> </span><span>pulitzer_is_block_registered</span><span>(</span><span> </span><span>$</span><span>block_name</span><span> </span><span>)</span><span> </span><span>{</span></span>\n<span class=\"line\"><span>		</span><span>$</span><span>registry</span><span> </span><span>=</span><span> </span><span>WP_Block_Type_Registry</span><span>::</span><span>get_instance</span><span>();</span></span>\n<span class=\"line\"><span> 		</span><span>return</span><span> </span><span>$</span><span>registry</span><span>-&gt;</span><span>get_registered</span><span>(</span><span> </span><span>$</span><span>block_name</span><span> </span><span>);</span></span>\n<span class=\"line\"><span>	</span><span>}</span></span>\n<span class=\"line\"><span>endif</span><span>;</span></span></code></pre></div>\n\n\n\n<p>This helper function is then available for the conditional check in the pattern: </p>\n\n\n\n<p>Examples for the <code>jetpack/like</code> button. You can inspect the whole code for the <a href=\"https://github.com/andersnoren/pulitzer/blob/main/patterns/hidden-single-sharing-row.php\">hidden-single sharing-row</a> pattern on GitHub.</p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>PHP</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki rose-pine-dawn\" tabindex=\"0\"><code><span class=\"line\"><span>&lt;?php</span><span> </span><span>if</span><span> </span><span>(</span><span> </span><span>pulitzer_is_block_registered</span><span>(</span><span> </span><span>\'jetpack/like\'</span><span> </span><span>)</span><span> </span><span>)</span><span> </span><span>:</span><span> </span><span>?&gt;</span></span>\n<span class=\"line\"><span>			</span><span>&lt;!--</span><span> </span><span>wp:group</span><span> </span><span>{</span><span>\"style\"</span><span>:{</span><span>\"spacing\"</span><span>:{</span><span>\"padding\"</span><span>:{</span><span>\"top\"</span><span>:</span><span>\"6px\"</span><span>}}}}</span><span> </span><span>--&gt;</span></span>\n<span class=\"line\"><span>			</span><span>&lt;div</span><span> </span><span>class=</span><span>\"wp-block-group\"</span><span> </span><span>style=</span><span>\"padding-top:6px\"</span><span>&gt;</span></span>\n<span class=\"line\"><span>				</span><span>&lt;!--</span><span> </span><span>wp</span><span>:</span><span>jetpack/like</span><span> </span><span>/--&gt;</span></span>\n<span class=\"line\"><span>			</span><span>&lt;/div&gt;</span></span>\n<span class=\"line\"><span>			</span><span>&lt;!--</span><span> </span><span>/wp</span><span>:</span><span>group</span><span> </span><span>--&gt;</span></span>\n<span class=\"line\"><span>&lt;?php</span><span> </span><span>endif</span><span>;</span><span> </span><span>?&gt;</span></span></code></pre></div>\n\n\n\n<p>For the like button, share buttons and newsletter signup, he utilized styled versions of Jetpack blocks. <a href=\"https://github.com/andersnoren/pulitzer/blob/97bd67c0b266fde8260e8993718bcdf8c657fb13/functions.php#L147\">Using block stylesheet registration</a> ensures the CSS is loaded only when a block is in use.</p>\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<img width=\"652\" height=\"425\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/GMKJPpHW8AAzSWZ-edited.png?resize=652%2C425&ssl=1\" alt=\"\" class=\"wp-image-40318\" />\n\n\n\n<p></p>\n</div></div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"block-bindings-api-blocks\">Block Bindings API blocks</h3>\n\n\n\n<p>In the final version, Pulitzer includes three use cases of the Block Binding API:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Number of comments on a post, with a link to the post comments form.</li>\n\n\n\n<li>Reading time of a post.</li>\n\n\n\n<li>Current year next to the copyright note in the footer.</li>\n</ul>\n\n\n\n<blockquote class=\"wp-block-quote has-accent-color has-text-color has-link-color has-normal-font-size wp-elements-af3f0be7f306bd6cfef399051d4551f2 is-layout-flow wp-block-quote-is-layout-flow\">\n<p>&#8220;Wow. Those of you who said the new Block bindings API is easy to use weren&#8217;t kidding. It took me all of 40 mins to get the reading time and copyright year blocks up and running, having never touched it before. Game changer.&#8221;</p>\n<cite>Anders Norén</cite></blockquote>\n\n\n\n<p>The two blog posts that helped Norén to catch up on the feature:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://t.co/QbCJimRQzF\"><strong>Introducing Block Bindings, Part 1: Connecting Custom Fields</strong></a> by Justin Tadlock</li>\n\n\n\n<li><a href=\"https://make.wordpress.org/core/2024/03/06/new-feature-the-block-bindings-api/\"><strong>New Feature: The Block Bindings API</strong></a> by Artemio Morales. </li>\n</ul>\n\n\n\n<p><a href=\"https://github.com/andersnoren/pulitzer/blob/97bd67c0b266fde8260e8993718bcdf8c657fb13/functions.php#L240\">The php code is in functions.php, starting line 240</a></p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"the-copyright-year-in-the-footer\"><strong>The copyright year in the footer</strong></h3>\n\n\n\n<p><strong>Step one: register the block binding and its callback in functions.php</strong>.</p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>PHP</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki rose-pine-dawn\" tabindex=\"0\"><code><span class=\"line\"><span>function</span><span> </span><span>pulitzer_register_block_bindings</span><span>()</span><span> </span><span>{</span></span>\n<span class=\"line\"><span>/*</span></span>\n<span class=\"line\"><span>		 * Copyright character with current year.</span></span>\n<span class=\"line\"><span>		 </span><span>*/</span></span>\n<span class=\"line\"><span>		</span><span>register_block_bindings_source</span><span>(</span><span> </span></span>\n<span class=\"line\"><span>			</span><span>\'pulitzer/copyright-year\'</span><span>,</span><span> </span></span>\n<span class=\"line\"><span>			</span><span>array</span><span>(</span></span>\n<span class=\"line\"><span>				</span><span>\'label\'</span><span>              </span><span>=&gt;</span><span> </span><span>__</span><span>(</span><span> </span><span>\'Copyright year\'</span><span>,</span><span> </span><span>\'pulitzer\'</span><span> </span><span>),</span></span>\n<span class=\"line\"><span>				</span><span>\'get_value_callback\'</span><span> </span><span>=&gt;</span><span> </span><span>\'pulitzer_block_binding_callback_copyright_year\'</span></span>\n<span class=\"line\"><span>			</span><span>)</span></span>\n<span class=\"line\"><span>		</span><span>);</span></span>\n<span class=\"line\"><span>}</span></span>\n<span class=\"line\"><span>add_action</span><span>(</span><span> </span><span>\'init\'</span><span>,</span><span> </span><span>\'pulitzer_register_block_bindings\'</span><span> </span><span>);</span></span></code></pre></div>\n\n\n\n<p><strong>Step two: create the callback function reference in the step before.</strong></p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>pulitzer_block_binding_callback_copyright_year</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki rose-pine-dawn\" tabindex=\"0\"><code><span class=\"line\"><span>/*</span></span>\n<span class=\"line\"><span> * Block bindings callback:</span></span>\n<span class=\"line\"><span> * Copyright character with current year.</span></span>\n<span class=\"line\"><span> </span><span>*/</span></span>\n<span class=\"line\"><span>if</span><span> </span><span>(</span><span> </span><span>!</span><span> </span><span>function_exists</span><span>(</span><span> </span><span>\'pulitzer_block_binding_callback_copyright_year\'</span><span> </span><span>)</span><span> </span><span>)</span><span> </span><span>:</span></span>\n<span class=\"line\"><span>	</span><span>/**</span></span>\n<span class=\"line\"><span>	 * Block bindings callback</span></span>\n<span class=\"line\"><span>	 * Copyright character with current year</span></span>\n<span class=\"line\"><span>	 *</span></span>\n<span class=\"line\"><span>	 * </span><span>@since</span><span> Pulitzer 1.0</span></span>\n<span class=\"line\"><span>	 * </span><span>@return</span><span> </span><span>string</span></span>\n<span class=\"line\"><span>	 </span><span>*/</span></span>\n<span class=\"line\"><span>	</span><span>function</span><span> </span><span>pulitzer_block_binding_callback_copyright_year</span><span>()</span><span> </span><span>{</span></span>\n<span class=\"line\"><span>		</span><span>return</span><span> </span><span>\'© \'</span><span> </span><span>.</span><span> </span><span>date</span><span>(</span><span> </span><span>\'Y\'</span><span> </span><span>);</span></span>\n<span class=\"line\"><span>	</span><span>}</span></span>\n<span class=\"line\"><span>endif</span><span>;</span></span>\n<span class=\"line\"></span></code></pre></div>\n\n\n\n<p><strong>Step three: add the block to the pattern</strong>.</p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>HTML</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki rose-pine-dawn\" tabindex=\"0\"><code><span class=\"line\"><span>&lt;!--</span><span> wp:paragraph {\"metadata\":{\"bindings\":{\"content\":{\"source\":\"pulitzer/copyright-year\"}}}} </span><span>--&gt;</span></span>\n<span class=\"line\"><span>			</span><span>&lt;</span><span>p</span><span>&gt;</span><span>&lt;</span><span>?php esc_html_e(\'© [year]\', \'pulitzer\');?&gt;</span><span>&lt;/</span><span>p</span><span>&gt;</span></span>\n<span class=\"line\"><span>&lt;!--</span><span> /wp:paragraph </span><span>--&gt;</span></span></code></pre></div>\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<img width=\"383\" height=\"104\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/Screenshot-2025-05-09-at-15.43.18.png?resize=383%2C104&ssl=1\" alt=\"Close up of the dynamic Copyright block in the footer of the Pulitzer theme\" class=\"wp-image-40333\" />\n</div></div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"reading-time\">Reading Time </h3>\n\n\n\n<p>Justin Tadlock kindly offered Norén to use <a href=\"https://github.com/x3p0-dev/x3p0-ideas/blob/master/src/Bindings/Post.php#L84-L137\">his code for calculating reading time</a>.</p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-accent-color has-text-color has-link-color wp-elements-8869475fd7bf672f661db0a03c21d924\">&#8220;I&#8217;ve been using his PHP snippets for 15+ years, so why stop now?&#8221; &#8212; Norén</p>\n</blockquote>\n\n\n\n<p>Functions.php is your first location to find out how <a href=\"https://github.com/andersnoren/pulitzer/blob/97bd67c0b266fde8260e8993718bcdf8c657fb13/functions.php#L275\">this block binding was created.</a> You can also see what the <a href=\"https://github.com/andersnoren/pulitzer/blob/97bd67c0b266fde8260e8993718bcdf8c657fb13/functions.php#L337\">callback function does.</a> Then, look into any of the post patterns to see <a href=\"https://github.com/andersnoren/pulitzer/blob/97bd67c0b266fde8260e8993718bcdf8c657fb13/patterns/hidden-posts.php#L26\">how it is used</a> there.</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"comments-count\">Comments count </h3>\n\n\n\n<img width=\"652\" height=\"236\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/05/GMPsHwlXsAMHLa3.jpeg?resize=652%2C236&ssl=1\" alt=\"Single post view of the list of posts of the Pulitzer theme\" class=\"wp-image-28517\" />\n\n\n\n<blockquote class=\"wp-block-quote has-accent-color has-text-color has-link-color wp-elements-e85aae19b9b1f711b7a643bf7ed49aba is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-accent-color has-text-color has-link-color wp-elements-10b0b56d9572aaab3748645a5aeb4932\">&#8220;I decided to add one for the comments count link on the archive pages as well. It&#8217;s crazy that a &#8220;X comments&#8221; block linking to the comments field hasn&#8217;t landed in Core yet. (It&#8217;s in Gutenberg). Slippery slope? Maybe, but I&#8217;m on a deadline, so that&#8217;s for another day.&#8221; &#8212; Anders Norén</p>\n</blockquote>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>PHP</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki rose-pine-dawn\" tabindex=\"0\"><code><span class=\"line\"><span> </span><span>*</span><span> </span><span>Block</span><span> </span><span>bindings</span><span> </span><span>callback</span><span>:</span></span>\n<span class=\"line\"><span> </span><span>*</span><span> </span><span>Post</span><span> </span><span>comments</span><span> </span><span>count</span><span>.</span></span>\n<span class=\"line\"><span> </span><span>*/</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>if</span><span> </span><span>(</span><span> </span><span>!</span><span> </span><span>function_exists</span><span>(</span><span> </span><span>\'pulitzer_block_binding_callback_post_comments_count\'</span><span> </span><span>)</span><span> </span><span>)</span><span> </span><span>:</span></span>\n<span class=\"line\"><span>	</span><span>/**</span></span>\n<span class=\"line\"><span>	 * Block bindings callback</span></span>\n<span class=\"line\"><span>	 * Post comments count.</span></span>\n<span class=\"line\"><span>	 *</span></span>\n<span class=\"line\"><span>	 * </span><span>@since</span><span> Pulitzer 1.0</span></span>\n<span class=\"line\"><span>	 * </span><span>@return</span><span> </span><span>string</span></span>\n<span class=\"line\"><span>	 </span><span>*/</span></span>\n<span class=\"line\"><span>	</span><span>function</span><span> </span><span>pulitzer_block_binding_callback_post_comments_count</span><span>(</span><span> </span><span>array</span><span> </span><span>$</span><span>source_args</span><span>,</span><span> </span><span>WP_Block</span><span> </span><span>$</span><span>block_instance</span><span>,</span><span> </span><span>string</span><span> </span><span>$</span><span>attribute_name</span><span> </span><span>)</span><span> </span><span>{</span></span>\n<span class=\"line\"><span>		</span><span>$</span><span>post_id</span><span> </span><span>=</span><span> </span><span>$</span><span>block_instance</span><span>-&gt;</span><span>context</span><span>[</span><span>\'postId\'</span><span>]</span><span> </span><span>??</span><span> </span><span>get_the_ID</span><span>();</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>		</span><span>if</span><span> </span><span>(</span><span> </span><span>!</span><span> </span><span>comments_open</span><span>(</span><span> </span><span>$</span><span>post_id</span><span> </span><span>)</span><span> </span><span>)</span><span> </span><span>return</span><span> </span><span>false</span><span>;</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>		</span><span>$</span><span>comments_link</span><span> </span><span>=</span><span> </span><span>\'&lt;a class=\"pulitzer-comment-count-link\" href=\"\'</span><span> </span><span>.</span><span> </span><span>esc_url</span><span>(</span><span> </span><span>get_comments_link</span><span>(</span><span> </span><span>$</span><span>post_id</span><span> </span><span>)</span><span> </span><span>)</span><span> </span><span>.</span><span> </span><span>\'\"&gt;\'</span><span>;</span></span>\n<span class=\"line\"><span>		</span><span>$</span><span>comments_link</span><span> </span><span>.=</span><span> </span><span>\'&lt;span class=\"count\"&gt;\'</span><span> </span><span>.</span><span> </span><span>esc_html</span><span>(</span><span> </span><span>get_comments_number</span><span>(</span><span> </span><span>$</span><span>post_id</span><span> </span><span>)</span><span> </span><span>)</span><span> </span><span>.</span><span> </span><span>\'&lt;/span&gt;\'</span><span>;</span></span>\n<span class=\"line\"><span>		</span><span>$</span><span>comments_link</span><span> </span><span>.=</span><span> </span><span>\'&lt;/a&gt;\'</span><span>;</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>		</span><span>return</span><span> </span><span>$</span><span>comments_link</span><span>;</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>	</span><span>}</span></span>\n<span class=\"line\"><span>endif</span><span>;</span></span></code></pre></div>\n\n\n\n<p>It&#8217;s one of the rare moments you need to look into the <a href=\"https://github.com/andersnoren/pulitzer/blob/97bd67c0b266fde8260e8993718bcdf8c657fb13/style.css#L88\">theme&#8217;s <code>style.css</code></a> to find the styling for the comment count bubble. </p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-accent-color has-text-color has-link-color wp-elements-585ecd19e40399cee9a43b313f3d01ee\">&#8220;Rare is the block theme where you don&#8217;t end up creating at least one issue in the Gutenberg repo, or think you ought to. Turns out the <code>hasIcon:false</code> setting for the navigation block only works if the navigation doesn&#8217;t have any styles set. (<a href=\"https://github.com/WordPress/gutenberg/issues/61181\">61181</a>)&#8221; &#8211; Anders Norén</p>\n</blockquote>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"fifth-task-patterns\">Fifth Task: Patterns</h2>\n\n\n\n<p>In block themes, patterns are simply PHP files in the <code>/patterns/</code> folder. </p>\n\n\n\n<p>You can study the code for the Patterns by following the GitHub links. As mentioned above, Norén uses small php snippets with his text strings, to allow for translations.</p>\n\n\n\n<p>Here is an example:</p>\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<pre class=\"wp-block-code has-000000-color has-text-color has-875-rem-font-size\"><code>&lt;!-- wp:paragraph {\"fontSize\":\"large\"} --&gt;\n&lt;p class=\"has-large-font-size\"&gt;<strong>&lt;?php esc_html_e( \'I have a long and storied career in the newspaper and publishing industry behind me. Testimonials are available by request.\', \'pulitzer\' ); ?&gt;</strong>&lt;/p&gt;\n&lt;!-- /wp:paragraph --&gt;</code></pre>\n</div></div>\n\n\n\n<p>Learn more about preparing a theme to be used with multiple languages in the <a href=\"https://developer.wordpress.org/themes/advanced-topics/internationalization/\">Theme Handbook &gt; Advanced topics &gt; Internationalization</a>.</p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"the-newsletter-page-pattern\">The newsletter page pattern</h3>\n\n\n\n<p><a href=\"https://pulitzer.andersnoren.se/subscriptions-form/\">See Demo page</a> &#8211; <a href=\"https://github.com/andersnoren/pulitzer/blob/main/patterns/page-newsletter.php\">Code on GitHub</a></p>\n\n\n\n<img width=\"581\" height=\"418\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/Screenshot-2025-05-08-at-18.09.39.png?resize=581%2C418&ssl=1\" alt=\"Close up of the Newsletter signup pattern of the Pulitzer theme\" class=\"wp-image-40305\" />\n\n\n\n<h3 class=\"wp-block-heading\" id=\"the-resume-page-pattern\">The resume page pattern</h3>\n\n\n\n<p>The resume list is separate. It can be added on its own to an existing page. It can also be modified for a different historical timeline.</p>\n\n\n\n<p><a href=\"https://pulitzer.andersnoren.se/curriculum-vitae/\">See Demo Page</a>  | <a href=\"https://github.com/andersnoren/pulitzer/blob/main/patterns/page-resume.php\">Code view on GitHub</a> | <a href=\"https://github.com/andersnoren/pulitzer/blob/main/patterns/general-resume-list.php\">Code Resume List Pattern</a></p>\n\n\n\n\n<img width=\"652\" height=\"639\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/05/GMQS6rlXkAEl5ej.jpeg?resize=652%2C639&ssl=1\" alt=\"Screenshot of the Curriculum Vitae page made with the Pulitzer theme\" class=\"wp-image-28521\" />\n\n\n\n\n<h3 class=\"wp-block-heading\" id=\"contact-page-pattern\">Contact Page Pattern</h3>\n\n\n\n<p>Patterns are PHP files. You can use loops to output recurring block layouts. This includes layouts like the stack of five columns used to list contact approaches in the Contact page pattern. It makes the patterns easier to maintain.</p>\n\n\n\n<p>On GitHub: <a href=\"https://github.com/andersnoren/pulitzer/blob/main/patterns/general-contact-list.php\">Contact List Pattern</a> | <a href=\"https://github.com/andersnoren/pulitzer/blob/main/patterns/page-contact.php\">Contact Page Pattern</a> </p>\n\n\n\n\n<img width=\"652\" height=\"606\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/GMQXaJlXsAAJAPr-edited.jpeg?resize=652%2C606&ssl=1\" alt=\"Screenshot of Contact page in the Pulitzer theme\" class=\"wp-image-40308\" />\n\n\n\n\n<h2 class=\"wp-block-heading\" id=\"sixth-task-style-variations\">Sixth Task: Style Variations</h2>\n\n\n\n<p>On to theme style variations! These are included as <code>/styles/[name].json</code> files in block themes. Users can select them at <em>Editor → Styles</em>. Theme style variations can modify just about anything set in theme.json, but Norén was sticking to a single simple <strong>Inverted</strong> style for 1.0. Later he added two more styles, &#8220;Humanist&#8221; and &#8220;Parchment.&#8221;</p>\n\n\n\n<img width=\"652\" height=\"586\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/05/GMQpkpmXQAAJtgV.jpeg?resize=652%2C586&ssl=1\" alt=\"Screenshot of Pulitzer Theme with Inverted Style Variation. \" class=\"wp-image-28527\" />\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\"><span>Inverted.json</span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki rose-pine-dawn\" tabindex=\"0\"><code><span class=\"line\"><span>{</span></span>\n<span class=\"line\"><span>	</span><span>\"</span><span>settings</span><span>\"</span><span>:</span><span> </span><span>{</span></span>\n<span class=\"line\"><span>		</span><span>\"</span><span>color</span><span>\"</span><span>:</span><span> </span><span>{</span></span>\n<span class=\"line\"><span>			</span><span>\"</span><span>palette</span><span>\"</span><span>:</span><span> </span><span>[</span></span>\n<span class=\"line\"><span>				</span><span>{</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>color</span><span>\"</span><span>:</span><span> </span><span>\"#111111\"</span><span>,</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>name</span><span>\"</span><span>:</span><span> </span><span>\"Base\"</span><span>,</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>slug</span><span>\"</span><span>:</span><span> </span><span>\"base\"</span></span>\n<span class=\"line\"><span>				</span><span>},</span></span>\n<span class=\"line\"><span>				</span><span>{</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>color</span><span>\"</span><span>:</span><span> </span><span>\"#161616\"</span><span>,</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>name</span><span>\"</span><span>:</span><span> </span><span>\"Base / Two\"</span><span>,</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>slug</span><span>\"</span><span>:</span><span> </span><span>\"base-2\"</span></span>\n<span class=\"line\"><span>				</span><span>},</span></span>\n<span class=\"line\"><span>				</span><span>{</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>color</span><span>\"</span><span>:</span><span> </span><span>\"#FFFFFF\"</span><span>,</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>name</span><span>\"</span><span>:</span><span> </span><span>\"Contrast\"</span><span>,</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>slug</span><span>\"</span><span>:</span><span> </span><span>\"contrast\"</span></span>\n<span class=\"line\"><span>				</span><span>},</span></span>\n<span class=\"line\"><span>				</span><span>{</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>color</span><span>\"</span><span>:</span><span> </span><span>\"#7F7F7F\"</span><span>,</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>name</span><span>\"</span><span>:</span><span> </span><span>\"Contrast / Two\"</span><span>,</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>slug</span><span>\"</span><span>:</span><span> </span><span>\"contrast-2\"</span></span>\n<span class=\"line cbp-see-more-line \"><span>				</span><span>},</span></span>\n<span class=\"line\"><span>				</span><span>{</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>color</span><span>\"</span><span>:</span><span> </span><span>\"#616161\"</span><span>,</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>name</span><span>\"</span><span>:</span><span> </span><span>\"Contrast / Three\"</span><span>,</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>slug</span><span>\"</span><span>:</span><span> </span><span>\"contrast-3\"</span></span>\n<span class=\"line\"><span>				</span><span>},</span></span>\n<span class=\"line\"><span>				</span><span>{</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>color</span><span>\"</span><span>:</span><span> </span><span>\"#4A4A4A\"</span><span>,</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>name</span><span>\"</span><span>:</span><span> </span><span>\"Contrast / Four\"</span><span>,</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>slug</span><span>\"</span><span>:</span><span> </span><span>\"contrast-4\"</span></span>\n<span class=\"line\"><span>				</span><span>},</span></span>\n<span class=\"line\"><span>				</span><span>{</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>color</span><span>\"</span><span>:</span><span> </span><span>\"#222222\"</span><span>,</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>name</span><span>\"</span><span>:</span><span> </span><span>\"Contrast / Five\"</span><span>,</span></span>\n<span class=\"line\"><span>					</span><span>\"</span><span>slug</span><span>\"</span><span>:</span><span> </span><span>\"contrast-5\"</span></span>\n<span class=\"line\"><span>				</span><span>}</span></span>\n<span class=\"line\"><span>			</span><span>]</span></span>\n<span class=\"line\"><span>		</span><span>}</span></span>\n<span class=\"line\"><span>	</span><span>},</span></span>\n<span class=\"line\"><span>    </span><span>\"</span><span>title</span><span>\"</span><span>:</span><span> </span><span>\"Inverted\"</span><span>,</span></span>\n<span class=\"line\"><span>	</span><span>\"</span><span>$schema</span><span>\"</span><span>:</span><span> </span><span>\"https://schemas.wp.org/trunk/theme.json\"</span><span>,</span></span>\n<span class=\"line\"><span>    </span><span>\"</span><span>version</span><span>\"</span><span>:</span><span> </span><span>2</span></span>\n<span class=\"line\"><span>}</span></span></code></pre></div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"seventh-task-submit-to-the-repository\">Seventh Task: Submit to the Repository</h2>\n\n\n\n<blockquote class=\"wp-block-quote has-accent-color has-text-color has-link-color wp-elements-c38a0f673e5a6a90b40282c2d37eb46c is-layout-flow wp-block-quote-is-layout-flow\">\n<p>&#8220;I&#8217;ve done another round of cleanup and polish, received the all-clear from the <a href=\"https://github.com/WordPress/theme-check\">theme check plugin</a>, added a proper theme description and <a href=\"https://pulitzer.andersnoren.se/\">created an info page about the theme on my site</a>.&#8221;</p>\n\n\n\n<p class=\"has-accent-color has-text-color has-link-color wp-elements-e076c461daae77ab5ab339a5b96bf8ef\">Anders Norén</p>\n</blockquote>\n\n\n\n<img width=\"652\" height=\"225\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/05/GMQ11PaWAAAiEXG.jpeg?resize=652%2C225&ssl=1\" alt=\"Screenshot of the Result of automated Theme Scanning.\" class=\"wp-image-28529\" />\n\n\n\n<p>For more detailed information, you can find in the Theme Handbook page: <a href=\"https://developer.wordpress.org/themes/releasing-your-theme/submitting-your-theme-to-wordpress-org/\">Submitting Your Theme to WordPress.org</a>. </p>\n\n\n\n<p><a href=\"https://wordpress.org/themes/pulitzer/\">Pulitzer is available in the WordPress Theme repository</a></p>\n\n\n\n<img width=\"652\" height=\"489\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2024/05/GMQ1uZHWoAAs3op-2.png?resize=652%2C489&ssl=1\" alt=\"Final full page view of Pulitzer theme.\" class=\"wp-image-28531\" />\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>After the X (formerly known as Twitter) Thread was published, Anders Norén wrote a blog post almost exactly a year ago. <a href=\"https://andersnoren.se/introducing-pulitzer/\"><strong>The post introduced the Pulitzer theme</strong></a>.</p>\n\n\n\n<blockquote class=\"wp-block-quote has-accent-color has-text-color has-link-color has-normal-font-size wp-elements-59c93e449ba3278e9efca737199b4283 is-layout-flow wp-block-quote-is-layout-flow\">\n<p>&#8220;I also want to say thank you to everyone who has reached out to say they appreciate the thread. I wasn&#8217;t sure if this would end up at all useful or interesting to anyone, so it means a lot.&#8221;</p>\n<cite>Anders Norén</cite></blockquote>\n\n\n\n<p>Share what your process looks like in the comments, also share your challenges working with block themes, or what you learn on the way.  You can also <a href=\"https://discord.gg/rmj7pmBh\">join us on Discord</a> to discuss with other theme and block developers. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<h2 class=\"wp-block-heading\" id=\"who-is-anders-noren\">Who is Anders Norén?</h2>\n\n\n<div class=\"wp-block-image\">\n<a href=\"https://profiles.wordpress.org/anlino/\"><img width=\"100\" height=\"100\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/Anders-Noren-avatar.png?resize=100%2C100&ssl=1\" alt=\"Avatar: Anders Norén, as seen on his WordPress profile\" class=\"wp-image-40352\" /></a></div>\n\n\n<p><a href=\"https://andersnoren.se/\">Andres Norén</a> is a freelance designer &amp; developer living in the Swedish mountains. You can now follow him<a href=\"https://bsky.app/profile/andersnoren.bsky.social\"> on Bluesky</a>, or read his <a href=\"https://andersnoren.se/blog/\">blog</a>.</p>\n\n\n\n<p>Eleven years ago, Norén published his first Theme in the WordPress repository, <a href=\"https://wordpress.org/themes/wilson/\">Wilson in 2014</a>. There are now 33 Themes by him available.</p>\n\n\n\n<p>He has been an early adopter of block themes with his theme <a href=\"https://wordpress.org/themes/tove/\">Tove</a>, first released in September 2021. In January of this year, he released his twelfth block theme: <a href=\"https://wordpress.org/themes/spiekermann/\">Speakermann</a>. You can take a look at <a href=\"https://wordpress.org/themes/author/anlino/?tag_slug__and%5B%5D=full-site-editing\">all block themes by Norén</a> in the repository.</p>\n\n\n\n<p>You can support Anders Norén and his work by sponsoring him on&nbsp;<a href=\"https://ko-fi.com/andersnoren\">Ko-fi</a>,&nbsp;<a href=\"https://github.com/sponsors/andersnoren\">GitHub</a>, or&nbsp;<a href=\"https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=anders%40andersnoren%2ese&lc=US&item_name=Free%20WordPress%20Themes%20from%20Anders%20Noren%C2%A4cy_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted\">PayPal</a>. </p>\n\n\n\n<p>Anders Norén was also a guest on the Gutenberg Time Live Q &amp; A. <br /><a href=\"https://www.youtube.com/watch?v=eiIhJdFfamA\"><strong>He discussed the transition from Classic Themes to block-based Themes</strong></a> together with Carolina Nymark and Ellen Bauer. This took place on October 21, 2021. </p>\n\n\n\n<div class=\"wp-block-embed__wrapper\">\n\n</div>\n\n\n\n<p></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 10 May 2025 09:46:32 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:23;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Matt: Code Matters\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:23:\"https://ma.tt/?p=142334\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://ma.tt/2025/05/code-matters/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:265:\"<p>It looks like the code that the newly announced Figma Sites is producing isn&#8217;t the best.</p>\n\n\n\n<div class=\"wp-block-embed__wrapper\">\n\n</div>\n\n\n\n<p>There are some cool Figma-to-WordPress workflows; I hope Sites gets more people exploring those options.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 09 May 2025 22:59:18 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:24;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"Gravatar: How to Design an Author Brand Readers Remember\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"http://blog.gravatar.com/?p=3165\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://blog.gravatar.com/2025/05/09/author-branding/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:17379:\"<p>With <a href=\"https://www.tonerbuzz.com/blog/how-many-books-are-published-each-year/\">more than 500,000 books published each year</a>, many authors struggle to differentiate themselves in a saturated market. Your words might be brilliant, but without a recognizable brand, they can easily get lost among countless other titles on physical and virtual shelves. </p>\n\n\n\n<p>A solid author branding strategy needs to go beyond traditional approaches. If you want people to recognize and remember your work, you need a multi-platform presence and to maintain brand consistency. The most successful authors don&#8217;t just write great books – they craft authentic identities that resonate with their target audience.</p>\n\n\n\n<p>If you’re struggling to get to this point, you’re not alone. For many creatives, the most challenging part of being an author is the need to promote oneself, which makes the whole branding process a bit intimidating.&nbsp;</p>\n\n\n\n<p>To help you in this, we&#8217;ll give you a practical roadmap for establishing an authentic author brand, helping you to create visual recognition with advanced strategies that will help your work get noticed. Whether you&#8217;re just starting out or looking to refresh your existing presence, these techniques will help you build meaningful connections with readers.</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Crafting an unforgettable author brand: Key strategies for standing out</strong></h2>\n\n\n\n<p>Authors face a unique challenge: Creating a professional presence that attracts readers while remaining authentic to their writing style and voice. This balance between marketability and authenticity forms the foundation of effective author branding.</p>\n\n\n\n<p>The first thing you need to understand is that your genre is the main thing that will shape branding decisions. For example, fiction writers often benefit from creative visual branding or custom-built websites that reflect their story themes. A fantasy author might use mystical imagery and an immersive website design, while a thriller writer, like <a href=\"https://jamesrollins.com/\">James Rollins</a>, might opt for darker tones and suspenseful elements.&nbsp;</p>\n\n\n\n<img width=\"660\" height=\"369\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/04/1-james-rollins-website-homepage.png?w=660\" alt=\"1 – James Rollins author website example\" class=\"wp-image-3168\" />\n\n\n\n<p>Academic and non-fiction authors (like <a href=\"https://thecruxbook.com/\">Richard P. Rumelt</a> in the example below) typically prefer sleeker, more professional branding with verified credentials, professional profiles, and links to the various places people can buy their books.</p>\n\n\n\n<img width=\"660\" height=\"414\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/04/2-richard-p-rumelt-website-homepage.png?w=660\" alt=\"2 – Richard P. Rumelt website homepage\" class=\"wp-image-3169\" />\n\n\n\n<p>However, for successful author brands, the website design is just the beginning. You need to create an overarching strategy that intersects your unique writing style, genre positioning, and reader relationships. Each element reinforces the others, creating a cohesive identity readers can connect with.</p>\n\n\n\n<p>To start developing your author brand, follow these practical steps:</p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Extract core themes from your writing – recurring motifs, values, or perspectives – and incorporate them into your brand identity.</li>\n\n\n\n<li>Study successful authors in your genre, noting how they position themselves visually and verbally.</li>\n\n\n\n<li>Design a sustainable engagement strategy across multiple platforms that fits your writing schedule and energy levels.</li>\n\n\n\n<li>Build recognition through consistent profile management across publishing platforms, social media, and professional networks.</li>\n</ol>\n\n\n\n<p><strong><img src=\"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/26a0.png\" alt=\"⚠\" class=\"wp-smiley\" />Branding isn&#8217;t about creating a false persona, and authenticity resonates more than perfection.</strong> Let your unique voice guide your branding decisions, and readers will naturally connect with both you and your work.</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Storytelling and voice: Making your brand uniquely yours</strong></h3>\n\n\n\n<p>The most effective author brands maintain narrative consistency across all touchpoints – books, newsletters, social media posts, and author interviews. However, being consistent doesn&#8217;t equal being repetitive; it means ensuring your unique perspective shines through everything you create.</p>\n\n\n\n<p>Now, we know this can sound a bit like a chore, especially if you’re not used to being active online. Still, it’s a necessary one and kind of like an extension of your storytelling abilities – an opportunity to weave your experiences and expertise into every interaction with readers. Your personal anecdotes, thought processes, and distinct point of view are assets that make your brand impossible to duplicate.</p>\n\n\n\n<p>One of the most common ways for authors to connect with audiences is to share their knowledge through workshops and writing tips, which serve multiple purposes. Not only does teaching help others, but it also positions you as an authority in your genre. A romance novelist hosting dialogue-writing workshops or a mystery author sharing plot-twisting techniques creates value while strengthening their brand identity.</p>\n\n\n\n<p>And these brand-building activities need not feel forced. The same creativity that fuels your writing can make branding feel like a natural extension of your work rather than a separate marketing task. When your authentic voice remains consistent, readers recognize it instantly, whether in your books or your latest social media update.</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Visual elements that captivate readers</strong></h3>\n\n\n\n<p>While written content forms the foundation of an author&#8217;s work, visual elements create immediate recognition and emotional connection. Your visual identity – from author photos to website design – communicates volumes before readers encounter a single word you&#8217;ve written.</p>\n\n\n\n<p>Video content has become particularly powerful for author branding. Maintaining a <a href=\"https://www.youtube.com/\">YouTube</a> channel, like authors <a href=\"https://www.youtube.com/@christopher_paolini\">Christopher Paolini</a> and <a href=\"https://www.youtube.com/@XiranJayZhao\">Xiran Jay Zhao</a> have done, allows readers to connect with your personality beyond the page.&nbsp;</p>\n\n\n\n<p>They’re also great examples of the different approaches authors can take regarding their content. Christopher’s channel is all centered around his books, especially the Eragon universe, with only his latest video being about keyboards (an author’s best friend).&nbsp;</p>\n\n\n\n<img width=\"660\" height=\"417\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/04/3-christopher-paolini-youtube-channel.png?w=660\" alt=\"3 – Christopher Paolini YouTube channel homepage\" class=\"wp-image-3170\" />\n\n\n\n<p>Xiran, on the other hand, actually built her YouTube audience before she even published her book and got popular by analyzing movies and series that contain Chinese elements and characters (Mulan, Avatar: The Last Airbender, and Turning Red, just to mention a few).&nbsp;</p>\n\n\n\n<img width=\"660\" height=\"449\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/04/4-xiran-jay-zhao-youtube-channel.png?w=660\" alt=\"4 – Xiran Jay Zhao YouTube channel homepage\" class=\"wp-image-3171\" />\n\n\n\n<p>All of this is to say that your channel can be about anything that your audience (and you!) find interesting. This could include book discussions, writing process insights, or behind-the-scenes glimpses of research trips.</p>\n\n\n\n<p>Beyond YouTube, simple visual consistency across platforms can also dramatically increase recognition. When readers see the same professional headshot, color scheme, and typography across your website, book jackets, and social accounts, they subconsciously register a cohesive brand.</p>\n\n\n\n<p>Several tools help maintain this visual consistency without requiring graphic design expertise. <a href=\"https://gravatar.com/\">Gravatar</a>, for instance, provides profile management that ensures your image appears consistently across hundreds of websites and platforms. This visual continuity builds recognition while simplifying the technical aspects of maintaining your author brand across the internet.</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Building a multi-platform author presence</strong></h2>\n\n\n\n<p>Being on multiple platforms is great. It lets you cast a wider net on potential audiences, and it keeps you in the loop. However, there is one drawback – you don’t actually own any of those profiles. If a platform goes down, so does your profile, and while some of them look eternal, none of them are (remember MySpace?).&nbsp;</p>\n\n\n\n<p>This is why your author website should be the central hub of your online presence –&nbsp;a permanent digital home where readers can find your complete bibliography, background information, upcoming releases, and blog content. Unlike social media platforms that come and go, your website remains under your control, making it an essential foundation for long-term brand building.</p>\n\n\n\n<p>For authors using <a href=\"https://wordpress.org/\">WordPress</a>, the <a href=\"https://blog.gravatar.com/2024/10/23/upgrade-author-profiles-with-the-gravatar-block-for-wordpress/\">Gravatar author block</a> can automatically sign off blog posts with your profile information, providing consistent branding while boosting your site&#8217;s SEO through proper authorship markup.&nbsp;</p>\n\n\n\n<img width=\"660\" height=\"426\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/04/5-gravatar-profile-block-customized.png?w=660\" alt=\"5 – Personalized Gravatar author block for WordPress\" class=\"wp-image-3172\" />\n\n\n\n<p>This simple implementation helps search engines understand who created the content, potentially improving visibility for your work.</p>\n\n\n\n<p>Still, you shouldn’t write off other platforms completely, despite their potential brevity. A multi-platform approach allows you to meet readers where they already spend time online, expanding your reach beyond those who actively seek you out.</p>\n\n\n\n<p><a href=\"https://twitter.com/\">X</a> (formerly Twitter) has long been a primary platform for authors to share thoughts, engage with readers, and connect with publishing professionals. Now, it is slowly being overtaken by <a href=\"https://blog.gravatar.com/2025/02/06/bluesky-handle/\">Bluesky</a>, and the idea behind it is the same – share immediate thoughts and updates and connect quickly with your readers.&nbsp;</p>\n\n\n\n<img width=\"660\" height=\"509\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/04/6-raymond-e-feist-bluesky-profile.png?w=660\" alt=\"6 – Raymond E. Feist Bluesky profile\" class=\"wp-image-3174\" />\n\n\n\n<p>There are also alternative platforms, which often provide more targeted opportunities to reach specific audiences. <a href=\"https://slack.com/\">Slack</a> and <a href=\"https://discord.com/\">Discord</a> communities dedicated to literature or particular genres are becoming increasingly more popular because they promote safe spaces for meaningful discussion with engaged readers.&nbsp;</p>\n\n\n\n<p>Technical authors, on the other hand, might find <a href=\"https://github.com/\">GitHub</a> an unexpected but valuable platform for demonstrating expertise and connecting with technically-minded readers. On both platforms, your Gravatar avatar automatically displays, maintaining visual consistency across these diverse spaces.</p>\n\n\n\n<p>Whatever you chosen bundle of platforms is, <a href=\"https://www.optimizely.com/insights/blog/content-repurposing-guide/\">strategic content adaptation</a> will maximizes the impact of your work across platforms. A blog post can transform into a Twitter thread, newsletter excerpts, <a href=\"https://www.instagram.com/\">Instagram</a> quotes, or discussion topics for online communities – each tailored to the platform&#8217;s format while preserving your distinctive voice and message.</p>\n\n\n\n<p>This cross-platform presence builds more than just visibility. It establishes trust through verification and consistency. When readers encounter your recognizable branding across multiple channels, their confidence in your authenticity grows, especially when platforms like Gravatar provide verification mechanisms that confirm you are who you claim to be.</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Streamline your brand management with Gravatar</strong></h3>\n\n\n\n<img width=\"660\" height=\"343\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/04/7-gravatar-new-homepage.png?w=660\" alt=\"7 – Gravatar homepage\" class=\"wp-image-3175\" />\n\n\n\n<p>Managing multiple online profiles across various platforms can quickly become overwhelming. Gravatar offers a solution specifically valuable for authors seeking efficient brand management without the administrative headache.</p>\n\n\n\n<p>A Gravatar profile serves as a <a href=\"https://blog.gravatar.com/2024/11/18/create-online-profile/\">centralized online identity hub</a> where authors can build an authentic digital presence that fosters trust with readers. The platform includes:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Verification badges and the ability to link to your various online profiles, proving you&#8217;re the genuine author behind the work.&nbsp;</li>\n</ul>\n\n\n\n<img width=\"660\" height=\"478\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/04/8-gravatar-profile-verified-accounts-section.png?w=660\" alt=\"8 – Verified links in a Gravatar profile\" class=\"wp-image-3176\" />\n\n\n\n<ul class=\"wp-block-list\">\n<li>The ability to showcase your portfolio directly within your Gravatar profile, making it easy for potential readers to discover your publications with a single click.</li>\n</ul>\n\n\n\n<img width=\"660\" height=\"429\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/04/9-gravatar-links-feature.png?w=660\" alt=\"9 – Portfolio and article links in a Gravatar profile\" class=\"wp-image-3178\" />\n\n\n\n<ul class=\"wp-block-list\">\n<li>Customization options that allow you to tailor your profile to match your author brand&#8217;s visual style. This includes colors, fonts, and imagery that align with your book covers and website design.</li>\n</ul>\n\n\n\n<img width=\"660\" height=\"469\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/04/10-profile-design-customization-in-gravatar.png?w=660\" alt=\"10 – Personalized Gravatar profile with a custom background, colour palette, and cover photo\" class=\"wp-image-3179\" />\n\n\n\n<ul class=\"wp-block-list\">\n<li>Automatic profile syncing – this means that when you update your author photo once, the changes propagate everywhere your Gravatar appears, including WordPress, GitHub, Slack, and hundreds of other platforms.&nbsp;</li>\n\n\n\n<li>The ability to maintain separate profiles for different genres, pen names, or to separate professional and personal identities – all managed from a single account.</li>\n\n\n\n<li>A <a href=\"https://docs.gravatar.com/2024/05/23/qr-me-this-qr-me-that/\">unique QR code for each profile</a>, allowing you to instantly connect with people in real-life conversations like conventions, university talks, or other events. Just add the code to your phone wallet, and you’re ready to share your profile!</li>\n</ul>\n\n\n\n<img width=\"660\" height=\"536\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/04/11-add-qr-code-to-wallet.png?w=660\" alt=\"11 – Adding a Gravatar profile QR code to Apple and Google wallet\" class=\"wp-image-3180\" />\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Launch your enhanced author brand today</strong></h2>\n\n\n\n<p>Effective author branding doesn&#8217;t require massive budgets or complex marketing strategies. It&#8217;s about starting small with authentic, consistent efforts that grow over time. Even minor improvements to your online presence can significantly impact how readers perceive and remember your work.</p>\n\n\n\n<p>Begin by examining authors you admire. Study how they present themselves online – not to copy their style, but to understand what makes their brand effective. Notice how the most memorable author brands maintain consistency across all platforms while allowing their authentic personality to shine through.</p>\n\n\n\n<p>You should also pay attention to their profile management – the authors whose careers continue to flourish typically maintain consistent, professional images across platforms. This is where tools like Gravatar naturally tie into author branding. By centralizing your profile management, Gravatar helps you maintain a consistent and trusted professional author presence across numerous platforms without the typical administrative burden. </p>\n\n\n\n<p>Building an authentic author brand takes time, but the first steps are simple. Start today and <a href=\"https://gravatar.com/\">create a free Gravatar profile</a> to begin establishing your consistent online presence.</p>\n\n\n\n<a href=\"https://gravatar.com/connect/?gravatar_from=blog\"><img width=\"3243\" height=\"729\" src=\"https://blog.gravatar.com/wp-content/uploads/2024/12/free_profile_cta.png\" alt=\"\" class=\"wp-image-2616\" /></a>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 09 May 2025 14:38:33 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Ronnie Burt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:25;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"Do The Woo Community: Bits and Pieces of the Channel with BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=96788\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"https://dothewoo.io/bits-and-pieces-of-the-channel-with-bobwp/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:175:\"In this episode, Bob discusses updates for WordCamp Europe, including minor show name changes, a new host announcement, and the relocation of daily posts to his personal blog.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 08 May 2025 13:46:47 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:26;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"Do The Woo Community: Daily Posts Packing Up and Taking a Trip\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=96776\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"https://dothewoo.io/blog/daily-posts-packing-up-and-taking-a-trip/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:54:\"Taking a break on these posts for a couple of reasons.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 08 May 2025 08:34:29 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:27;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:69:\"Akismet: Version 5.4 of the Akismet WordPress plugin is available now\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://akismet.com/?p=284412\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:37:\"https://akismet.com/blog/akismet-5-4/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:892:\"<p>Version 5.4 of <a href=\"http://wordpress.org/plugins/akismet/\">the Akismet plugin for WordPress</a> is now available. This update contains the following&nbsp;improvements:</p>\n\n\n<ul class=\"wp-block-list\"><li>We&#8217;ve added a &#8220;Compatible Plugins&#8221; section to the Akismet settings page that shows any other installed and active plugins that are compatible with Akismet, along with links to documentation on how to ensure they&#8217;re working&nbsp;together.</li>\n\n<li>The stats pages now use the user&#8217;s locale instead of the site&#8217;s locale if they&#8217;re&nbsp;different.</li></ul>\n\n\n<p>To upgrade, visit the Updates page of your WordPress dashboard and follow the instructions. If you need to download the plugin zip file directly, links to all versions are available in <a href=\"http://wordpress.org/plugins/akismet/\">the WordPress plugins&nbsp;directory</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 07 May 2025 16:38:11 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Christopher Finke\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:28;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:84:\"WPTavern: #168 – Hari Shanker on Understanding and Showing WordPress Contributions\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://wptavern.com/?post_type=podcast&p=195550\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:98:\"https://wptavern.com/podcast/168-hari-shanker-on-understanding-and-showing-wordpress-contributions\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:50444:\"Transcript<div>\n<p>[00:00:19] Nathan Wrigley: Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.</p>\n\n\n\n<p>Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the blocks, the themes, and in this case understanding the nature of WordPress contributions and making sure that contributors understand where they might be needed.</p>\n\n\n\n<p>If you&#8217;d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to wptavern.com/feed/podcast. And you can copy that URL into host podcast players.</p>\n\n\n\n<p>If you have a topic that you&#8217;d like us to feature on the podcast, I&#8217;m keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wptavern.com/contact/jukebox, and use the form there.</p>\n\n\n\n<p>So on the podcast today, we have Hari Shanker. Hari has been a member of the WordPress community since 2007, and has contributed in various capacities, including as a full-time contributor for several years, working with Automattic, working with initiatives like Five for the Future, and supporting numerous community events around the world. He currently volunteers his time as a community program manager, helping to grow and support the WordPress ecosystem from his home in India.</p>\n\n\n\n<p>If you&#8217;re involved in the WordPress project, you likely know how vast and complex the contributor ecosystem can be, but you might not have heard of the WordPress Contribution Health Dashboards. An experimental initiative aimed at making sense of all the communities moving parts by gathering, visualizing, and sharing contribution data.</p>\n\n\n\n<p>But why does WordPress need something like this? Well, it could help new and existing contributors figure out where to pitch in, and how their work might guide the project&#8217;s future growth. Hari&#8217;s here to explain.</p>\n\n\n\n<p>We start the podcast by going off on a tangent, discussing the landscape of WordPress in India. India is experiencing a huge upswell in community activity, innovation and youth engagement, and it&#8217;s exciting to hear about.</p>\n\n\n\n<p>We then dive into the main thrust of the podcast, the Contribution Health Dashboards. How the idea came about. Who helped drive it forwards. Why it&#8217;s proving so challenging to build, and the massive value it promises for contributors, team reps, project leadership, and anyone curious about where WordPress needs help.</p>\n\n\n\n<p>We look at the practical aspects too. What tools are, and aren&#8217;t, available? The difficulty of tracking data across the many platforms WordPress uses, and what kinds of skills, and volunteers are needed to push this work forward.</p>\n\n\n\n<p>Hari shares his vision for accessible visual dashboards that can guide contributors of all skill sets, and help make the best of every single contribution hour.</p>\n\n\n\n<p>If you&#8217;ve ever wondered how to make your WordPress contributions matter even more, or how the project could be better supported by data driven insights, this episode is for you.</p>\n\n\n\n<p>If you&#8217;re interested in finding out more, you can find all of the links in the show notes by heading to wptavern.com/podcast, where you&#8217;ll find all the other episodes as well.</p>\n\n\n\n<p>And so without further delay, I bring you Hari Shanker.</p>\n\n\n\n<p>I am joined on the podcast by Hari Shanker. Thank you for joining me.</p>\n\n\n\n<p>[00:03:53] Hari Shanker: Thank you for inviting me to the podcast and I&#8217;m so excited to be here, Nathan.</p>\n\n\n\n<p>[00:03:58] Nathan Wrigley: I am really pleased that you&#8217;ve joined me. We had aspirations of doing this podcast from Manila, but things conspired against us, and so we are doing this via an online call, let&#8217;s say a Zoom call or something like that. So I&#8217;m really pleased that we could finally hook up.</p>\n\n\n\n<p>The intention is to talk today about something that I suspect many people in the WordPress community will not know a great deal about. So it is called the WordPress Contribution Health Dashboard, or dashboards I should say. And we&#8217;ll get into that in a moment. What it is. Why it exists, and how that project is moving along.</p>\n\n\n\n<p>But before then, Hari, would you mind just giving us your little bio, your introduction to who you are, where you live, what you do in the WordPress space. As much as you like, really over to you.</p>\n\n\n\n<p>[00:04:44] Hari Shanker: Thank you so much, Nathan. So my name Hari Shanker. I live in the south of India, in a city called Kochi. I&#8217;ve been with the WordPress community since 2007. I&#8217;ve been contributing actively since 2016. I have been contributing full-time. I had been contributing full-time from 2020 to 2024.</p>\n\n\n\n<p>At this point, I&#8217;m a volunteer contributor. I used to work with Automattic for a while, from 2016 to 2025. At this point I&#8217;m not employed, I am a volunteer contributor, very much excited to work on WordPress. And I&#8217;ve done a bunch of things with WordPress. WordPress is one of my biggest passions.</p>\n\n\n\n<p>My work has mostly been in the community team. I am still a community program manager, which means I approve events, I support events, and my work has mostly been in the contributor experience of WordPress. I led the Five for the Future initiative for quite a long time. And I was also working on the WordPress Contributor Working Group, where we held three editions of the WordPress Contributor Mentorship Program.</p>\n\n\n\n<p>As I said, I live in Kochi. I have a wife and I have three cats. I absolutely love it here. They call Kerala Gods own country, and I love the state, I love where I live. And I love the fact that I can work on the best open source software in the world, sitting in my lovely little city, in my lovely little apartment. That&#8217;s all about me.</p>\n\n\n\n<p>[00:05:58] Nathan Wrigley: That&#8217;s so nice. That&#8217;s really lovely. Can I just segue a little bit and steer away from the conversation that we&#8217;re intending to have? And ask you about WordPress in India?</p>\n\n\n\n<p>Now, obviously you may not have your finger on the pulse of everything that&#8217;s going on, but I&#8217;m curious. Not having been to India during the period I&#8217;ve been using WordPress, I have an intuition that it&#8217;s a thriving community over there, dare I even say, a growing community.</p>\n\n\n\n<p>But that&#8217;s just based upon the little bits and pieces that I&#8217;ve captured from friends, and articles that I&#8217;ve seen. And there seems to be this big upswell in plugin development, and agencies that are really doing great work. So there isn&#8217;t really a question there, it&#8217;s just more, tell us about how WordPress is going in India.</p>\n\n\n\n<p>[00:06:40] Hari Shanker: Absolutely. So you got it right. WordPress, the WordPress economy, the WordPress ecosystem is really thriving. As you said, it&#8217;s everywhere. Like, the plugin ecosystem, we have VIP agencies. We have so much innovation happening in WordPress. We have companies like InstaWP. We have agencies like rtCamp, Multidots. There&#8217;s so much innovation happening. That&#8217;s just the tip of the iceberg.</p>\n\n\n\n<p>There is also so much community activities happening. We&#8217;ve had so many of these events, so many innovative WordPress events, we&#8217;ve had WordCamps.</p>\n\n\n\n<p>So I was involved in setting up an event called WordPress Photo Festival, and we&#8217;ve had a WP Campus Connect. We&#8217;ve had a host of women&#8217;s day events that were held on March 8th. Again, that&#8217;s the tip of the iceberg. There&#8217;s so many activities happening. So be it innovation in plugin development or theme development.</p>\n\n\n\n<p>And again, themes are big in India. We have had, Astra theme comes from India. So many of these activities happening. And it&#8217;s not just centered in one city, it is really all over the place. So in Kerala where I live in, we have very thriving community. We have folks who&#8217;ve come up from the community, and who&#8217;ve built things that have made waves all over the world. And again, across different cities, be it Mumbai, Pune, Ahmadabad, Kolkata, Ajmer.</p>\n\n\n\n<p>So India is, as you know, is a big country. So we have a host of these local WordPress meetup groups and several thousands of community members. And I do not use the word thousand as a euphemism. It really is, like we actually have thousands of community members who are doing cutting edge work. And I can tell you, it is so inspiring to see. I mean, as an open source fan, like it really gives me the energy to keep going.</p>\n\n\n\n<p>So yeah, you are right. WordPress is thriving. And we have WordCamp Asia coming to India, in Mumbai in 2026. I am very excited about that.</p>\n\n\n\n<p>I was actually the mentor of WordCamp Asia for a short while, but this point I&#8217;ve stepped down. I have applied as an organiser and I hope to be in the organising team as well. So I think it&#8217;s the best time for WordPress in India, and we still have heights to conquer. The best is yet to come. Super excited about all that.</p>\n\n\n\n<p>[00:08:36] Nathan Wrigley: Yeah, that&#8217;s really great because it does seem in different parts of the world, and maybe this will feed into the conversation that we&#8217;re about to have, it does feel in other parts of the world. So I&#8217;m in the UK, and it does feel that the community side of things has definitely taken a bit of a hit since the pandemic, so 2019 and beyond.</p>\n\n\n\n<p>Those meetups that happened in some cases have come back, but in the majority of cases, they still are either dormant or perhaps have been abandoned. And I feel that the same might be true across Europe and North America. I can&#8217;t speak to whether that is accurate or not, but that&#8217;s the feeling that I get.</p>\n\n\n\n<p>It does feel, like I said, the news that I see, the articles that I read in WordPress journalism, it really does feel like India is exactly as you&#8217;ve described it. But also it feels like it&#8217;s not just confined to WordPress, it&#8217;s tech in general. It feels like there&#8217;s, well, maybe renaissance is the wrong word, but there&#8217;s just a huge pivot in all things tech over to places like India. You know, whether that&#8217;s, I don&#8217;t know, SaaS apps and so on, but CMSs as well. It does feel like India is definitely on the rise in all manner of tech.</p>\n\n\n\n<p>[00:09:41] Hari Shanker: Absolutely. I think there&#8217;s a bunch of reasons for it, but in my mind, I think a big reason for that, I wouldn&#8217;t call it the biggest reason, is our very young population. India&#8217;s population at this point is over 1.4 billion. I&#8217;m not aware of the latest number, but I think it&#8217;s around 1.5 billion. So off the top of my head, I think at least 50% of it is a young population. They are less than 35 years of age.</p>\n\n\n\n<p>All these young folks, they&#8217;re coming in with so much energy. There&#8217;s an abundance of human capital. And we are in the internet age, and one good thing that happened after COVID-19 is a lot of these folks got connected. And India has really cheap internet. I mean, of all the places that I&#8217;ve traveled to, internet in India has been the cheapest that I know. So it&#8217;s really easy to get connected.</p>\n\n\n\n<p>And a lot of these people who are connected, they&#8217;re using it very productively. That is one of the reasons why you&#8217;re seeing this spurt of activity. And there&#8217;s been a lot of these inspiring stories, which is really inspiring the youth. And WordPress being what it is, is seeing a lot of this innovation coming in.</p>\n\n\n\n<p>But I think, again, we&#8217;re really at the tip of the iceberg. The best is yet to come, because I see a lot more people coming into the community. And my hope is with WordCamp Asia happening next year, we will see a lot more of these young folks embracing WordPress, not just tech, but embracing WordPress, and doing a bunch of innovations. So I think the goal for the Indian community is to get all these young people to WordPress.</p>\n\n\n\n<p>[00:10:53] Nathan Wrigley: It&#8217;s interesting that you mentioned the young people. I was just wondering if there was a connection between, for example, education, you know, school and the emergence of jobs. I don&#8217;t know what age you leave school in India, but in the UK it would be typically 16 or 18. And at that point you&#8217;re perhaps going on to higher education, so university, something like that, or finding a job.</p>\n\n\n\n<p>And I think there&#8217;s been a real effort in the UK to supply education in tech. But it doesn&#8217;t really seem to pivot around open source software. It tends to pivot around, can I use this already existing product? Often a kind of Microsoft version of something, in order to create wealth or a job. But I don&#8217;t know if there&#8217;s more of a pivot in India to use open source things to teach those kind of things.</p>\n\n\n\n<p>So again, there&#8217;s no question there. It&#8217;s just more of an observation really.</p>\n\n\n\n<p>[00:11:41] Hari Shanker: Yeah, so I think your observation is pretty astute. But I think India has a bit of a USP here when it comes to open source. We have had an open source movement since time immemorial. I mean, specifically my state of Kerala, we have a very uniquely liberal government. So they sort of stepped away from proprietary software and embraced open source software as early as in the nineties.</p>\n\n\n\n<p>So Richard Stallman, when he used to be active in the community, he used to visit Kerala almost every other year. And we, as a result of that, have a pretty thriving open source community in my state.</p>\n\n\n\n<p>All sorts of open source from Linux distributions, to Python and WordPress of course, and Drupal, and we have all these communities very active and thriving.</p>\n\n\n\n<p>And a lot of the young people, they get their introduction to tech through these open source communities, which have local chapters. It&#8217;s not just related to my state, even though my state has a pretty high population of this, a lot more people doing this. I would say that the open source movement is pretty active all across India. So we have these big open source conferences in some of the big universities. We have these small local chapters where people get active. So at some point or the other young people who are interested in tech, they get some introduction to open source. And a lot of people are enamoured by the philosophy.</p>\n\n\n\n<p>Now, coming specifically to the WordPress community, we have recently had some really good events. So these are in a youth camp format. I was involved in one of them. And there was an event called WP Campus Connect that was held in Ajmer, Rajasthan, which is held by Pooja Derashri. So these events, they were experiments really, but they&#8217;ve been quite successful, especially I would say the WP Camps Connect event. It&#8217;s been fantastic.</p>\n\n\n\n<p>Like, it was an event series, and as a result of those events, I don&#8217;t know the numbers, but off the top of my head, at least 200 to 300 people, 300 kids, they got introduced to WordPress directly. I&#8217;m not just talking about, you know, setting up websites, they got an introduction to the community. And those efforts are really paying off. We are seeing these people coming into the community and being active.</p>\n\n\n\n<p>So the gist of what I&#8217;m saying is, yes, you are right. We are seeing an open source movement and we, a lot of these young kids, I mean of course a lot of them, as you said, they move to proprietary technology, but they have more of a window into open source as they blossom.</p>\n\n\n\n<p>[00:13:40] Nathan Wrigley: The interesting thing I suppose about that is, given the long march of history and having many decades into the future, that groundswell amongst the younger people now is going to paint a really interesting picture in a couple of decades time. So in the 2030s and the 2040s, it&#8217;ll be interesting to see how that movement, the young people obviously going into the marketplace, and getting a job in some industry or other, it&#8217;d be interesting to see how that all plays out.</p>\n\n\n\n<p>Because one of the things that I always notice when I go to WordCamps is that age thing. The demographic of age, it always seems to skew older rather than younger, you know? If you were to say, how many people here are over, I don&#8217;t know, let&#8217;s say 45 or 50? I think there&#8217;d be quite a few hands. And if you would say, who&#8217;s under 20? Very few. Certainly in my part of the world. So it will be interesting how that shakes out.</p>\n\n\n\n<p>But how positive is that? That&#8217;s such a great way to begin this podcast. I don&#8217;t know if you want to, if you&#8217;ve got anything more you want to leverage into there quickly before we move on, feel free to.</p>\n\n\n\n<p>[00:14:40] Hari Shanker: I just want to add a quick comment. That is a huge opportunity, and to be honest with you, even in India, even with the huge population, the WordPress events that we have, we still haven&#8217;t seen that influx yet. But the good news is that it&#8217;s changing. It definitely has an effect because when I started organising events for the community in 2016, we got a lot of the young kids and I am seeing them.</p>\n\n\n\n<p>So it&#8217;s been eight years. I&#8217;m seeing the same people, they&#8217;re making waves. I know three or four specific examples of folks who got into the community as college students and then really went places. So if we are able to, when I say we, I&#8217;m referring to the WordPress community, or specifically the Indian WordPress community. If we are able to leverage it well, and if we manage to keep the momentum and grow it, I would say the sky is the limit. So I am super optimistic and extremely excited about where the future lies for WordPress in India.</p>\n\n\n\n<p>[00:15:25] Nathan Wrigley: So that was supposed to be like a one minute aside, and there we go. We&#8217;ve had a really interesting conversation about what WordPress is doing in your part of the world. Thank you for that. That was really interesting.</p>\n\n\n\n<p>Let&#8217;s pivot now to the article. And I&#8217;m going to, in the show notes, I&#8217;m going to link everybody to an article which Hari wrote towards the latter part of last year, so 2024, September. And it was called WordPress Contribution Health Dashboards: An Experiment.</p>\n\n\n\n<p>Now, obviously if you are in the WordPress ecosystem and you&#8217;ve been here for many years, you will have no doubt figured out how complicated and tangled WordPress is. Not just the community, but the software, the code, the events, the different teams which make up WordPress, the multitude of ways that you could become involved.</p>\n\n\n\n<p>And I think it would be fair to say that if you were new to WordPress, that could be pretty overwhelming. It would be fairly easy to sort of step into the community and think, what? Where do I belong? Where do I fit? Where is my experience best used? Where would I find the most, fun or engagement, or meaning in the WordPress space?</p>\n\n\n\n<p>And so it feels like these contribution health dashboards might be some version of trying to get an understanding of what WordPress is, where the gaps are, where the holes are being filled, where the holes in the future might emerge and so on. But just unpack it for us. Who&#8217;s involved? What is the idea of a contribution health dashboard?</p>\n\n\n\n<p>[00:16:54] Hari Shanker: Great question. And thank you for the excellent introduction, Nathan. I think you did a great job of explaining everything.</p>\n\n\n\n<p>To summarise, the idea behind the contribution dashboard is to have sort of like a cockpit or bird&#8217;s eye view of WordPress contributions. WordPress, as you know, has around 20, 22 contribution teams, and these teams are doing a bunch of different activities. As you said in your introduction, it&#8217;s very hard for everybody to follow this.</p>\n\n\n\n<p>So the hope of this project is to build a dashboard, or dashboards, which provide anyone, not just contributors, really anyone in the community to get an idea of where things are with WordPress. So it involves updates on the release, latest releases. It involves activities from various teams, like Core, community, training, photos, meta, et cetera.</p>\n\n\n\n<p>So to give anybody who is coming from any part, with any experience, to give them an idea about where things are. Because at this point it&#8217;s very hard to follow. We have these blogs, we have Slack, we have Trac, we have GitHub. When those contributions to spread out across multiple places, it&#8217;s very hard, even for experience folks to follow. So the hope behind this project was to simplify this with the help of data, and specifically data visualisation. So that is the project specifically.</p>\n\n\n\n<p>Now, as regards to who is involved, I will need to share some history and I promise I&#8217;ll be brief. So this started as a collaborative effort with a bunch of folks, I should say Courtney Robertson&#8217;s name. Courtney has been a real force for good for this project. Like, she&#8217;s been very active. So Courtney Robertson, Naoko Takano, myself, Isotta Peira, and a bunch of contributors all over the world.</p>\n\n\n\n<p>We all came up with this idea. This idea has been floated around for a long, long time. We need dashboards. It could be helpful. But we were not able to make a ton of progress.</p>\n\n\n\n<p>So around WordCamp Europe 2023, there was a question asked in the keynote to Matt Mullenweg and he advocated for it. He said it would perhaps be good to have dashboards, which will bring all this information together.</p>\n\n\n\n<p>So that was when all these efforts really gathered momentum. So Courtney was one of the first people to be really excited about this, she really led this forward. And since I was working on contribution health, I was part of the Contributor Working Group, I was also very excited about this. So Courtney and I, we joined hands and we kicked off efforts.</p>\n\n\n\n<p>So we first looked at having a tool that will help set things up. But that is when we realized that it could get really complicated, and a lot of the existing tools out there, it may not really fit the bill. But we also needed to find out what we need to measure. What should be there in these dashboards? That was a big question that we had.</p>\n\n\n\n<p>So we published a couple of blog posts in the Sustainability Team and the Meta Team. We got a bunch of ideas from the community. We did a lot of on the ground research. Progress was very slow, but we eventually found a tool called Bitergia. Bitergia is a paid tool, it costs a lot of money. Automattic were kind enough to sponsor the tool for the time being.</p>\n\n\n\n<p>So we got a paid subscription with some of us having access to it. And we looked at the data, we crunched numbers. But the limitation of Bitergia was that it only looked at GitHub, like the WordPress GitHub. So if you look at the dashboard, the data for that needs to come from various sources, right? The Make WordPress Slack, there&#8217;s the P2 blogs, there&#8217;s Trac. So this tool was only limited to GitHub.</p>\n\n\n\n<p>So after a lot of discussion with the community, and we held several project health hangouts all the way, Courtney Robertson, myself,  Naoko Takano, Isotta Peira, , all of us, we decided to do, with support from Josepha Hayden, who was then Executive Director of the project, and Chloe Brigmann, we decided to do an experiment.</p>\n\n\n\n<p>We picked three teams, which was the Core Team, Community Team, and the Training Team. And we identified some KPIs, or progress some metrics, which we found out by discussing with the team members. We used the tools that we have, which includes Bitergia and some data that was already available. For instance, for the 6.6 release, we had the spreadsheet which developers always release once a release comes out, like you have the list of contributors. So we crunched numbers, we did some visualisations, and we published the blog post that Nathan, you&#8217;ve linked in the show notes.</p>\n\n\n\n<p>So that is what we&#8217;ve done in short. It&#8217;s an experiment. We&#8217;ve shared some data that we have on what we&#8217;ve collected. We&#8217;ve identified some KPIs.</p>\n\n\n\n<p>So the challenge that we have is, building a full fledged dashboard is time intensive, resource intensive. The Bitergia dashboard that we have, it&#8217;s very limited. It does not give out out the whole information. That post really is a snapshot. And we have data from January through September, 2024.</p>\n\n\n\n<p>So the post, the content that we have, those are really snapshots of the project of contributions for the Core Team, Training Team and the Community Team, as well as stats for WordPress 6.6.</p>\n\n\n\n<p>We went out, we put it out there, we hope to get feedback. So that&#8217;s what we&#8217;ve done. We&#8217;ve not moved ahead from there. But that&#8217;s a whole executive summary of the project and a history of what we&#8217;ve done.</p>\n\n\n\n<p>We did get a lot of positive feedback from folks who were fascinated to find some of the information, which is not previously available. The good thing that we&#8217;ve done is we were also able to set some KPIs. But the work has not progressed since, we are still there. And it&#8217;s a resource intensive project, it needs more contributors and more work to be done in order to move forward. But that&#8217;s a brief summary of everything that we&#8217;ve done.</p>\n\n\n\n<p>[00:21:48] Nathan Wrigley: Perfect. We&#8217;ll get into that bit in a moment, the resource intensiveness of it. But just an observation from my point of view is that, typically, I think if you were to do this experiment in a corporate environment, the data would go to the board of directors, if you know what I mean. So that they could inspect that and figure out how to, I don&#8217;t know, cut out waste, or figure out who needed to be employed, where people needed to be pushed around in the organisation in order to maximise things.</p>\n\n\n\n<p>But whole point in a corporate environment would be the data would end up going north. It would end up towards the senior management way of looking at things. But this is not that. This is a democratised way. In effect, it&#8217;s kind of the opposite. The data is intended to be open for absolutely everybody, so all people can see all of the things.</p>\n\n\n\n<p>And if somebody new were to drop into the project, yes, they might not understand what all of the data means, but at least they might get an understanding of, okay, that team over there looks as if it&#8217;s really fallen on hard times. That team over there, they seem to be doing great. Okay, maybe some of my time needs to be given over here. But the point being, the data is not so that senior management can do things if you like. It&#8217;s so that everybody would be able to see the same view. I hope that&#8217;s what it is anyway.</p>\n\n\n\n<p>[00:23:04] Hari Shanker: That is exactly what it is, but we also hope to influence the senior management there as well. And when I say senior management, it&#8217;s not just for this project leadership, it&#8217;s also the contributors, the folks that keep the lights on. So that would mean Core committers, team representatives, anyone really.</p>\n\n\n\n<p>And again, like you said, the beauty of WordPress, it belongs to everybody. So that&#8217;s the way it&#8217;s supposed to be, right? So we want to make sure that anyone can benefit something from it. So if it&#8217;s a new contributor, they can find out which projects need help. They should be able to identify the areas that they can contribute directly to.</p>\n\n\n\n<p>For leadership, they should be able to see the leading indicators or like the areas where the project is doing really well. And the lagging indicators, where a project needs help so they can make better decisions. And they should be able to change the project goals alongside, by understanding the data. So essentially it is aimed at everybody, not just the top down folks. And that is the hope that we came to this with.</p>\n\n\n\n<p>[00:23:55] Nathan Wrigley: Yeah, perfect. Now, anybody that&#8217;s been in the WordPress space or contributed in any way you will have come across all the tools. You know, there are so many. There&#8217;s Trac, there&#8217;s P2, I suppose, if you&#8217;re working in that environment. There&#8217;s Slack. There&#8217;s probably a bunch of others as well. I&#8217;m sure you could list a whole bunch more.</p>\n\n\n\n<p>And if you&#8217;ve ever wrangled with APIs or, I don&#8217;t know, web hooks or whatever it may be, trying to wrangle data, it&#8217;s a hard task. And it does require a lot of human intervention at the beginning.</p>\n\n\n\n<p>I&#8217;m wondering, is the intention of the project to get it to the point where the human intervention can kind of step away? Because the hard work has been done. We&#8217;ve now understood how to capture the data. How to regurgitate the data. How to display the data. So that at some point it will be less about figuring out how to make the data meaningful and more about, okay, now everybody look at the data and draw conclusions from the data.</p>\n\n\n\n<p>But it sounded from your description as if we&#8217;re still in the, how do we even get the data in? How do we recycle the data? How do we pull it in, regurgitate it and display it ?Again, is that about right?</p>\n\n\n\n<p>[00:25:03] Hari Shanker: You are 100% right. That&#8217;s exactly where we are in at this point. I think I shared some of the background earlier. The challenge is, we are working on data, it&#8217;s a lot of work. I know this because I did a lot of the work in creating the pages that we have.</p>\n\n\n\n<p>Unfortunately, we do not have a tool that gets all the data from all the sources. Any tool that we have, it will need to be customised extensively, and that needs developer help. We do not have a ton of data engineers in the WordPress community. We do have some folks, but they are not in the position to contribute their volunteer time towards this.</p>\n\n\n\n<p>So this needs investment in terms of developer hours, in terms of more tools, in terms of integrations. So in short, this is a huge endeavor. This needs investment from several organisations working in WordPress for this to really succeed, at least to the vision of what we have. That is the realisation that we had.</p>\n\n\n\n<p>But yes, the goal, if the project were to succeed, we should ideally need automated tools that automatically show data. Because if you were to publish this data manually, it&#8217;s a lot of work. I am not sure is the best returning because like, I worked with volunteers when I was working on the Contributor Mentorship Program, and I respect volunteer time.</p>\n\n\n\n<p>They have daily jobs, even sponsored contributors. They have a ton of things to do. Everybody&#8217;s overloaded. That time is very precious, and using the time and creating these dashboards, trust me, it&#8217;s extremely resource intensive. Like, between Courtney and myself and, Isotta and Naoko, we took a lot of time to prepare the dashboards that were out today. So we did that as an experiment to inspire folks so that we can get things done.</p>\n\n\n\n<p>But if you ask me, is it worth it to keep updating it? I&#8217;m not sure. Because I&#8217;m not sure if it&#8217;s worth the number of hours. Maybe we can do it. Maybe if there&#8217;s more folks to help out, it can be continued. But my hope would be to create an automated tool. I&#8217;m convinced that it is going to benefit folks.</p>\n\n\n\n<p>[00:26:49] Nathan Wrigley: Yeah, I mean, I guess that if you do everything manually and you draw the conclusions manually, you&#8217;ve got those one set of conclusions. And really what would be ideal is a portal, for want of a better word, where people can go and see and mine the data for themselves, and display it in interesting ways, and can consume it, and then decide how they&#8217;re going to display that and drill down in different ways. And obviously that requires automation.</p>\n\n\n\n<p>So, okay, we&#8217;re recording this kind of the gap between May and April in 2025. If you could, and I should probably say, you know, the listenership to this podcast is fairly wide. If you could ask for people to come and assist with this project, what kind of people at this moment in time are you looking for. You mentioned that you know, there&#8217;s not many people who are really interested, maybe in data manipulation and what have you, in the WordPress project. Just give us an idea of who you would wish to speak to you after they&#8217;ve listened to this podcast.</p>\n\n\n\n<p>[00:27:45] Hari Shanker: Anyone really. I&#8217;ll share why. The beauty of WordPress, and I think I&#8217;ve explored different open source projects and I think the beauty of WordPress is there&#8217;s something for anyone. So a big part of what we need to do is research. And in the sense of, what do people need to measure?</p>\n\n\n\n<p>So any feedback that folks can give on what they would like to see in a dashboard, that would be helpful. So if you are a listener to this podcast and you have ideas on what you would like to find out, that feedback itself is a big contribution. That will go a long way. That is a big part of the information that will help us.</p>\n\n\n\n<p>On the next level, I would like to have developers who are familiar with Python and data visualisation and things like that. We have explored different ways to do this. I&#8217;ve spoken with several Core committers and folks like Jb Audras who, I mean, Jb Audras does a ton of this amazing work. He publishes release information.</p>\n\n\n\n<p>So I was inspired by that. And the 6.6 dashboard that I published was very much built on his work. He does a lot of that work. So he&#8217;s just published something on WordPress 6.8 in his blog, and he regularly publishes the, a month in Core, year in Core posts in the Make Core blog, which has some of this information.</p>\n\n\n\n<p>So folks like that who have time to spare, who are really good with visualisations, that could be really helpful. And what Courtney and I, and Isotta and Naoko, what we had identified, what our group had identified was that we need a tool, we need an external tool. It&#8217;s very hard to build something from scratch.</p>\n\n\n\n<p>What would really help is to manipulate a tool. And there&#8217;s a bunch of open source tools. There&#8217;s GrimoireLab, which is, it&#8217;s an industry standard tool. It&#8217;s an open source software. It powers several open source projects. And there&#8217;s a company called Bitergia, which builds on  GrimoireLab, to, provide like a sponsored alternative, which is the one that we are using.</p>\n\n\n\n<p>We reached out to them to see if they can build something for us. They quoted a very high price. Currently Automattic is paying €1,000 per month. They quoted upwards of 30 to €40,000 to build this integration. That&#8217;s a huge amount of money and I don&#8217;t think we have the bandwidth to do it.</p>\n\n\n\n<p>So what we need is to bring, again, for folks listening, if you&#8217;re a developer, if you&#8217;re interested in data visualisation, I&#8217;d like to bring you all together to discuss what would be the best way forward.</p>\n\n\n\n<p>So first, once we have the KPIs clearly identified, let&#8217;s see how we can collect all this data and how we can display it. Maybe we can build something. We are in the era of vibe coding. So I think it&#8217;s a lot easier than when we started this project in 2023. It&#8217;s not impossible. Perhaps we can build something, build some very simple dashboard, identify some core KPIs. Maybe have two or three dashboards per team, which can be really filtered. Maybe that is possible. Maybe we don&#8217;t need a tool.</p>\n\n\n\n<p>So we need those developers, and folks with experience in data visualisation. Even like Core developers, like folks who have significant experience tinkering with Meta and Core and all that. So all these folks, if we are able to bring them together, I think we can do that. So I invite all of them to work on this.</p>\n\n\n\n<p>[00:30:29] Nathan Wrigley: Yeah. So if any of that is making sense to you, can I just ask you to go to WP Tavern. Search for the episode with Hari, H-A-R-I. That&#8217;s probably all you need to know. Search there in the Tavern search and hopefully this episode will pop up. And from there you&#8217;ll be able to link in the show notes to the piece that is described where you can find all of the links to the people contributing, but also Hari. Are you open to people contacting you directly and beginning conversations with you one-to-one?</p>\n\n\n\n<p>[00:30:57] Hari Shanker: Absolutely, absolutely. So at this time, as I shared on the beginning of the podcast, my time is slightly limited, but I&#8217;m more than happy to bring people together. That is my strength. And Courtney Robertson, she&#8217;s also very interested in this project. So like, between both of us, I think we can wrangle something and we can keep this moving.</p>\n\n\n\n<p>Because I firmly believe that WordPress needs this. And if folks are able to volunteer their time, I&#8217;m more than happy to bring people together and to keep this project moving. So please, feel free to ping me directly. I&#8217;m Hari Shanker in the Make WordPress Slack. That&#8217;s H-A-R-I-S-H-A-N-K-E-R. As you said, Nathan, folks can comment in the Tavern blog post as well. So any way you can find me, I will find you.</p>\n\n\n\n<p>[00:31:32] Nathan Wrigley: It feels to me like, you know when you go into a great big store or a shop, and I&#8217;m going to use supermarket as an example, where you&#8217;ve never been to that one before. You&#8217;re looking for a particular item. And you can literally spend so many minutes, hours even just searching around. You know, where&#8217;s the aisle? Okay, I found what I think is the right aisle. Now, in the aisle, which shelf am I looking for? And then, where is it?</p>\n\n\n\n<p>This feels like that. It feels like signposting to, here&#8217;s the thing you want. You&#8217;re standing at the door and I&#8217;ll just grab you by the hand and I&#8217;ll take you to the thing that you need to purchase right away. It feels like these dashboards are going to be something akin to that. Just a way of alerting people to the project as a whole, think the supermarket in this case, and how to just make that journey a little bit easier. Make it obvious to everybody what needs help? What doesn&#8217;t need help? What&#8217;s working? What isn&#8217;t working?</p>\n\n\n\n<p>How is it going to be manifested? This will be my last question really. What will this look like? Are we going to be looking at spreadsheets full of numbers? Are we going to be looking at charts? What is the intention? Because when I hear dashboard, I&#8217;m kind of immediately drawn to like line graphs and things like that. That&#8217;s what I&#8217;m imagining I&#8217;m going to end up seeing. But what would be the intention? Because some of this data would probably fit in that, but maybe some of it is just not going to be that. It&#8217;ll just be paragraphs of text, I don&#8217;t know.</p>\n\n\n\n<p>[00:32:47] Hari Shanker: I will share my vision for the dashboard, and it might be very different from what we end up building.</p>\n\n\n\n<p>I would like to build visualisations in the best possible way. So it involves charts, it involves charts of various kinds, pie charts, line charts. So the best form of information depicted in a very visual way, which gives folks a clear understanding of where the project is headed.</p>\n\n\n\n<p>In the current version, we&#8217;ve included some text because we wanted to sort of like share our findings. But I think as you shared earlier in this podcast, we want folks to find out the data for themselves. And Bitergia currently allows folks to download the data directly as a spreadsheet or in a CSV format. We&#8217;d like to give folks that option too. So if you&#8217;re not comfortable seeing, or understanding, the data that is in front of you, you can download it and you should be able to manifest it or manipulate it in the way that you want.</p>\n\n\n\n<p>So what I have in mind is a very visual dashboard full of charts. And the goal is to not over complicate things, which is why we are really looking at some certain KPIs for teams and for the project itself. For instance, if you look at the project, market share could be a KPI. It&#8217;s not necessarily what I, I&#8217;m just using it as an example.</p>\n\n\n\n<p>So identifying certain key metrics and building charts of various kinds which manifest this data, and to make it as user friendly, and as accessible, and accessibility in the strictest sense of the world. So that anybody with any size sort of accessibility requirement should be able to view this data and understand it. That is the vision that I personally have, and I think Courtney also has a very similar vision. So yeah, that&#8217;s what I have in mind.</p>\n\n\n\n<p>[00:34:18] Nathan Wrigley: It feels like in the year 2025, where we are at the moment, it feels as if, and we don&#8217;t need to go into the reasons. It does feel like contributor hours are more precious than they&#8217;ve ever been. And so that in and of itself is a fantastic reason to have data like this available.</p>\n\n\n\n<p>So for example, I don&#8217;t know, let&#8217;s imagine that I&#8217;m an enterprise agency and I want my contributions to really count. Well, I could throw my staff in all different directions and not really know whether they were being deployed in something which was already completely fine, or whether there was an area which really needed a bit of work. It might not be the most glamorous piece of work in the world, but it needs that work to be done.</p>\n\n\n\n<p>And because the contributor hours at the moment are, let&#8217;s use the word struggling, something like that, then having a window into what is needed, it does feel like this project has more importance now, perhaps even than just a year ago when you were sort of in the weeds of setting the whole thing up.</p>\n\n\n\n<p>[00:35:16] Hari Shanker: I cannot agree more, because I&#8217;ve tried to collect this data together, to put this together. And I&#8217;ve seen the information that it can help companies. So you mentioned organisations or companies who are contributing through Five for the Future. So I was working on Five for the Future for a long time, and I was mentoring quite a few organisations who are stepping into WordPress.</p>\n\n\n\n<p>So this data that I picked up, it really helped them. I was able to guide people into the areas that. We had folks who were doing other things, like they were able to contribute strategically, which I have specific cases of organisations who were able to improve their place in the WordPress economy by making strategy contributions.</p>\n\n\n\n<p>So this is all very linked. And again, that&#8217;s where I&#8217;m coming from. I mean, and as you said, contributor hours are very precious. I personally feel that any time or effort set towards building data oriented solution could go a long way. It is a very impactful way of contribution, and if folks are there to help it out, the potentials are limitless. That is where I&#8217;m coming from.</p>\n\n\n\n<p>[00:36:10] Nathan Wrigley: There are so many dots being connected in this episode. So we talked at the beginning about the fact that, you know, WordPress is a growing and interesting thing for the younger generation in India, but the project obviously needs contributors.</p>\n\n\n\n<p>Those contributors need to fit into the holes in the jigsaw, the bits of the jigsaw, where the pieces are missing, if you like.</p>\n\n\n\n<p>And so there&#8217;s this kind of virtuous cycle going on here where, if something like the dashboard can meaningfully impact where those contributors go, the jigsaw grows. The pieces where there&#8217;s blank missing pieces, they get filled in. And so, like I said, there&#8217;s this wonderful virtuous cycle nature to this whole thing. And what a fantastic project.</p>\n\n\n\n<p>It&#8217;s hard to encapsulate in words what you&#8217;re trying to do, but I think we did a pretty credible job of doing that. So one more time, Hari is going to be available to whichever way he described. I will put in the show notes the links to the pieces and Hari&#8217;s contact details and things like that.</p>\n\n\n\n<p>What an interesting project, one that many people I&#8217;m sure haven&#8217;t heard of. Is there anything that you wanted to say before we sign off?</p>\n\n\n\n<p>[00:37:11] Hari Shanker: Well, all I want to say is, if you&#8217;re interested in data, please consider looking into this project, or if there&#8217;s anything that you can learn from the data that we picked up. I know it&#8217;s a little old at this point. As I said, this is a project that anybody can contribute to. So even if you have insights on what data is missing or what data that you would like to see, that feedback really goes a long way.</p>\n\n\n\n<p>So feedback is the best gift that you can give in, again, in an open source project like WordPress, especially for an initiative like this. It goes a long way. So it&#8217;s a very impactful way of giving back to the project too. And I see contributions as investments, so if you would like to invest in WordPress in your free time, it&#8217;s a great way to do it by helping us build these dashboards.</p>\n\n\n\n<p>[00:37:51] Nathan Wrigley: Yeah, as you said, it&#8217;s like an impactful but kind of curious, interesting, powerful way of helping the community. And perhaps it&#8217;s something that you&#8217;d not heard of before. So Hari Shanker, thank you so much for explaining all that to me today and joining me on the podcast. I really appreciate it.</p>\n\n\n\n<p>[00:38:07] Hari Shanker: Thank you so much, Nathan. It was truly an honor to be here, and I absolutely enjoyed talking to you about my favorite topic.</p>\n</div>\n\n\n\n<p>On the podcast today we have <a href=\"https://profiles.wordpress.org/harishanker/\">Hari Shanker</a>.</p>\n\n\n\n<p>Hari has been a member of the WordPress community since 2007, and has contributed in various capacities, including as a full-time contributor for several years, working with Automattic, working with initiatives like Five for the Future, and supporting numerous community events around the world. He currently volunteers his time as a community program manager, helping to grow and support the WordPress ecosystem from his home in India.</p>\n\n\n\n<p>If you’re involved in the WordPress project, you likely know just how vast and complex the contributor ecosystem can be. But you might not have heard of the WordPress Contribution Health Dashboards, an experimental initiative aimed at making sense of all the community’s moving parts, by gathering, visualising, and sharing contribution data.</p>\n\n\n\n<p>But why does WordPress need something like this? Well, it could help new and existing contributors figure out where to pitch in, and how their work might guide the project’s future growth? Hari’s here to explain.</p>\n\n\n\n<p>We start the podcast by going off on a tangent, discussing the landscape of WordPress in India. India is experiencing a huge upswell in community activity, innovation, and youth engagement, and it’s exciting to hear about it.</p>\n\n\n\n<p>We then dive into the main thrust of the podcast, the Contribution Health Dashboards, how the idea came about, who helped drive it forward, why it’s proving so challenging to build, and the massive value it promises for contributors, team reps, project leadership, and anyone curious about where WordPress needs help.</p>\n\n\n\n<p>We look at the practical aspects too. What tools are, and aren’t, available. The difficulty of tracking data across the many platforms WordPress uses, and what kinds of skills and volunteers are needed to push this work forward.</p>\n\n\n\n<p>Hari shares his vision for accessible, visual dashboards that can guide contributors of all skill sets, and help make the best use of every single contribution hour.</p>\n\n\n\n<p>If you’ve ever wondered how to make your WordPress contributions matter even more, or how the project could be better supported by data-driven insights, this episode is for you.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Useful links</h2>\n\n\n\n<p><a href=\"https://profiles.wordpress.org/harishanker/\">Hari on WordPress.org</a></p>\n\n\n\n<p><a href=\"https://wordpress.org/five-for-the-future/\">Five for the Future</a></p>\n\n\n\n<p><a href=\"https://make.wordpress.org/community/handbook/contributor-day/contributor-working-group/\"> WordPress Contributor Working Group</a></p>\n\n\n\n<p><a href=\"https://make.wordpress.org/community/handbook/contributor-day/contributor-working-group/contributor-mentorship-program-for-wordpress/\"> WordPress Contributor Mentorship Program</a></p>\n\n\n\n<p><a href=\"https://instawp.com/\"> InstaWP</a></p>\n\n\n\n<p><a href=\"https://rtcamp.com/\">rtCamp</a></p>\n\n\n\n<p><a href=\"https://www.multidots.com/\">Multidots</a></p>\n\n\n\n<p><a href=\"https://events.wordpress.org/kerala/2024/photo-festival/welcome-to-wordpress-photos-festival-2024/\"> WordPress Photo Festival</a></p>\n\n\n\n<p><a href=\"https://events.wordpress.org/ajmer/2024/wpcampusconnect/\"> WP Campus Connect</a></p>\n\n\n\n<p><a href=\"https://wpastra.com/\"> Astra theme</a></p>\n\n\n\n<p><a href=\"https://asia.wordcamp.org/2026/\"> WordCamp Asia in Mumbai, India in 2026</a></p>\n\n\n\n<p><a href=\"https://make.wordpress.org/project/2024/09/12/wordpress-contribution-health-dashboards-an-experiment/\"> WordPress Contribution Health Dashboards: An Experiment</a></p>\n\n\n\n<p><a href=\"https://bitergia.com/bitergia-analytics/\"> Bitergia</a></p>\n\n\n\n<p><a href=\"https://make.wordpress.org/chat/\"> Make WordPress Slack</a></p>\n\n\n\n<p><a href=\"https://wordpress.com/p2/\">P2</a></p>\n\n\n\n<p><a href=\"https://core.trac.wordpress.org/\">WordPress Trac</a></p>\n\n\n\n<p><a href=\"https://github.com/WordPress\">GitHub</a></p>\n\n\n\n<p><a href=\"https://chaoss.github.io/grimoirelab/\"> GrimoireLab</a></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 07 May 2025 14:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Nathan Wrigley\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:29;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:52:\"WordPress.org blog: WordPress Campus Connect Expands\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18726\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"https://wordpress.org/news/2025/05/wordpress-campus-connect-expands/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:6513:\"<p>WordPress Campus Connect, <a href=\"https://central.wordcamp.org/news/2024/12/wp-campus-connect-recap-a-journey-of-empowering-students-and-building-community/\">initially launched in October 2024 as a pilot program</a>, has now been formally established as an official event series due to its resounding success. The inaugural program, spearheaded by myself, <a href=\"https://profiles.wordpress.org/anandau14/\">Anand Upadhyay</a>, garnered immense enthusiasm from 400 Indian students who were eager to engage in hands-on WordPress training.</p>\n\n\n\n\n<img width=\"1024\" height=\"683\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/05/1H4A6596.jpg?resize=1024%2C683&ssl=1\" alt=\"\" class=\"wp-image-18733\" /><button class=\"lightbox-trigger\" type=\"button\">\n			\n				\n			\n		</button>\n\n\n\n<img width=\"1024\" height=\"683\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/05/1H4A8902.jpg?resize=1024%2C683&ssl=1\" alt=\"\" class=\"wp-image-18735\" /><button class=\"lightbox-trigger\" type=\"button\">\n			\n				\n			\n		</button>\n\n\n\n<img width=\"1024\" height=\"683\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/05/1H4A6763.jpg?resize=1024%2C683&ssl=1\" alt=\"\" class=\"wp-image-18732\" /><button class=\"lightbox-trigger\" type=\"button\">\n			\n				\n			\n		</button>\n\n\n\n<img width=\"1024\" height=\"682\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/05/image-3.jpeg?resize=1024%2C682&ssl=1\" alt=\"\" class=\"wp-image-18728\" /><button class=\"lightbox-trigger\" type=\"button\">\n			\n				\n			\n		</button>\n\n\n\n<img width=\"1024\" height=\"682\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/05/image.jpeg?resize=1024%2C682&ssl=1\" alt=\"\" class=\"wp-image-18729\" /><button class=\"lightbox-trigger\" type=\"button\">\n			\n				\n			\n		</button>\n\n\n\n<img width=\"1024\" height=\"682\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/05/image-1.jpeg?resize=1024%2C682&ssl=1\" alt=\"\" class=\"wp-image-18730\" /><button class=\"lightbox-trigger\" type=\"button\">\n			\n				\n			\n		</button>\n\n\n\n<img width=\"1024\" height=\"683\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/05/1H4A8923.jpg?resize=1024%2C683&ssl=1\" alt=\"\" class=\"wp-image-18737\" /><button class=\"lightbox-trigger\" type=\"button\">\n			\n				\n			\n		</button>\n\n\n\n<img width=\"1024\" height=\"682\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/05/image-2.jpeg?resize=1024%2C682&ssl=1\" alt=\"\" class=\"wp-image-18731\" /><button class=\"lightbox-trigger\" type=\"button\">\n			\n				\n			\n		</button>\n\n\n\n<img width=\"1024\" height=\"683\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/05/1H4A8821.jpg?resize=1024%2C683&ssl=1\" alt=\"\" class=\"wp-image-18739\" /><button class=\"lightbox-trigger\" type=\"button\">\n			\n				\n			\n		</button>\n\n\n\n<img width=\"1024\" height=\"683\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/05/1H4A6765.jpg?resize=1024%2C683&ssl=1\" alt=\"\" class=\"wp-image-18734\" /><button class=\"lightbox-trigger\" type=\"button\">\n			\n				\n			\n		</button>\n\n\n\n<img width=\"1024\" height=\"683\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/05/1H4A9926.jpg?resize=1024%2C683&ssl=1\" alt=\"\" class=\"wp-image-18741\" /><button class=\"lightbox-trigger\" type=\"button\">\n			\n				\n			\n		</button>\n\n\n\n<img width=\"1024\" height=\"683\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/05/1H4A9269.jpg?resize=1024%2C683&ssl=1\" alt=\"\" class=\"wp-image-18740\" /><button class=\"lightbox-trigger\" type=\"button\">\n			\n				\n			\n		</button>\n\n\n\n\n<p>WordPress Campus Connect transcends the conventional workshop model by fostering a holistic learning community. It couples on-campus event learning with a diverse range of post-event activities, including meetups, website challenges, scholarships, and volunteering opportunities, all geared towards nurturing student development. The program&#8217;s efficacy has prompted other organizations in India to express interest in replicating its structure.</p>\n\n\n\n<p>Looking ahead, multiple local WordPress communities in India aim to reach more students in India through WordPress Campus Connect events. The curriculum will include beginner content, delve into more advanced WordPress concepts, and feature specialized sessions tailored for students with prior WordPress experience.&nbsp;</p>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-8a400663 wp-block-group-is-layout-constrained\">\n<img width=\"1024\" height=\"351\" src=\"https://i0.wp.com/wordpress.org/news/files/2025/05/wpcc-logo-transparent.png?resize=1024%2C351&ssl=1\" alt=\"\" class=\"wp-image-18743\" />\n</div>\n\n\n\n<p>The official recognition of WordPress Campus Connect as an event series paves the way for further expansion, giving the series similar support and standing as WordCamps but with a student education-first goal and focus. Future plans include organizing large-scale student events, establishing WordPress clubs on college campuses, and facilitating mentorship connections for students.</p>\n\n\n\n<p>To support these ambitious goals, volunteers identified several key next steps:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Volunteer Handbook Development:</strong> Creating a comprehensive guidebook to equip volunteers with the necessary resources and information.</li>\n\n\n\n<li><strong>GatherPress Integration:</strong> Exploring the feasibility of integrating GatherPress as a tool for student groups.</li>\n\n\n\n<li><strong>Volunteer Recruitment:</strong> Actively seeking and onboarding volunteers to support WordPress Campus Connect initiatives through activities such as:\n<ol class=\"wp-block-list\">\n<li>Creating a workflow and guidelines for processing Student Club applications</li>\n\n\n\n<li>On-site facilitation or assistance for WordPress Campus Connect events</li>\n</ol>\n</li>\n\n\n\n<li><strong>Landing Page Creation</strong>: Creating a landing page describing what WordPress Campus Connect is all about</li>\n\n\n\n<li><strong>Student Groups: </strong>Drafting a framework for students to create their own groups for hosting WordPress events and activities.&nbsp;</li>\n</ul>\n\n\n\n<p>The overwhelming success of WordPress Campus Connect and the enthusiasm it has generated serve as a testament to the transformative power of passion and dedication. As WordPress Campus Connect continues to evolve and expand, it holds the promise of shaping the future of WordPress education and community engagement.</p>\n\n\n\n<p class=\"has-off-white-background-color has-background\">If you’re interested in helping shape the future of education with WordPress, <a href=\"https://wordpress.slack.com/archives/C08QK4V94AF\">join us in the #campusconnect Make Slack channel</a> today!</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 07 May 2025 12:40:19 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Anand Upadhyay\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:30;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:102:\"Do The Woo Community: How the Friends Plugin Turns Your WordPress Site into a Decentralized Social Hub\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=96754\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:106:\"https://dothewoo.io/blog/how-the-friends-plugin-turns-your-wordpress-site-into-a-decentralized-social-hub/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:165:\"The Friends plugin for WordPress lets you create your own private social feed, sharing posts with friends while keeping everything decentralized and in your control.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 07 May 2025 09:01:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:31;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"Do The Woo Community: Migrating CPT’s to Posts\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=96735\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"https://dothewoo.io/blog/migrating-cpts-to-posts/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:82:\"Waiting on some work done before I move these daily posts to my new personal blog.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 07 May 2025 06:52:50 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:32;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:24:\"Matt: Remember Gravatar?\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:23:\"https://ma.tt/?p=142243\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:40:\"https://ma.tt/2025/05/remember-gravatar/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:1209:\"<p>Gravatar has always been about giving people control over their identity online. One avatar, one profile, synced across the web, verified connections, with a fully open API.</p>\n\n\n\n<p>Gravatar is a true open identity layer for the internet, <a href=\"https://blog.gravatar.com/2025/05/06/build-your-ai-identity-with-gravatars-new-tool/\">and now for AI</a>.&nbsp;</p>\n\n\n\n<p>For <a href=\"https://docs.gravatar.com/\">developers</a>, we’ve rolled out mobile SDKs and a revamped REST API that lets you fetch avatars and profile data with just an email hash. Whether you&#8217;re building a blog, a community, or an AI agent that needs to understand who it&#8217;s talking to, Gravatar provides the infrastructure to make identity seamless and user-centric. </p>\n\n\n\n<p>It’s free, open, and built with developers in mind. We believe identity should belong to the individual, not be locked behind proprietary platforms. Gravatar is our contribution to that vision.​</p>\n\n\n\n<p>If you haven’t checked it out lately, now’s a great time to explore what <a href=\"https://gravatar.com\">Gravatar</a> can do for your app or your online presence. And think about how your apps can drive more Gravatar signups.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 06 May 2025 16:27:46 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:33;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"Gravatar: Build Your AI Identity with Gravatar’s New Tool\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"http://blog.gravatar.com/?p=3202\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:84:\"https://blog.gravatar.com/2025/05/06/build-your-ai-identity-with-gravatars-new-tool/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:6776:\"<p>Your Gravatar profile has always been your digital business card for the web. </p>\n\n\n\n<p>And now, it&#8217;s becoming your identity for AI.</p>\n\n\n\n<p>With our <strong>AI Profile Builder</strong>, you create a simple, portable version of <em>you</em> — your background, interests, preferences, and links — ready for AI tools to use. Build your profile once, and take it everywhere. From chatbots to content generators to recommendation engines, AI agents can finally understand <em>who you are.</em></p>\n\n\n\n<p><em>For developers, <a href=\"https://blog.gravatar.com/feed/#developers\">scroll to the end</a> to learn how to use this in your app or website, too!</em></p>\n\n\n\n<h2 class=\"wp-block-heading\">How it works</h2>\n\n\n\n<div class=\"wp-block-group has-contrast-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-d82b09b0 wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-jetpack-slideshow aligncenter\"><div class=\"wp-block-jetpack-slideshow_container swiper-container\"><ul class=\"wp-block-jetpack-slideshow_swiper-wrapper swiper-wrapper\"><li class=\"wp-block-jetpack-slideshow_slide swiper-slide\"><img width=\"2968\" height=\"1598\" alt=\"Screenshot of Gravatar\'s AI profile builder\" class=\"wp-block-jetpack-slideshow_image wp-image-3257\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/05/cleanshot-2025-05-01-at-10.45.39402x.png\" /></li><li class=\"wp-block-jetpack-slideshow_slide swiper-slide\"><img width=\"1900\" height=\"1100\" alt=\"Screenshot of ChatGPTs personalization settings.\" class=\"wp-block-jetpack-slideshow_image wp-image-3226\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/05/cleanshot-2025-05-01-at-09.27.45-2402x.png\" /></li><li class=\"wp-block-jetpack-slideshow_slide swiper-slide\"><img width=\"1900\" height=\"1100\" alt=\"Screenshot of Claude\'s personalization settings.\" class=\"wp-block-jetpack-slideshow_image wp-image-3227\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/05/claude.png\" /></li><li class=\"wp-block-jetpack-slideshow_slide swiper-slide\"><img width=\"1900\" height=\"1100\" alt=\"Screenshot of Gemini\'s personalization settings.\" class=\"wp-block-jetpack-slideshow_image wp-image-3229\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/05/gemini.png\" /></li><li class=\"wp-block-jetpack-slideshow_slide swiper-slide\"><img width=\"1900\" height=\"1100\" alt=\"Screenshot of Perplexity\'s personalization settings.\" class=\"wp-block-jetpack-slideshow_image wp-image-3230\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/05/perplexity.png\" /></li></ul><a class=\"wp-block-jetpack-slideshow_button-prev swiper-button-prev swiper-button-white\"></a><a class=\"wp-block-jetpack-slideshow_button-next swiper-button-next swiper-button-white\"></a><a class=\"wp-block-jetpack-slideshow_button-pause\"></a><div class=\"wp-block-jetpack-slideshow_pagination swiper-pagination swiper-pagination-white\"></div></div></div>\n</div>\n\n\n\n<p>The AI Profile Builder takes what makes you <em>you</em> and translates it into a format that AI systems easily understand:</p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Fill out your Gravatar profile</strong><br />The more fields you complete, the smarter your AI experiences get.</li>\n\n\n\n<li><strong>Set your preferences</strong><br />Choose how you like to communicate — tone, depth, and humor.</li>\n\n\n\n<li><strong>Copy your AI-ready profile</strong><br />We hand you a tidy little markdown file. Portable and paste-ready.</li>\n\n\n\n<li><strong>Paste into any AI tool</strong><br />Voilà. Personalized AI without all the constant tweaking.</li>\n</ol>\n\n\n\n<p><a href=\"https://gravatar.com/profile/tools/ai-profile\">Build your AI profile now →</a></p>\n\n\n\n<h2 class=\"wp-block-heading\">Real-life use cases</h2>\n\n\n\n<p>Here’s a video showing how Gravatar profiles can personalize AI responses when filling out PDFs and scheduling daily briefings.</p>\n\n\n\n<div class=\"wp-block-embed__wrapper\">\n<div class=\"embed-youtube\"></div>\n</div>\n\n\n\n<p>This isn&#8217;t just convenience — it&#8217;s giving you control over your AI interactions.</p>\n\n\n\n<p>Here are a few more examples:</p>\n\n\n\n<p><strong>Hobbies and Interests</strong></p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Generic response</strong>: &#8220;Here&#8217;s how to get started with photography.&#8221;</li>\n\n\n\n<li><strong>Personalized response</strong>: &#8220;Given your interest in outdoor adventure and wildlife, I’d suggest focusing on landscape and nature photography, and here&#8217;s a specific guide tailored to that.&#8221;</li>\n</ul>\n\n\n\n<p><strong>Location-Based Recommendations</strong></p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Generic response</strong>: &#8220;Here’s how to prepare for severe weather.&#8221;</li>\n\n\n\n<li><strong>Personalized response</strong>: &#8220;Considering you live in Florida, here&#8217;s a personalized checklist to prepare your home specifically for hurricanes.&#8221;</li>\n</ul>\n\n\n\n<p><strong>Communication Preferences</strong></p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Generic</strong> <strong>response</strong>: &#8220;Here&#8217;s what happened today in the stock market.&#8221;</li>\n\n\n\n<li><strong>Personalized</strong> <strong>response</strong>: &#8220;Since you like it short and snappy with a side of sarcasm: the market took a tiny nap today — slightly down overall. Apple and Tesla dropped 1–2%, probably just tripping over their own hype again.&#8221;</li>\n</ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"developers\">For developers</h2>\n\n\n\n<p>Want to personalize your product instantly?</p>\n\n\n\n<p>Just a few lines of code, and your app can adapt to each user’s communication style, bio, even verified socials. </p>\n\n\n\n<pre class=\"wp-block-code has-border-color has-base-border-color has-contrast-color has-tertiary-background-color has-text-color has-background has-link-color wp-elements-e3fbdb130660892f82c0f9a20751ab8d\"><code>https:&#047;&#047;gravatar.com/{EmailHash}.md </code></pre>\n\n\n\n<p>You can grab Gravatar profiles via a <span>simple markdown</span> request, our <a href=\"https://docs.gravatar.com/rest-api/\">REST API</a>, or <a href=\"https://docs.gravatar.com/mobile-sdk/\">mobile SDKs</a> — and yep, as part of the open web, they’re free to use.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Own your AI identity today</h2>\n\n\n\n<p>Unlike black-box AI systems that build hidden profiles about you, Gravatar&#8217;s approach is transparent and user-controlled.</p>\n\n\n\n<p><strong>Ready to personalize your AI experiences?</strong></p>\n\n\n\n<p>Head to your <a href=\"https://gravatar.com/profile/tools/ai-profile\">Gravatar dashboard</a> and spin up your AI-ready profile.</p>\n\n\n\n<p>Devs — we’ve got <a href=\"https://docs.gravatar.com\">integration docs and guides</a> waiting for you.</p>\n\n\n\n<p><em>Happy AI-ing!</em></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 06 May 2025 14:34:01 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Ronnie Burt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:34;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:89:\"Do The Woo Community: All Things WordCamp Lisboa 2025 with Marco Almeida and Hacer Yilmaz\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=96691\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:87:\"https://dothewoo.io/all-things-wordcamp-lisboa-2025-with-marco-almeidaand-hacer-yilmaz/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:235:\"In this episode, BobWP chats with WordCamp Lisboa organizers Hacer and Marco about the upcoming event, highlighting the new Community and Contribution Day, diverse sessions, language inclusivity, and the importance of community spirit.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 06 May 2025 14:05:15 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:35;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:39:\"Do The Woo Community: AI Hallucinations\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=96668\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/blog/ai-hallucinations/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"Hallucinations, it\'s all a matter of perspective.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 06 May 2025 09:12:40 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:36;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"Gravatar: How to Configure Gravatar Image Size Across Your Site\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"http://blog.gravatar.com/?p=3266\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:57:\"https://blog.gravatar.com/2025/05/05/gravatar-image-size/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:12788:\"<p>So, you’ve decided it’s time to improve the Gravatar images on your site. Maybe they’re too small, stretched oddly, or don’t match your stylish new design.</p>\n\n\n\n<p>Whatever the reason, pic size matters. It can shape the feel of your comment threads, how fast pages load, and how polished your entire site looks at first glance.</p>\n\n\n\n<p>Small tweak. Big impact.</p>\n\n\n\n<p>Luckily, you don’t need to be a developer, designer, or go rage-Googling CSS selectors to pull this off. You just need a smart approach, and that’s exactly what you’ll find here.</p>\n\n\n\n<p>In this guide, we’ll show you how to:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Make site-wide Gravatar changes using WordPress’s built-in functions</li>\n\n\n\n<li>Use CSS to finesse specific sections (think: Comments, author bios, anywhere Gravatar images show up)</li>\n\n\n\n<li>Go responsive, so your Gravatar images look fabulous on every screen from the iPhone to large 4k monitors</li>\n</ul>\n\n\n\n<p>Let’s get started.</p>\n\n\n\n<a href=\"https://docs.gravatar.com/getting-started/\"><img width=\"3242\" height=\"729\" src=\"https://blog.gravatar.com/wp-content/uploads/2024/12/gravatar_integration_cta.png\" alt=\"\" class=\"wp-image-2632\" /></a>\n\n\n\n<h2 class=\"wp-block-heading\">Default Gravatar sizes and why you might want to change them</h2>\n\n\n\n<p>By default, Gravatar hands you an <a href=\"https://docs.gravatar.com/api/avatars/images/\">80×80 pixel image</a>. WordPress then <a href=\"https://codex.wordpress.org/Using_Gravatars\">ups that to 96×96</a>, because… reasons. But here’s where it gets messy: Your theme probably has <em>its</em> own ideas. Some use 60px. Others? 80px.</p>\n\n\n\n<p>The result? Inconsistency. And that’s the enemy of good design.</p>\n\n\n\n<p>Here’s why resizing is worth your time:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Visual hierarchy:</strong> Want admin replies to stand out? Bigger avatars can subtly guide the eye.</li>\n\n\n\n<li><strong>Mobile friendliness:</strong> On smaller screens, smaller avatars = less chaos.</li>\n\n\n\n<li><strong>Brand consistency:</strong> Everything should look intentional, including your floating faces.</li>\n\n\n\n<li><strong>Engagement:</strong> Well-sized avatars make people feel seen (literally), boosting community engagement.</li>\n</ul>\n\n\n\n<p>And let’s not forget performance. Larger images = heavier pages = slower load times. Too small? You risk pixelation when scaled up via CSS. Lose-lose.</p>\n\n\n\n<p>Luckily, many modern themes (looking at you, <a href=\"https://wordpress.org/themes/twentytwentyfive/\">Twenty Twenty-Five</a>) let you adjust avatar sizes right from the design panel – no code required. Just head to the “Comments” section and tweak away.</p>\n\n\n\n<p>But what if your theme lacks this functionality? Or if you want finer control?</p>\n\n\n\n<p>That’s when custom solutions come into play via WordPress functions, a dash of CSS, or the occasional PHP snippet. Don’t worry, we’ll walk you through it.</p>\n\n\n\n<p>Let’s get into the how.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Method 1: Changing Gravatar size using WordPress functions</h2>\n\n\n\n<p>If you want full control over how big (or small) your Gravatars show up – without relying on your theme’s whims – WordPress has your back.</p>\n\n\n\n<p>Under the hood, <a href=\"https://docs.gravatar.com/sdk/images/\">WordPress talks to Gravatar’s servers</a> using a handy little parameter: s= or size=. That’s how it tells Gravatar exactly what size image to serve up, rather than grabbing one and awkwardly stretching or shrinking it in the browser.</p>\n\n\n\n<p>If you want to make a site-wide change, add this simple snippet to your <strong>child theme’s</strong> functions.php file:</p>\n\n\n\n<pre class=\"wp-block-code\"><code>function custom_avatar_size( $avatar_defaults ) {\n\nreturn 120; // Change to your desired size in pixels\n\n}\n\nadd_filter( \'avatar_defaults\', \'custom_avatar_size\' );</code></pre>\n\n\n\n<p>Voilà,<strong> </strong>just like that, every Gravatar across your site obeys your chosen size like a well-trained pixel soldier.</p>\n\n\n\n<p>Want to go a step further? You can tell WordPress to serve up different sizes depending on <em>where</em> the avatar appears. Here’s how:</p>\n\n\n\n<pre class=\"wp-block-code\"><code>function context_based_avatar_size( $args ) {\nif ( is_single() ) {\n$args&#091;\'size\'] = 150; // Larger on single posts\n} elseif ( is_archive() ) {\n$args&#091;\'size\'] = 80; // Smaller on archive pages\n}\nreturn $args;\n}\nadd_filter( \'pre_get_avatar_data\', \'context_based_avatar_size\' );</code></pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Why this approach rocks:</strong></h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>One change = site-wide consistency</li>\n\n\n\n<li>WordPress handles all the caching and optimization behind the scenes</li>\n\n\n\n<li>You can tailor avatar sizes by context (posts, archives, comments, you name it)</li>\n\n\n\n<li>It taps directly into Gravatar’s API, so you’re getting the cleanest possible image at the right size</li>\n</ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Bonus round: Smart Gravatar sizing in the comments section</strong></h3>\n\n\n\n<p>Want to get <em>really</em> clever? Try creating a visual hierarchy in your comments section. For example: Larger avatars for parent comments, slightly smaller ones for replies. It helps users follow the conversational flow without even thinking about it.</p>\n\n\n\n<p>Here’s a quick function that adjusts avatar size based on comment depth:</p>\n\n\n\n<pre class=\"wp-block-code\"><code>function comment_depth_avatar_size( $args, $id_or_email ) {\n\n$comment = get_comment( $id_or_email );\n\nif ( $comment ) {\n\n$depth = 1; // Default depth\n\nif ( isset( $comment-&gt;comment_parent ) &amp;&amp; $comment-&gt;comment_parent &gt; 0 ) {\n\n$depth = 2; // Reply\n\n}\n\n// Set size based on comment depth\n\n$args&#091;\'size\'] = 140 - (($depth - 1) * 20); // Parent: 140px, Reply: 120px\n\n}\n\nreturn $args;\n\n}\n\nadd_filter( \'pre_get_avatar_data\', \'comment_depth_avatar_size\', 10, 2 );</code></pre>\n\n\n\n<p>Suddenly, your comments section feels less like a block of text and more like a layered conversation.</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Pro Tip: Nudge users to create their own Gravatar</strong></h3>\n\n\n\n<p>Lots of users will unintentionally default to the “Mystery Man” look if they haven’t gotten around to <a href=\"https://blog.gravatar.com/2024/07/19/wordpress-profile-picture/\">customizing their Gravatar profile</a>. Want to fix that? Add a friendly prompt under your comment form:</p>\n\n\n\n<pre class=\"wp-block-code\"><code>function gravatar_comment_form_note( $defaults ) {\n\n$defaults&#091;\'comment_notes_after\'] .= \'\n\nNeed a profile picture? Create a free Gravatar.\n\n\';\n\nreturn $defaults;\n\n}\n\nadd_filter( \'comment_form_defaults\', \'gravatar_comment_form_note\' );</code></pre>\n\n\n\n<p>Now you’re not just upgrading your design, you’re also helping your community show up in style.</p>\n\n\n\n<p>And if you’re feeling adventurous, there’s room to dream even bigger. Think: Larger avatars for top commenters, custom styles for admins or team members, maybe even a “featured contributor” badge with its own Gravatar flair. Totally doable.</p>\n\n\n\n<p>Just one golden rule: <strong>Always add your code to a child theme</strong>. Editing the parent theme directly is a one-way ticket to heartbreak when updates roll through. Protect your tweaks, keep them safe, and your beautifully resized avatars will live to see another theme update.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Method 2: Styling Gravatar images with CSS (aka the quick-and-clean route)</h2>\n\n\n\n<p>So maybe PHP isn’t your thing. Or maybe you just want a faster win – less code, more impact. Enter CSS: The styling powerhouse that lets you tweak how Gravatars <em>look</em> without changing how they’re fetched from the server.</p>\n\n\n\n<p>Now, fair warning: This won’t change the file size of the image being downloaded (Gravatar’s still sending the default size), but it <em>will</em> control how those avatars show up on screen. Think of it like wardrobe tailoring for profile pics – same body, better fit.</p>\n\n\n\n<p>Here’s how to get started:</p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Head to your WordPress dashboard</li>\n\n\n\n<li>Go to <strong>Appearance &gt; Customize</strong></li>\n\n\n\n<li>Click on <strong>“Additional CSS”</strong></li>\n\n\n\n<li>Drop in your magic below</li>\n</ol>\n\n\n\n<p>Want to resize comment Gravatars? Easy:</p>\n\n\n\n<p>.comment-avatar img { width: 60px; height: 60px; }</p>\n\n\n\n<p>Want to ditch the boxy default look and go full circle-chic? Say no more:</p>\n\n\n\n<p>.avatar { border-radius: 50%; border: 2px solid #ddd; }</p>\n\n\n\n<p>Designing for mobile, too (as you should be)? Add some media query magic:</p>\n\n\n\n<p>@media (max-width: 768px) { .avatar { width: 40px; height: 40px; } }</p>\n\n\n\n<p>And just like that, your Gravatar images adapt to screen sizes like design-savvy little shapeshifters.</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Ready to get extra? Let’s talk hover effects</strong></h3>\n\n\n\n<p>Once you’ve nailed the sizing basics, there’s a whole world of style upgrades waiting. You could create a hover effect that reveals a mini bio – or even a clickable “Gravatar card” with links, job titles, or a cheeky quote from their profile.</p>\n\n\n\n<p>With the right mix of CSS and PHP, you can turn every Gravatar image into a micro-interaction that deepens community engagement <em>without</em> sending users off-site.</p>\n\n\n\n<p>Imagine: Someone hovers over a commenter’s face, and a sleek little popup shows their Gravatar bio, links, or even their other recent comments. Trust, familiarity, and engagement, all from a 60&#215;60 pixel image.</p>\n\n\n\n<p>Bottom line: CSS is your best friend when you want fast, flexible avatar control – no server changes, no code anxiety. Just pure visual finesse.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Go beyond size: Turn Gravatars into engagement powerhouses</h2>\n\n\n\n<p>So, you’ve nailed the sizing. Your avatars are looking slick, snappy, and totally on-brand. But, plot twist: Gravatar isn’t <em>just</em> a pixel-perfect profile pic tool – it’s a full-blown identity engine. And you’re only scratching the surface.</p>\n\n\n\n<p>Gravatar profiles come loaded with gold: Bios, websites, social links, even job titles. All that data lives on<a href=\"https://gravatar.com\"> Gravatar.com</a>, just waiting to be pulled into your site.</p>\n\n\n\n<p>What can you do with it? Oh, just a few small things like&#8230;</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Auto-populate author bios</strong> with real backgrounds, no manual copy-pasting required </li>\n\n\n\n<li><strong>Create hover cards</strong> that spill the tea (professionally, of course) when you hover over a commenter’s face</li>\n\n\n\n<li><strong>Build a community directory</strong> that looks like LinkedIn, but without the corporate cringe</li>\n\n\n\n<li><strong>Add verification badges</strong> to reward users with full, legitimate profiles</li>\n</ul>\n\n\n\n<p>The result? A more cohesive, more connected site experience, with <em>less</em> work for your users and <em>more</em> trust baked in.</p>\n\n\n\n<p>Gravatar’s &#8220;update once, sync everywhere&#8221; model means no more tedious form-filling. Users update their info once, and it syncs across every site they interact with, including yours.</p>\n\n\n\n<p>And if you’re running a site where you want users to change their avatar <em>without</em> leaving, <a href=\"https://docs.gravatar.com/guides/quickeditor/\"><strong>Gravatar Quick Editor</strong></a> adds a sleek popup editor right on your site. <em>Very</em> user-friendly.</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Unlock the power of Gravatar</strong></h3>\n\n\n\n<p>Now you’ve got resizing down, it&#8217;s time to have some fun. Use the code examples from this guide as your launchpad. Build confidence with each tweak. Try new things. Break stuff (safely). Learn. Repeat.</p>\n\n\n\n<p>And when you’re ready to go full power-user? <a href=\"https://docs.gravatar.com/\">Gravatar’s developer docs</a> are your secret weapon. They’re packed with everything from API tricks to integration ideas that’ll help you turn avatars into fully-fledged community features – everything you need to <a href=\"https://docs.gravatar.com/\">explore the full power of Gravatar and supercharge your site</a>.&nbsp;</p>\n\n\n\n<p>Gravatar isn’t just an image. It’s identity, personality, and participation, all rolled into one little square (or circle, thanks to your shiny new CSS).</p>\n\n\n\n<p>Let’s turn those pixels into something powerful.</p>\n\n\n\n<a href=\"https://docs.gravatar.com/getting-started/\"><img width=\"3242\" height=\"729\" src=\"https://blog.gravatar.com/wp-content/uploads/2024/12/gravatar_integration_cta.png\" alt=\"\" class=\"wp-image-2632\" /></a>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 05 May 2025 16:01:21 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Ronnie Burt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:37;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:60:\"Gravatar: 5 Ways Top Consultants Build Their Personal Brands\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"http://blog.gravatar.com/?p=3160\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"https://blog.gravatar.com/2025/05/05/personal-branding-for-consultants/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:18635:\"<p>Consultants today face an intense competitive squeeze. On one side, established consulting giants with massive resources and brand recognition. On the other, a flood of independent specialists is expected as the consulting industry expands rapidly, now approaching <a href=\"https://www.statista.com/topics/8112/global-consulting-services-industry/#topicOverview\">$1 trillion in value with over 838,000 management consultants in the US alone</a>.  </p>\n\n\n\n<p>Yet, amid this competition, certain consultants consistently attract premium clients and command fees significantly above the industry average of $212,000 per consultant. Their secret? Strategic personal branding that showcases specialized expertise rather than mere availability.</p>\n\n\n\n<p>These successful consultants understand that clients aren&#8217;t simply looking for someone who can help – they&#8217;re searching for the definitive authority who can solve their specific problems.</p>\n\n\n\n<p>In this article, we&#8217;ll show proven methods that top consultants use to build authority and attract enterprise clients, helping you establish verified professional credibility across platforms.</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>5 ways top consultants command premium fees through personal branding</strong></h2>\n\n\n\n<p>Successful consultants understand that it’s not enough to just offer services; true success lies in creating a <a href=\"https://blog.gravatar.com/2024/04/10/personal-branding-tools/\">strategic personal brand</a> that fosters trust and commands premium fees. In a consulting marketplace approaching $1 trillion in value, the difference between average and exceptional often comes down to brand positioning.</p>\n\n\n\n<p>The most effective consultant brands aren&#8217;t created by accident. They&#8217;re built through deliberate strategies working in concert:</p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Creating a verified consulting presence across multiple platforms.</li>\n\n\n\n<li>Strategically collecting and showcasing client testimonials.</li>\n\n\n\n<li>Developing authority-building professional partnerships.</li>\n\n\n\n<li>Using content marketing to demonstrate specialized expertise.</li>\n\n\n\n<li>Measuring and optimizing branding efforts based on revenue impact.</li>\n</ol>\n\n\n\n<p>Each of these approaches contributes to a cohesive brand that positions you as the go-to authority in your field. Let&#8217;s explore how successful consultants implement these strategies to attract high-value clients and command rates well above the industry average.</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Build authority with a verified consulting presence</strong></h3>\n\n\n\n<p>Top consultants leverage a <a href=\"https://dotdigital.com/blog/a-complete-guide-on-cross-channel-omnichannel-and-multi-channel-marketing/\">multi-channel strategy</a> to establish credibility and demonstrate expertise. This approach extends their reach while creating multiple touchpoints for potential clients to discover and validate their authority.</p>\n\n\n\n<p>The most effective consultant brands maintain a consistent presence across various platforms:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Professional website</strong>: Your digital home base showcasing your services, expertise, and client results</li>\n\n\n\n<li><a href=\"https://linkedin.com/\"><strong>LinkedIn</strong></a>: Publishing thought leadership articles that demonstrate specialized knowledge</li>\n\n\n\n<li><strong>Industry publications</strong>: Contributing expert insights to respected publications</li>\n\n\n\n<li><strong>Speaking engagements</strong>: <a href=\"https://blog.gravatar.com/2024/06/16/how-to-network-at-a-conference/\">Presenting at conferences</a> to build visibility and credibility</li>\n</ul>\n\n\n\n<p>What sets exceptional consultants apart is their ability to maintain a consistent voice and messaging across all channels. When potential clients encounter your content on LinkedIn, then visit your website, they should experience the same professional tone and expertise.</p>\n\n\n\n<p>Another great tactic is to expand their influence through alternative content formats on the various platforms:&nbsp;</p>\n\n\n\n<table class=\"has-fixed-layout\"><tbody><tr><td><strong>Content type&nbsp;</strong></td><td><strong>Benefits</strong></td><td><strong>Example&nbsp;</strong></td><td><strong>Platform</strong></td></tr><tr><td><strong>Webinars</strong></td><td>Demonstrates expertise in real-time while capturing qualified leads</td><td>&#8220;Three Proven Financial Models for SaaS Startups&#8221; &#8211; live workshop with Q&amp;A</td><td><a href=\"https://www.zoom.com/\">Zoom</a>, <a href=\"https://webinarpress.com/\">WebinarPress</a> (for <a href=\"https://wordpress.org/\">WordPress</a> sites), <a href=\"https://www.goto.com/webinar\">GoToWebinar</a></td></tr><tr><td><strong>Video content</strong></td><td>Showcases problem-solving skills visually; reaches an audience that prefers watching to reading</td><td>&#8220;How to Implement Zero-Trust Architecture&#8221; &#8211; step-by-step tutorial repurposed from conference talk</td><td><a href=\"https://www.youtube.com/\">YouTube</a>, <a href=\"https://www.linkedin.com/help/linkedin/answer/a554001\">LinkedIn Video</a>, <a href=\"https://vimeo.com/\">Vimeo</a></td></tr><tr><td><strong>White papers&nbsp;</strong></td><td>Positions you as a thought leader; provides depth that articles can&#8217;t match</td><td>&#8220;Navigating Supply Chain Disruptions: A Framework for Manufacturing Resilience&#8221; &#8211; research report</td><td>Your personal website, <a href=\"https://www.slideshare.net/\">SlideShare</a>, <a href=\"https://www.researchgate.net/\">ResearchGate</a></td></tr><tr><td><strong>Newsletters&nbsp;</strong></td><td>Creates regular touchpoints with prospects; builds an owned audience asset</td><td>&#8220;Weekly M&amp;A Insights&#8221; &#8211; curated analysis of industry deals with your expert commentary</td><td><a href=\"https://wordpress.com/newsletter/\">WordPress.com</a>, <a href=\"https://substack.com/about\">Substack</a>, <a href=\"https://mailchimp.com/\">Mailchimp</a>, <a href=\"https://www.beehiiv.com/?srsltid=AfmBOoq0bEPFbIq5Q7zuIC2vHLoQzzJkONi9IWPGv5LLgPMGfoCNKS5x\">Beehiiv</a></td></tr><tr><td><strong>Comments and opinions&nbsp;</strong></td><td>Demonstrates real-time relevance and thought leadership without requiring extensive content creation</td><td>Expert analysis on breaking industry news or trending topics</td><td><a href=\"https://linkedin.com/\">LinkedIn</a>, <a href=\"https://medium.com/\">Medium</a>, Industry forums</td></tr><tr><td><strong>Community platforms&nbsp;</strong></td><td>Creates high-value relationships with potential clients; positions you as the center of a knowledge network</td><td>Exclusive mastermind groups or premium Q&amp;A access to your expertise</td><td><a href=\"https://discord.com/\">Discord</a>, <a href=\"https://circle.so/\">Circle</a>, <a href=\"https://slack.com/\">Slack</a>, <a href=\"https://www.mightynetworks.com/\">Mighty Networks</a></td></tr><tr><td><strong>Technical platforms&nbsp;</strong></td><td>Essential for technical consultants to demonstrate practical implementation skills</td><td>Code repositories with documentation and examples solving specific problems</td><td><a href=\"https://github.com/\">GitHub</a>, <a href=\"https://stackoverflow.com/\">Stack Overflow</a>, <a href=\"https://codepen.io/\">CodePen</a></td></tr><tr><td><strong>Subscription content</strong></td><td>Creates recurring revenue while pre-qualifying serious prospects</td><td>Monthly industry analysis or toolkit access for paying subscribers</td><td>Patreon, Podia, Gumroad</td></tr></tbody></table>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Create a professional Gravatar profile</strong></h3>\n\n\n\n<img width=\"660\" height=\"343\" src=\"https://blog.gravatar.com/wp-content/uploads/2025/04/gravatar-new-homepage.png?w=660\" alt=\"Gravatar homepage\" class=\"wp-image-3162\" />\n\n\n\n<p>As already mentioned, a consistent online presence is one of the main components for consulting success, but it doesn’t come without its difficulties. For once, managing your professional image across dozens of platforms can be time-consuming. Thankfully, this is where <a href=\"https://gravatar.com/\">Gravatar</a> becomes invaluable for consultants looking to maintain brand consistency.</p>\n\n\n\n<p>Gravatar (Globally Recognized Avatar) functions as a centralized <a href=\"https://blog.gravatar.com/2024/07/10/online-presence-management/\">profile management system</a> that follows you across the internet. Instead of creating separate profiles for each website you visit, Gravatar allows you to establish one professional identity that appears automatically on supported platforms.</p>\n\n\n\n<p>For consultants, Gravatar offers several key advantages:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Centralized bio management</strong>: Create a compelling consultant profile highlighting your specialties, expertise, and professional background – update it once, and changes reflect everywhere</li>\n\n\n\n<li><strong>Verified professional connections</strong>: Link to your verified social profiles, portfolio, and professional certifications in one accessible location</li>\n\n\n\n<li><strong>Consistent visual identity</strong>: Your professional headshot automatically appears when you comment on blogs, contribute to forums, or interact on platforms like GitHub and Stack Overflow</li>\n\n\n\n<li><strong>Time efficiency</strong>: No more maintaining separate profiles across dozens of websites – establish your brand once and focus on client work</li>\n</ul>\n\n\n\n<p>Gravatar is integrated with major platforms, including WordPress, Slack, and GitHub. When potential clients encounter you across these platforms, they&#8217;ll see a consistent, professional image that reinforces your expertise.</p>\n\n\n\n<p>Setting up your Gravatar takes just minutes but establishes your consulting presence across thousands of websites instantly. Visit <a href=\"https://gravatar.com/\">Gravatar.com</a> today to claim your professional digital identity.</p>\n\n\n\n<a href=\"https://gravatar.com/connect/?gravatar_from=blog\"><img width=\"3243\" height=\"729\" src=\"https://blog.gravatar.com/wp-content/uploads/2024/12/free_profile_cta.png\" alt=\"\" class=\"wp-image-2616\" /></a>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Showcase client success and testimonials</strong></h3>\n\n\n\n<p>Social proof is perhaps your most powerful consulting asset. Research shows that <a href=\"https://searchengineland.com/study-72-of-consumers-trust-online-reviews-as-much-as-personal-recommendations-114152\">72% of potential clients place significantly more trust in a service after reading positive testimonials</a> – making client success stories essential for consultants looking to command premium rates.</p>\n\n\n\n<p>The most effective social proof for consultants takes two forms:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Case studies</strong>: Detailed narratives that showcase the problem-solving process and measurable results.</li>\n\n\n\n<li><strong>Client testimonials</strong>: Direct endorsements that build credibility and trust.</li>\n</ul>\n\n\n\n<p>Unlike generic &#8220;they were great to work with&#8221; testimonials, effective consulting social proof must demonstrate concrete business impact and ROI. Quantify your value with specific metrics: revenue increases, cost reductions, efficiency gains, or other tangible outcomes.</p>\n\n\n\n<p>These success stories can appear as LinkedIn posts for wider visibility or as dedicated pages on your website for in-depth exploration. For consultants with broad specialties, consider creating industry-specific testimonial portfolios that target different client segments, allowing you to speak directly to distinct audience needs.</p>\n\n\n\n<p><img src=\"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f4a1.png\" alt=\"💡\" class=\"wp-smiley\" /><em>Develop a systematic approach to collecting case study material during projects. Document key challenges, strategies, and outcomes as they happen rather than scrambling to reconstruct them later.</em></p>\n\n\n\n<p>Remember that confidentiality is paramount in consulting relationships. Always obtain express written permission before using any client information in marketing materials – even anonymous case studies require careful review to prevent identification of sensitive details.</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Strengthen your authority through strategic partnerships</strong></h3>\n\n\n\n<p>Strategic partnerships offer consultants a powerful way to multiply their authority and extend their reach. By forming alliances with complementary experts, you can create value propositions that neither partner could deliver alone.</p>\n\n\n\n<p>For example, a management consultant specializing in digital transformation might partner with a data privacy expert to offer comprehensive tech modernization services. This partnership creates multiple advantages:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Enhanced expertise</strong>: Combined knowledge fills gaps that clients might otherwise need to source separately</li>\n\n\n\n<li><strong>Premium positioning</strong>: The unique combination justifies higher fees than either consultant could command individually</li>\n\n\n\n<li><strong>Authority-building opportunities</strong>: Co-created research, whitepapers, and industry analyses demonstrate thought leadership while sharing production costs</li>\n\n\n\n<li><strong>Expanded audience</strong>: Each partner gains access to the other&#8217;s client network and followers</li>\n</ul>\n\n\n\n<p>These partnerships work best when each consultant maintains their distinct brand identity while clearly communicating the collaborative relationship. Use your Gravatar profile to maintain a consistent professional presence across platforms, cross-linking to verified profiles of your strategic partners and collaborative work.</p>\n\n\n\n<p>The most successful consulting partnerships start with clear agreements about lead sharing, revenue distribution, and service delivery responsibilities. Begin with small collaborative projects to test compatibility before committing to major initiatives or formal business structures.</p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Measure and optimize your consulting brand&#8217;s ROI</strong></h3>\n\n\n\n<p>Building a personal brand without measuring its impact is like navigating without a compass – you might be moving, but you won&#8217;t know if you&#8217;re heading in the right direction. Savvy consultants treat their personal branding as an investment that should generate measurable returns.</p>\n\n\n\n<p>The most immediate indicator of effective personal branding is typically an increased rate of inquiries. When your brand resonates with your target audience, you&#8217;ll notice more potential clients reaching out through both word-of-mouth referrals and inbound marketing channels. However, this surface-level metric only tells part of the story.</p>\n\n\n\n<p>To truly understand your branding ROI, track these critical metrics:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://www.boutiqueconsultingclub.com/blog/client-acquisition-cost-consulting-firms\"><strong>Client acquisition cost (CAC)</strong></a>: Calculate how much you spend on marketing, networking, and content creation to acquire each new client. As your brand strengthens, this cost should decrease.</li>\n\n\n\n<li><strong>Lifetime client value (LCV)</strong>: Measure the total revenue generated from an average client relationship, including repeat engagements and referrals. Strong personal branding attracts clients who stay longer and spend more.</li>\n\n\n\n<li><strong>Project value trends</strong>: Monitor how the average value of new projects changes over time. Rising project values indicate that your brand is attracting higher-quality opportunities.</li>\n\n\n\n<li><strong>Time-to-close</strong>: Track how quickly leads convert into paying clients. A strong personal brand builds trust faster, shortening the sales cycle significantly.</li>\n</ul>\n\n\n\n<p>Set up systematic tracking through your website analytics, CRM system, and contact forms. Create a simple dashboard that connects these metrics to specific branding initiatives, allowing you to identify which elements of your brand strategy deliver the strongest ROI.</p>\n\n\n\n<p>Review these metrics quarterly, looking for patterns that emerge alongside your branding activities. Did that series of LinkedIn articles correlate with higher-value inquiries? Did your speaking engagement at an industry conference shorten your sales cycle?</p>\n\n\n\n<p>Use these insights to refine your approach – double down on high-performing channels and pivot away from efforts that aren&#8217;t delivering results. The most successful consultants continuously adjust their branding strategy based on data, not assumptions, creating a virtuous cycle of improvement that steadily enhances their market position and fee structure.</p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Start winning better clients: Develop your brand action Plan</strong></h2>\n\n\n\n<p>The difference between struggling consultants and those commanding premium fees isn&#8217;t luck – it&#8217;s strategic personal branding. Now it&#8217;s time to transform these insights into a focused action plan that elevates your consulting practice.</p>\n\n\n\n<p>Start by implementing each of the five pillars we&#8217;ve covered:</p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Build your verified presence</strong> across multiple platforms where your ideal clients spend time</li>\n\n\n\n<li><strong>Create a professional Gravatar profile</strong> that follows you across the internet with consistent branding</li>\n\n\n\n<li><strong>Document client successes</strong> with measurable results and compelling testimonials</li>\n\n\n\n<li><strong>Form strategic partnerships</strong> with complementary experts to expand your reach and capabilities</li>\n\n\n\n<li><strong>Measure your brand&#8217;s ROI</strong> using clear metrics that track business impact</li>\n</ol>\n\n\n\n<p>The consulting landscape rewards those who demonstrate authority through high-value content distributed across carefully selected channels. Your insights should solve real problems, showcase your expertise, and position you as the obvious choice for complex challenges.</p>\n\n\n\n<p>Begin today by creating your free profile at<a href=\"https://gravatar.com\"> Gravatar.com</a>!</p>\n\n\n\n<a href=\"https://gravatar.com/connect/?gravatar_from=blog\"><img width=\"3243\" height=\"729\" src=\"https://blog.gravatar.com/wp-content/uploads/2024/12/free_profile_cta.png\" alt=\"\" class=\"wp-image-2616\" /></a>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 05 May 2025 15:57:45 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Ronnie Burt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:38;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:102:\"Do The Woo Community: Unlocking Creative Content Management in WordPress with Derek Hanson &amp; BobWP\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"https://dothewoo.io/?p=94962\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:95:\"https://dothewoo.io/unlocking-creative-content-management-in-wordpress-with-derek-hanson-bobwp/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:203:\"In this episode of Content Sparks, Derek Hanson discusses WordPress content management with BobWP, highlighting its flexibility and creativity for blogs, presentations, and multimodal content strategies.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 05 May 2025 09:56:58 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:39;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"Do The Woo Community: BobWP, Bob Will Pivot\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=96611\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:46:\"https://dothewoo.io/blog/bobwp-bob-will-pivot/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:92:\"I have pivoted a lot over the years. Impactful and subtle. This one is somewhere in-between.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 05 May 2025 07:57:12 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:40;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:51:\"Do The Woo Community: Leading Up to the Finish Line\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=96551\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"https://dothewoo.io/blog/leading-up-to-the-finish-line/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:87:\"Cheering on your friends and colleagues for finishing. But things happen along the way.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sun, 04 May 2025 10:35:17 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:41;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:112:\"Gutenberg Times: Four Block Plugins, three events, two live streams, one course and more — Weekend Edition 328\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://gutenbergtimes.com/?p=40148\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:116:\"https://gutenbergtimes.com/four-block-plugins-three-events-two-live-streams-one-course-and-more-weekend-edition-328/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:19886:\"<p>Howdy,</p>\n\n\n\n<p>Now is the time to skill up your block editor and theme knowledge and craft. The more quiet release cycle of WordPress gives everyone some breathing room. You can explore more opportunities, like attending the Page Builder Summit. You could invest in a course. You could join in free webinars. You could listen to successful experts in the field to learn how they approach their business.</p>\n\n\n\n<p>What are your questions about core blocks, block themes etc.? You can ask via email, in the comments or <a href=\"https://discord.gg/ZyuRa2C6\">join our new Discord space</a>. </p>\n\n\n\n<p>Below, again a great mixture of plugins, live streams, upcoming events and tutorials. I hope you also have a great weekend! </p>\n\n\n\n<p>Yours, <img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f495.png\" alt=\"💕\" class=\"wp-smiley\" /><br /><em>Birgit</em></p>\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p><strong>Table of Contents</strong></p>\n\n\n\n<ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/four-block-plugins-three-events-two-live-streams-one-course-and-more-weekend-edition-328/#0-word-press-release-information\">Developing Gutenberg and WordPress</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/four-block-plugins-three-events-two-live-streams-one-course-and-more-weekend-edition-328/#0-p\">Plugins, Themes, and Tools for #nocode site builders and owners</a><ol><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/four-block-plugins-three-events-two-live-streams-one-course-and-more-weekend-edition-328/#upcoming-events\">Upcoming events</a></li></ol></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/four-block-plugins-three-events-two-live-streams-one-course-and-more-weekend-edition-328/#2-word-press-6-0-1-and-6-1-scheduled\">Theme Development for Full Site Editing and Blocks</a></li><li><a class=\"wp-block-table-of-contents__entry\" href=\"https://gutenbergtimes.com/four-block-plugins-three-events-two-live-streams-one-course-and-more-weekend-edition-328/#3-building-themes-for-fse-and-word-press\">Building Blocks and Tools for the Block editor</a></li></ol>\n</div></div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"0-word-press-release-information\">Developing Gutenberg and WordPress</h2>\n\n\n\n<p>On April 30, <a href=\"https://wordpress.org/news/2025/04/wordpress-6-8-1-maintenance-release/\"><strong>WordPress 6.8.1 Maintenance Release</strong></a> came out. Aaron Jorbin wrote in the release post that this minor release includes fixes for 15 bugs. These fixes span throughout Core and the Block Editor. They tackle issues affecting multiple areas of WordPress including the block editor, multi-site, and REST API.  The top three fixes are: </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A fix addresses the regression <a href=\"https://github.com/WordPress/gutenberg/issues/69923\"><em>Meta boxes area showing unwanted resize handle</em></a>. It also addresses the issue that breaks auto-scroll. This was discovered right after the release of 6.8.</li>\n\n\n\n<li>The Edit Site link is restored to its earlier link behavior. It links to the respective template displayed on the front end. (<a href=\"https://core.trac.wordpress.org/ticket/63358\">#63358</a>). </li>\n\n\n\n<li>The REST API&#8217;s handling of sticky posts has also been fixed.  (<a href=\"https://core.trac.wordpress.org/ticket/63307\">#63307</a>, <a href=\"https://core.trac.wordpress.org/ticket/63339\">#63339</a></li>\n</ul>\n\n\n\n<p>For a full list of bug fixes, please refer to the&nbsp;<a href=\"https://make.wordpress.org/core/2025/04/28/wordpress-6-8-1-rc1-is-now-available/\">release candidate announcement.</a></p>\n\n\n\n<div class=\"wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f399.png\" alt=\"🎙\" class=\"wp-smiley\" /> The latest episode <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-117-woocommerce-starter-theme-and-blocks/\">Gutenberg Changelog 117 – WooCommerce Starter Theme and Blocks, WordCamp Europe, and Gutenberg 20.7 and 20.8</a> I sat down with Ellen Bauer, WooCommerce product lead and discussed what she is working on, WordCamp Europe, Create Block Theme, WP-CLI, Gutenberg 20.7 and Gutenberg 20.8 releases. </p>\n\n\n\n<img width=\"652\" height=\"184\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2022/03/Screenshot-2025-05-10-at-12.16.57.png?resize=652%2C184&ssl=1\" alt=\"Ellen Bauer and Birgit Pauli-Haack recording Gutenberg Changelog 117\" class=\"wp-image-40375\" />\n</div></div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"0-p\">Plugins, Themes, and Tools for #nocode site builders and owners</h2>\n\n\n\n<p>In his post, <a href=\"https://theadminbar.com/building-a-custom-image-gallery-with-the-image-gallery-block/\">Building a Custom Image Gallery with the Image Gallery Block</a>, <strong>Kyle Van Deusen</strong> provides guidance. He explains how to create a custom image gallery in WordPress. He uses the <a href=\"https://wordpress.org/plugins/image-gallery-block/\">“Image Gallery Block”</a> plugin by WP Developer. This plugin offers more features than the default WordPress Gallery block.</p>\n\n\n\n<p>Van Deusen covers installing the plugin, adding a gallery, and selecting images. The plugin provides flexible styling like grid or masonry layouts, caption options, image sizing, responsive settings, and a lightbox. Extra adjustments include borders, rounded corners, and caption colors. The post emphasizes the plugin&#8217;s user-friendliness and concludes with a preview of its interactive features.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Wes Theron</strong> has some awesome tips to <strong><a href=\"https://www.youtube.com/watch?v=qwtR6Gr7rs4\">Speed Up Your Workflow in WordPress</a></strong>. He’s sharing his favorite hidden gems of the Block Editor. You’ll get to know the Command Palette, different editing modes, List view, scheduling posts, and so much more. It’s a super quick video, and you’ll pick it all up in under six minutes. You probably already know most of it. You’re a long-time subscriber. You got the scoop when these features first dropped in the Block Editor. But still, this video shows you how those features have evolved and how they all work together for creating content.</p>\n\n\n<div width=\"100%\" class=\"wp-block-newsletterglue-showhide ng-block\">\n<div class=\"wp-block-embed__wrapper\">\n\n</div>\n</div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In the latest episode of <strong><a href=\"https://www.youtube.com/watch?v=C7QInDAb6tE\">Greyd Conversations #6 &#8211; Building upon WordPress</a></strong>, <strong>Mike McAlister</strong>, co-founder of Ollie, joined <strong>Jessica Lyschik</strong>. They discussed the advantages of their shared approach to developing products using WordPress&#8217;s Block &amp; Site Editor. They also looked into the future direction of WordPress. They discussed features that product companies like <a href=\"https://greyd.io/\">Greyd</a> and <a href=\"https://olliewp.com/\">Ollie</a> hope to see in the core.</p>\n\n\n<div width=\"100%\" class=\"wp-block-newsletterglue-showhide ng-block\">\n<div class=\"wp-block-embed__wrapper\">\n\n</div>\n</div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><a href=\"https://profiles.wordpress.org/mralaminahamed/\"><strong>Al Amin Ahamed</strong></a>&#8216;s new plugin, <a href=\"https://wordpress.org/plugins/author-profile-blocks/\"><strong>Author Profile Blocks</strong></a>, in now available in the WordPress Plugin Repository. With this plugin you can show user profiles in different styles using Gutenberg blocks. You can use it to highlight team members. It can also highlight contributors, authors, or any WordPress users you want to feature on your site.</p>\n\n\n\n<p>&#8220;Unlike other plugins, Author Profile Blocks leverages your existing WordPress users rather than creating a separate custom post type. This means you can showcase all your site contributors without duplicating content.&#8221; Ahamed wrote in his description. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong><a href=\"https://x.com/selimrana\">Selim Rana</a></strong> and his team at <em>BdThemes</em> released the <a href=\"https://wordpress.org/plugins/zolo-advanced-heading/\"><strong>Advanced Heading for the Gutenberg Block Editor</strong></a> plugin. It provides various options to style headings like text highlighting, gradient, image masking, drop shadows, and background effects.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p id=\"thread-block\"><strong>Bhargav (Bunty) Bhandari</strong> released a new plugin again: <a href=\"https://wordpress.org/plugins/thread-block/\"><strong>Thread Block</strong></a> with which you can publish Twitter-like Thread posts. It can also be used to do some live blogging of an event or a breaking news story. &#8220;Perfect for storytelling, debates, or breaking down ideas step by step&#8221; Bhandari wrote. </p>\n\n\n\n<a href=\"https://wordpress.org/plugins/thread-block/\"><img width=\"652\" height=\"346\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/Thread-Block-screenshot-3.png?resize=652%2C346&ssl=1\" alt=\"\" class=\"wp-image-40207\" /></a>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"upcoming-events\">Upcoming events</h3>\n\n\n\n<p>On <strong>May 8, 2025, at 12:00 UTC,</strong> <strong>Anne-Mieke Bovelett</strong> will hold a free webinar for site builders and agencies. <a href=\"https://annebovelett.eu/discover-how-much-power-the-wordpress-block-editor-and-site-editor-give-you/\"><strong>Discover how much power the WordPress Block Editor and Site Editor give you!</strong></a> She will walk you through what the WordPress Block Editor and Site Editor can do today. No custom code, no third-party builder, no bloated plugin stack. Just native WordPress, used to its full potential.<br /><br />Bovelett will cover:</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>What the Block Editor and Site Editor actually are</li>\n\n\n\n<li>How to build layouts and templates without code</li>\n\n\n\n<li>How reusable patterns can simplify your workflow</li>\n\n\n\n<li>Building post grids (query loops) and juggling dynamic data</li>\n</ul>\n\n\n\n<p><a href=\"https://annebovelett.eu/discover-how-much-power-the-wordpress-block-editor-and-site-editor-give-you/\">Free registration is now open</a>. </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>The&nbsp;<a href=\"https://pagebuildersummit.com/\"><strong>Page Builder summit 2025</strong></a>&nbsp;will take place from&nbsp;<strong>12th to 16th of May 2025.</strong> Hosts <strong><a href=\"https://x.com/anchenlr\">Anchen le Roux</a></strong>&nbsp;and&nbsp;<strong><a href=\"https://bsky.app/profile/nathanwrigley.com\">Nathan Wrigley</a></strong>&nbsp;published <a href=\"https://pagebuildersummit.com/schedule/\">the schedule</a>. It is packed with fabulous speakers. The topics are perfect for site builders to enhance their business acumen. They will also expand their technical knowledge.</p>\n\n\n\n<p>Here is my watch list: </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Alicia St. Rose:</strong> Loop, There It Is! The Magic of the Query Loop Block</li>\n\n\n\n<li><strong>Tony Cosentino</strong>: Supercharge Your WordPress Workflow: 10 AI Tools to Build Better Websites Faster</li>\n\n\n\n<li><strong>PK Son:</strong> Supercharge Your Builds with ACF Flexible/Repeater Fields</li>\n\n\n\n<li><strong>Luke Carbis</strong>: The Hidden Costs of Page Builders: Avoiding Technical Debt in No-Code Projects</li>\n\n\n\n<li><strong>Tammie Lister</strong>: Design Once, Build Everywhere: The Lego Principle for Page Builders</li>\n\n\n\n<li><strong>Benjamin Intal</strong>: <strong>Reimagine UX in the Block Editor with WP Interactions</strong></li>\n</ul>\n\n\n\n<p>The event is totally free, and the recordings will stay free for 48 hours after the last day. I will be traveling during the week. I am glad to pay for an extension of that watch time. $47 is quite affordable to get unlimited access to the recordings.</p>\n\n\n\n<a href=\"https://pagebuildersummit.com/\"><img width=\"652\" height=\"421\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/pageBuilderSummit-2025.jpg?resize=652%2C421&ssl=1\" alt=\"\" class=\"wp-image-40209\" /></a>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong><a href=\"https://wordsesh.com/\">WordSesh</a></strong>&nbsp;returns&nbsp;<strong>May 13–15, 2025</strong>. It is a virtual conference for&nbsp;WordPress professionals. Its host,&nbsp;<strong><a href=\"http://indieweb.social/@rzen\">Brian Richards</a></strong>, is a seasoned virtual conference producer and WordPress educator. His speaker and session curation is top-notch. Sign up to get updates on the next event. </p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2-word-press-6-0-1-and-6-1-scheduled\">Theme Development for Full Site Editing and Blocks</h2>\n\n\n\n<p>In his latest live stream, <strong>Ryan Welcher</strong> shared his process in real time. He refined features and experimented with block-based design. He also answered viewers&#8217; questions as we went along. The recording is now online on YouTube: <a href=\"https://www.youtube.com/watch?v=FEcADhAAvkc\"><strong>WordPress Block Theming: Chat, Connect, and Chill!</strong></a></p>\n\n\n<div width=\"100%\" class=\"wp-block-newsletterglue-showhide ng-block\">\n<div class=\"wp-block-embed__wrapper\">\n\n</div>\n</div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>&nbsp;<a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/\" target=\"_blank\" rel=\"noreferrer noopener\">&#8220;Keeping up with Gutenberg &#8211; Index 2025&#8221;</a>&nbsp;</strong><br />A chronological list of the WordPress Make Blog posts from various teams involved in Gutenberg development: Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test, and Meta team from Jan. 2024 on. Updated by yours truly. The previous years are also available: <strong><strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2020/\">2020</a>&nbsp;|&nbsp;<a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2021/\">2021</a></strong>&nbsp;|&nbsp;<strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2022/\">2022</a></strong></strong>&nbsp;|&nbsp;<strong><a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2023\">2023</a></strong> | <a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/gutenberg-index-2024/\"><strong>2024</strong></a></p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"3-building-themes-for-fse-and-word-press\">Building Blocks and Tools for the Block editor</h2>\n\n\n\n<p>I answered a listener question from the Gutenberg changelog. I published a short post on <a href=\"https://gutenbergtimes.com/how-to-overwrite-or-remove-core-block-styles/\"><strong>How to overwrite or remove core block styles</strong></a>. In a short video, you learn how to overwrite the styles through the <strong>Editor &gt; Styles</strong> section. Another way is via the theme&#8217;s <code>theme.json</code> file. If you want to remove core block styles entirely, you&#8217;ll find a code snippet to put into your <code>functions.php</code> or plugin files.  </p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p><strong>Milica Aleksandric</strong> announces a new <strong><a href=\"https://wpshout.com/meet-our-new-wordpress-development-course/\">WordPress Development Course for the Modern Era</a></strong> on WPShout. The course, <em>Modern WordPress Fast Track</em>, is a &#8220;10-week program.&#8221; It is designed to take you from beginner to pro with the latest WordPress tech. Think block themes, Full Site Editing, AI tools, and modern workflows. It’s taught by <strong>Kaspars Dambis</strong>, a WordPress core contributor with tons of real-world experience. The course community on Discord connects you to other students. It starts on June 1, 2025. Until then, you can take advantage of the 40% discount for early birds.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>In his latest recording of his twitch stream, <a href=\"https://www.youtube.com/watch?v=otj2-24XZ8s\"><strong>AI Code Reviews | Jon learns to code</strong></a>, <strong>Jonathan Bossenger</strong> explored two AI code review tools. These tools hook right into your Git pull request workflow. He compared them to see how they work.</p>\n\n\n<div width=\"100%\" class=\"wp-block-newsletterglue-showhide ng-block\">\n<div class=\"wp-block-embed__wrapper\">\n\n</div>\n</div>\n\n\n<p><strong><a href=\"https://gutenbergtimes.com/need-a-zip-from-master/\">Need a plugin .zip from Gutenberg&#8217;s master branch?</a></strong><br />Gutenberg Times provides daily build for testing and review. </p>\n\n\n\n<p>Now also available via <a href=\"https://playground.wordpress.net/?blueprint-url=https://gutenbergtimes.com/wp-content/uploads/2020/11/playnightly.json\">WordPress Playground</a>. There is no need for a test site locally or on a server. Have you been using it? <a href=\"mailto:pauli@gutenbergtimes.com\">Email me </a>with your experience</p>\n\n\n\n<p><img alt=\"GitHub all releases\" src=\"https://img.shields.io/github/downloads/bph/gutenberg/total?style=for-the-badge\" /></p>\n\n\n\n<p class=\"has-text-align-center has-small-font-size\"><em>Questions? Suggestions? Ideas? </em><br /><em>Don&#8217;t hesitate to send <a href=\"mailto:pauli@gutenbergtimes.com\">them via email</a> or</em><br /><em> send me a message on WordPress Slack or Twitter @bph</em>.</p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" />\n\n\n\n<p class=\"has-text-align-center has-small-font-size\">For questions to be answered on the <a href=\"http://gutenbergtimes.com/podcast\">Gutenberg Changelog</a>, <br />send them to <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a></p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\" />\n\n\n\n<p>Featured Image: Photo by chuttersnap on Unsplash</p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\" />\n\n\n\n<p class=\"has-text-align-left\"><strong>Don&#8217;t want to miss the next Weekend Edition? </strong></p>\n\n\n<form class=\"wp-block-newsletterglue-form ngl-form ngl-portrait\" action=\"https://gutenbergtimes.com/feed/\" method=\"post\"><div class=\"ngl-form-container\"><div class=\"ngl-form-field\"><label class=\"ngl-form-label\" for=\"ngl_email\"><br />Type in your Email address to subscribe.</label><div class=\"ngl-form-input\"><input type=\"email\" class=\"ngl-form-input-text\" name=\"ngl_email\" id=\"ngl_email\" /></div></div><button type=\"submit\" class=\"ngl-form-button\">Subscribe</button><p class=\"ngl-form-text\">We hate spam, too, and won&#8217;t give your email address to anyone <br />except Mailchimp to send out our Weekend Edition</p></div><div class=\"ngl-message-overlay\"><div class=\"ngl-message-svg-wrap\"></div><div class=\"ngl-message-overlay-text\">Thanks for subscribing.</div></div><input type=\"hidden\" name=\"ngl_list_id\" id=\"ngl_list_id\" value=\"26f81bd8ae\" /><input type=\"hidden\" name=\"ngl_double_optin\" id=\"ngl_double_optin\" value=\"yes\" /></form>\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\" />\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 03 May 2025 12:20:02 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:42;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:38:\"Do The Woo Community: Enshittification\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=96518\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:42:\"https://dothewoo.io/blog/enshittification/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:44:\"The progressive decline of digital platforms\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 03 May 2025 10:57:53 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:43;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"Matt: Berkshire Hathaway Meeting\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:23:\"https://ma.tt/?p=141784\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"https://ma.tt/2025/05/berkshire/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2885:\"<p>I&#8217;ve checked off a bucket list item: I&#8217;m attending a <a href=\"https://www.berkshirehathaway.com/\">Berkshire Hathaway</a> shareholder meeting. It&#8217;s really an event! Thousands flock to Omaha, Nebraska, for the legendary Q&amp;A sessions with Warren Buffett and shareholder deals. They&#8217;ve made it quite the circus, with every Berkshire Hathaway company having a booth of some sort, and typically selling their goods at a discount or with exclusive items you can only buy there, like Warren Buffett and Charlie Munger Squishmallows (which of course I got, to complement my <a href=\"https://www.berkshirenerds.store/\">bronze busts</a>).</p>\n\n\n\n<p>It&#8217;s strange to have a Dairy Queen booth selling $1 ice cream (cash only!) next to NetJets, but those juxtapositions are part of the Berkshire vibe—it&#8217;s very high/low, like Costco (a big Berkshire holding). There&#8217;s also an element of WordCamps or a Salesforce Trailblazer event in that you can tell there&#8217;s a &#8220;type&#8221; of person that&#8217;s easy to spot who&#8217;s a Berkshire enthusiast. A lot of Berkshire brands are also WordPress users: Duracell, GEICO, Acme Brick, Berxi, MiTek. I think there is a lot of mimetic overlap between the values of open source and the values of building a Berkshire company.</p>\n\n\n\n<p>As with any big gathering, the side events are also great, and I was honored to have a fireside chat with a friend and Buffett protégé, <a href=\"https://en.wikipedia.org/wiki/Tracy_Britt_Cool\">Tracy Britt Cool</a>. To an audience of about 60+ CEOs in the <a href=\"https://kanbrick.com/\">Kanbrick</a> community, we talked about Automattic&#8217;s history and some of the latest happenings in tech; AI was definitely on people&#8217;s minds in the Q&amp;A. They had questions for me, but I also feel like I have a ton to learn from this group that has built founder or family-owned businesses with an average of 80-100M of revenue, the kind of thing that is the engine of the American economy. </p>\n\n\n\n<p>It makes me pine for the day when we can have more shareholders in Automattic; I think it would be an amazing cohort of folks that believe in open source and the open web, invested together and learning from each other, and I could imagine an event very much like these shareholder meetings. It&#8217;s so much more powerful when you build a business where your customers are also a community.</p>\n\n\n\n<p><strong>Update:</strong> I knew this would be a special one because it was Warren&#8217;s 60th, but he really went above and beyond by announcing his intention for Greg Abel to take over as CEO at the end of the year. The standing ovation was a special moment, 60 years of 19.9% compounding returns! I think the future of Berkshire is very bright because he&#8217;s shared so much of his worldview that there are others that have made it their own.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 02 May 2025 21:56:07 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:4:\"Matt\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:44;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:61:\"Gutenberg Times: How to overwrite or remove core block styles\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://gutenbergtimes.com/?p=40172\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:72:\"https://gutenbergtimes.com/how-to-overwrite-or-remove-core-block-styles/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:8248:\"<p>The technical documented term for block styles is <a href=\"https://developer.wordpress.org/themes/features/block-style-variations/\">Block Style Variations</a> and are the smallest unit of Styles. They are on the block level. The others are <a href=\"https://developer.wordpress.org/themes/global-settings-and-styles/style-variations/\">Global Style Variations</a> coming with a block theme, and <a href=\"https://make.wordpress.org/core/2024/06/24/section-styles/\">Sections Style variations</a>, that are for patterns and container blocks. </p>\n\n\n\n<p>WordPress includes a few block-level styles. You might have an urge to change them. Adjust them to your theme or branding designs. This post shows you three ways on how to alter those styles. </p>\n\n\n\n<h2 class=\"wp-block-heading\">Use Editor &gt; Styles &gt; Blocks</h2>\n\n\n\n<p>WordPress offers more than one style for certain blocks. For example, the <a href=\"https://wordpress.com/support/wordpress-editor/blocks/buttons-block/\">Buttons block</a> has two styles: <strong>Fill</strong> and <strong>Outline</strong>.&nbsp;</p>\n\n\n\n<p>Content creators and site builders can change the block’s style on a per-block basis. They can also change it on a per-site basis via the Styles area in the site editor.</p>\n\n\n\n		\n			<div class=\"jetpack-videopress-player__wrapper\"> </div>\n			\n			\n		\n		\n\n\n<h2 class=\"wp-block-heading\">Overwrite core block styles via theme.json</h2>\n\n\n\n<p>As a developer, you can overwrite the <strong>Outline</strong> button styles via theme.json file.</p>\n\n\n\n<p>The example code below shows the modification of the core/button variation with a:&nbsp;</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>0px border radius.</li>\n\n\n\n<li>3px wide blue border.</li>\n</ul>\n\n\n\n<p>These styles will replace the default rounded, black, 2px borders.</p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\"><span></span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki min-dark\" tabindex=\"0\"><code><span class=\"line\"><span>{</span></span>\n<span class=\"line\"><span>	</span><span>\"$schema\"</span><span>:</span><span> </span><span>\"https://schemas.wp.org/trunk/theme.json\"</span><span>,</span></span>\n<span class=\"line\"><span>	</span><span>\"version\"</span><span>:</span><span> </span><span>2</span><span>,</span></span>\n<span class=\"line\"><span>	</span><span>\"styles\"</span><span>:</span><span> {</span></span>\n<span class=\"line\"><span>		</span><span>\"blocks\"</span><span>:</span><span> {</span></span>\n<span class=\"line\"><span>			</span><span>\"core/button\"</span><span>:</span><span> {</span></span>\n<span class=\"line\"><span>				</span><span>\"variations\"</span><span>:</span><span> {</span></span>\n<span class=\"line\"><span>					</span><span>\"outline\"</span><span>:</span><span> {</span></span>\n<span class=\"line\"><span>						</span><span>\"border\"</span><span>:</span><span> {</span></span>\n<span class=\"line\"><span>							</span><span>\"color\"</span><span>:</span><span> </span><span>\"blue\"</span><span>,</span></span>\n<span class=\"line\"><span>							</span><span>\"radius\"</span><span>:</span><span> </span><span>\"0\"</span><span>,</span></span>\n<span class=\"line\"><span>							</span><span>\"style\"</span><span>:</span><span> </span><span>\"solid\"</span><span>,</span></span>\n<span class=\"line\"><span>							</span><span>\"width\"</span><span>:</span><span> </span><span>\"3px\"</span></span>\n<span class=\"line\"><span>						}</span><span>,</span></span>\n<span class=\"line\"><span>					}</span></span>\n<span class=\"line\"><span>				}</span></span>\n<span class=\"line\"><span>			}</span></span>\n<span class=\"line\"><span>		}</span></span>\n<span class=\"line\"><span>	}</span></span>\n<span class=\"line\"><span>}</span></span></code></pre></div>\n\n\n\n<p><img src=\"https://lh7-rt.googleusercontent.com/docsz/AD_4nXfd0mIsgSSO2-NvZqZye95RvTuNp0BPrccDmpYR6_pjT3_ajHCHwIMhLQh88BFyzMQPkKFaxv9rsnKV8ctR8UHyw9C-j2kdeV3xfdnWnbM6EA6nQXtjkZORsNtHxwDC-bTmS5PKmQ?key=NbFaJRWcQ2W-sRPuaZaOil0N\" width=\"624\" height=\"209\" /><a href=\"https://drive.google.com/file/d/14jN1AK9Z0UFSRZ1Kw0vyZGUl6BJrbsOx/view?usp=drive_link\"><img src=\"https://s.w.org/images/core/emoji/15.1.0/72x72/1f5bc.png\" alt=\"🖼\" class=\"wp-smiley\" /></a></p>\n\n\n\n<p>For other core/block styles, you can overwrite their styles in the <code>styles.blocks.core/[block]</code> section of your theme.json file—simply replace [block] above with the actual block name.&nbsp;You can find a detailed walk-through of this process, including a list of available core block styles, on the WordPress.org Developer Blog: <a href=\"https://developer.wordpress.org/news/2023/05/customizing-core-block-style-variations-via-theme-json/\">Customizing core block style variations via theme.json</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Removing unwanted core block styles</h2>\n\n\n\n<p>There are two functions you’ll need to address:&nbsp;</p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The PHP function <a href=\"https://developer.wordpress.org/reference/functions/unregister_block_style/\">unregister_block_style()</a></li>\n\n\n\n<li>The JavaScript function <a href=\"https://developer.wordpress.org/block-editor/reference-guides/block-api/block-styles/\">unregisterBlockStyle()</a>&nbsp;</li>\n</ul>\n\n\n\n<p>Block styles can only be unregistered in the same coding language used to register them. Core blocks are all registered via JavaScript. The example code removes the extra block style for the image block called rounded.</p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\"><span></span><span tabindex=\"0\" class=\"code-block-pro-copy-button\"></span><pre class=\"shiki min-dark\" tabindex=\"0\"><code><span class=\"line\"><span>wp.domReady( function() {</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>   wp.blocks.unregisterBlockStyle( \'core/image\', [ \'rounded\' ] );</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span>} );</span></span></code></pre></div>\n\n\n\n<p>If you are keen to learn more about how to create block styles, I just published a deep dive into that topic. </p>\n\n\n\n<p><a href=\"https://wordpress.com/blog/2025/05/07/custom-block-styles/\">Mastering Custom Block Styles in WordPress: 6 Methods for Theme and Plugin Developers</a></p>\n\n\n\n<a href=\"https://wordpress.com/blog/2025/05/07/custom-block-styles/\"><img width=\"652\" height=\"408\" src=\"https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2025/05/custom-block-styles.webp?resize=652%2C408&ssl=1\" alt=\"\" class=\"wp-image-40272\" /></a>\n\n\n\n<h2 class=\"wp-block-heading\">Resources to learn more</h2>\n\n\n\n<p>For more ways to change the block editor, read <a href=\"https://developer.wordpress.org/news/2024/07/15-ways-to-curate-the-wordpress-editing-experience/\">15 ways to curate the WordPress editing experience</a>.</p>\n\n\n\n<p>For more articles on the various styles, there are great articles on the WordPress Developer blog: </p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https://developer.wordpress.org/news/2024/06/21/styling-sections-nested-elements-and-more-with-block-style-variations-in-wordpress-6-6/\">Styling sections, nested elements, and more with Block Style Variations in WordPress 6.6</a></li>\n\n\n\n<li><a href=\"https://developer.wordpress.org/news/2022/12/leveraging-theme-json-and-per-block-styles-for-more-performant-themes/\">Leveraging theme.json and per-block styles for more performant themes</a></li>\n\n\n\n<li><a href=\"https://developer.wordpress.org/news/2023/04/per-block-css-with-theme-json/\">Per-block CSS with theme.json</a></li>\n\n\n\n<li><a href=\"https://developer.wordpress.org/news/2023/07/beyond-block-styles-part-1-using-the-wordpress-scripts-package-with-themes/\">Beyond block styles, part 1: using the WordPress scripts package with themes</a></li>\n\n\n\n<li><a href=\"https://developer.wordpress.org/news/2023/07/beyond-block-styles-part-2-building-a-custom-style-for-the-separator-block/\">Beyond block styles, part 2: building a custom style for the Separator block</a></li>\n\n\n\n<li><a href=\"https://developer.wordpress.org/news/2023/08/beyond-block-styles-part-3-building-custom-design-tools/\">Beyond block styles, part 3: building custom design tools</a></li>\n</ul>\n\n\n\n<p><em>What are other questions you might have about changing core blocks via the Global Styles? Leave a comment</em> or <a href=\"https://discord.gg/ZyuRa2C6\">join us on Discord</a></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 02 May 2025 14:04:40 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:45;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"Do The Woo Community: Life’s Jerks and Flows: Lessons from Ma Joad\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=96467\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"https://dothewoo.io/blog/lifes-jerks-and-flows-lessons-from-ma-joad/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:141:\"Life\'s either a series of jerks, or a flow like a stream, according to Ma Joad. We all ride those currents—career changes are no different.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 02 May 2025 08:40:05 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:46;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:107:\"Do The Woo Community: Beyond Code: How the WordPress Photo Directory is Building a More Inclusive Community\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=96469\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:110:\"https://dothewoo.io/blog/beyond-code-how-the-wordpress-photo-directory-is-building-a-more-inclusive-community/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:228:\"The WordPress Photo Directory offers an inclusive way to contribute, showcasing diverse cultures through photography. Anyone can participate, enhancing community creativity while gaining valuable skills and a sense of belonging.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 01 May 2025 13:35:32 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:47;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"Do The Woo Community: Tech, You Gotta Love It. (Sometimes)\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:43:\"https://dothewoo.io/?post_type=blog&p=96455\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"https://dothewoo.io/blog/tech-you-gotta-love-it-sometimes/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:140:\"Tech woes march on: hardware fails, Slack gets ditched, and buried settings lurk like ninjas. Fingers crossed for a happy tech day tomorrow!\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 01 May 2025 09:42:42 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Bob Dunn\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:48;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"WordPress.org blog: WordPress 6.8.1 Maintenance Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=18721\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"https://wordpress.org/news/2025/04/wordpress-6-8-1-maintenance-release/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:6925:\"<h2 class=\"wp-block-heading\">WordPress 6.8.1 is now available!</h2>\n\n\n\n<p>This minor release includes fixes for 15 bugs <a href=\"https://core.trac.wordpress.org/query?resolution=fixed&milestone=6.8.1&group=component&col=id&col=summary&col=milestone&col=owner&col=type&col=status&col=priority&order=priority\">throughout Core</a> and <a href=\"https://github.com/WordPress/wordpress-develop/pull/8752\">the Block Editor</a> addressing issues affecting multiple areas of WordPress including the block editor, multisite, and REST API. For a full list of bug fixes, please refer to the <a href=\"https://make.wordpress.org/core/2025/04/28/wordpress-6-8-1-rc1-is-now-available/\">release candidate announcement.</a></p>\n\n\n\n<p>WordPress 6.8.1 is a short-cycle maintenance release. More maintenance releases will be made available throughout 2025.</p>\n\n\n\n<p>If you have sites that support automatic background updates, the update process will begin automatically.</p>\n\n\n\n<p>You can <a href=\"https://wordpress.org/wordpress-6.8.1.zip\">download WordPress 6.8.1 from WordPress.org</a>, or visit your WordPress Dashboard, click “Updates”, and then click “Update Now”. For more information on this release, please <a href=\"https://wordpress.org/support/wordpress-version/version-6-8-1\">visit the HelpHub site</a>.</p>\n\n\n\n<h2 class=\"wp-block-heading\">Thank you to these WordPress contributors</h2>\n\n\n\n<p>This release was led by <a href=\"https://profiles.wordpress.org/jorbin/\">Aaron Jorbin</a>.</p>\n\n\n\n<p>WordPress 6.8.1 would not have been possible without the contributions of the following people. Their asynchronous coordination to deliver maintenance fixes into a stable release is a testament to the power and capability of the WordPress community.</p>\n\n\n\n<p class=\"is-style-wporg-props-medium\"><a href=\"https://profiles.wordpress.org/jorbin\">Aaron Jorbin</a>, <a href=\"https://profiles.wordpress.org/adamsilverstein\">Adam Silverstein</a>, <a href=\"https://profiles.wordpress.org/wildworks\">Aki Hamano</a>, <a href=\"https://profiles.wordpress.org/ankitmaru\">Ankit Panchal</a>, <a href=\"https://profiles.wordpress.org/bernhard-reiter\">bernhard-reiter</a>, <a href=\"https://profiles.wordpress.org/poena\">Carolina Nymark</a>, <a href=\"https://profiles.wordpress.org/codeamp\">Code Amp</a>, <a href=\"https://profiles.wordpress.org/talldanwp\">Daniel Richards</a>, <a href=\"https://profiles.wordpress.org/davidbaumwald\">David Baumwald</a>, <a href=\"https://profiles.wordpress.org/justlevine\">David Levine</a>, <a href=\"https://profiles.wordpress.org/dilipbheda\">Dilip Bheda</a>, <a href=\"https://profiles.wordpress.org/dd32\">Dion Hulse</a>, <a href=\"https://profiles.wordpress.org/dsawyers\">dsawyers</a>, <a href=\"https://profiles.wordpress.org/eduwass\">eduwass</a>, <a href=\"https://profiles.wordpress.org/ethitter\">Erick Hitter</a>, <a href=\"https://profiles.wordpress.org/estelaris/\">Estela Rueda</a>, <a href=\"https://profiles.wordpress.org/fabiankaegy\">Fabian Kägy</a>, <a href=\"https://profiles.wordpress.org/mamaduka\">George Mamadashvili</a>, <a href=\"https://profiles.wordpress.org/gziolo\">Greg Ziółkowski</a>, <a href=\"https://profiles.wordpress.org/kabir93\">H. Kabir</a>, <a href=\"https://profiles.wordpress.org/hideishi\">hideishi</a>, <a href=\"https://profiles.wordpress.org/abcd95\">Himanshu Pathak</a>, <a href=\"https://profiles.wordpress.org/jarekmorawski\">jarekmorawski</a>, <a href=\"https://profiles.wordpress.org/audrasjb\">Jb Audras</a>, <a href=\"https://profiles.wordpress.org/JeffPaul\">Jeffrey Paul</a>, <a href=\"https://profiles.wordpress.org/jeffr0\">Jeffro</a>, <a href=\"https://profiles.wordpress.org/jeremyfelt\">Jeremy Felt</a>, <a href=\"https://profiles.wordpress.org/joedolson\">Joe Dolson</a>, <a href=\"https://profiles.wordpress.org/joemcgill\">Joe McGill</a>, <a href=\"https://profiles.wordpress.org/joen\">Joen A.</a>, <a href=\"https://profiles.wordpress.org/johnjamesjacoby\">John James Jacoby</a>, <a href=\"https://profiles.wordpress.org/desrosj\">Jonathan Desrosiers</a>, <a href=\"https://profiles.wordpress.org/spacedmonkey\">Jonny Harris</a>, <a href=\"https://profiles.wordpress.org/verygoode\">Joshua Goode</a>, <a href=\"https://profiles.wordpress.org/karthikeya01\">Karthikeya Bethu</a>, <a href=\"https://profiles.wordpress.org/iamkingsleyf\">Kingsley Felix</a>, <a href=\"https://profiles.wordpress.org/obenland\">Konstantin Obenland</a>, <a href=\"https://profiles.wordpress.org/0mirka00\">Lena Morita</a>, <a href=\"https://profiles.wordpress.org/lilgames\">LilGames</a>, <a href=\"https://profiles.wordpress.org/megane9988\">megane9988</a>, <a href=\"https://profiles.wordpress.org/marktimemedia\">Michelle Schulp Hunt</a>, <a href=\"https://profiles.wordpress.org/presstoke\">Mitchell Austin</a>, <a href=\"https://profiles.wordpress.org/mukesh27\">Mukesh Panchal</a>, <a href=\"https://profiles.wordpress.org/nickwilmot\">nickwilmot</a>, <a href=\"https://profiles.wordpress.org/nikunj8866\">Nikunj Hatkar</a>, <a href=\"https://profiles.wordpress.org/swissspidy\">Pascal Birchler</a>, <a href=\"https://profiles.wordpress.org/pbiron\">Paul Biron</a>, <a href=\"https://profiles.wordpress.org/peterwilsoncc\">Peter Wilson</a>, <a href=\"https://profiles.wordpress.org/pratiklondhe\">Pratik Londhe</a>, <a href=\"https://profiles.wordpress.org/presskopp\">Presskopp</a>, <a href=\"https://profiles.wordpress.org/sainathpoojary\">Sainath Poojary</a>, <a href=\"https://profiles.wordpress.org/sc0ttkclark\">Scott Kingsley Clark</a>, <a href=\"https://profiles.wordpress.org/coffee2code/\">Scott Reilly</a>, <a href=\"https://profiles.wordpress.org/SergeyBiryukov\">Sergey Biryukov</a>, <a href=\"https://profiles.wordpress.org/SirLouen\">SirLouen</a>, <a href=\"https://profiles.wordpress.org/soean\">Sören Wünsch</a>, <a href=\"https://profiles.wordpress.org/sourav08\">Sourav Pahwa</a>, <a href=\"https://profiles.wordpress.org/sabernhardt\">Stephen Bernhardt</a>, <a href=\"https://profiles.wordpress.org/takuword\">takuword</a>, <a href=\"https://profiles.wordpress.org/tusharaddweb\">Tushar Patel</a>, <a href=\"https://profiles.wordpress.org/westonruter\">Weston Ruter</a>, <a href=\"https://profiles.wordpress.org/yogeshbhutkar\">Yogesh Bhutkar</a></p>\n\n\n\n<h2 class=\"wp-block-heading\">How to contribute</h2>\n\n\n\n<p>To get involved in WordPress core development, head over to Trac, <a href=\"https://core.trac.wordpress.org/report/6\">pick a ticket</a>, and join the conversation in the <a href=\"https://wordpress.slack.com/archives/C02RQBWTW\">#core</a> and <a href=\"https://wordpress.slack.com/archives/C080HLPP2Q6\">#6-8-release-leads</a> channels. Need help? Check out the <a href=\"https://make.wordpress.org/core/handbook/\">Core Contributor Handbook</a>.</p>\n\n\n\n<p><em>Props to <a href=\"https://profiles.wordpress.org/estelaris/\" class=\"mention\"><span class=\"mentions-prefix\">@</span>estelaris</a> and <a href=\"https://profiles.wordpress.org/joedolson/\" class=\"mention\"><span class=\"mentions-prefix\">@</span>joedolson</a> for proofreading.</em></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 30 Apr 2025 17:17:09 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Aaron Jorbin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:49;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:87:\"WPTavern: #167 – Bud Kraus on Podcasting and Finding Inspiration in WordPress Stories\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://wptavern.com/?post_type=podcast&p=195280\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:101:\"https://wptavern.com/podcast/167-bud-kraus-on-podcasting-and-finding-inspiration-in-wordpress-stories\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:46549:\"Transcript<div>\n<p>[00:00:19] Nathan Wrigley: Welcome to the Jukebox Podcast from WP Tavern. My name is Nathan Wrigley.</p>\n\n\n\n<p>Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the blocks, the themes, and in this case, podcasting and finding inspiration in WordPress stories.</p>\n\n\n\n<p>If you&#8217;d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice. Or by going to wptavern.com/feed/podcast, and you can copy that URL into most podcast players.</p>\n\n\n\n<p>If you have a topic that you&#8217;d like us to feature on the podcast, I&#8217;m keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wptavern.com/contact/jukebox, and use the form there.</p>\n\n\n\n<p>So on the podcast today we have Bud Kraus.</p>\n\n\n\n<p>Bud&#8217;s name might ring a bell in the WordPress community, not only for his teaching and writing, but also as the host of the Seriously, BUD? Podcast.</p>\n\n\n\n<p>Bud&#8217;s WordPress journey started back in 2009 when a client told him he had to learn WordPress, and ever since he&#8217;s been immersed in all aspects of it. From building sites to teaching, to creating content for major WordPress businesses. These days, Bud calls himself a WordPress content creative, focusing mainly on producing articles, videos, and of course, his own podcast.</p>\n\n\n\n<p>In this episode, we turn the microphone around on Bud to talk about his transition from site building to content creation. He shares how the Seriously BUD? podcast came out of a desire to have real, unscripted conversations with people from around the WordPress community. Chats that go beyond plugins and code and dig into the stories, quirks and lives of the people behind the tech.</p>\n\n\n\n<p>We talk about the format of the show, Bud&#8217;s technique for bringing out interesting stories, and the importance of really listening to guests. Bud explains his approach to podcast technology, why he thinks the tech stack doesn&#8217;t have to be intimidating or expensive, and he also offers insights into the editing process that makes his interviews come alive.</p>\n\n\n\n<p>Towards the end, Bud shares his thoughts on the future of podcasting. Why it&#8217;s still such an appealing medium, and what it takes to keep a show fresh and enjoyable for the long haul.</p>\n\n\n\n<p>If you&#8217;re curious about podcasting, interested in the art of conversation, or are thinking about starting your own show, this episode is for you.</p>\n\n\n\n<p>If you&#8217;re interested in finding out more, you can find all of the links in the show notes by heading to wptavern.com/podcast. Where you&#8217;ll find all the other episodes as well.</p>\n\n\n\n<p>And so without further delay, I bring you Bud Kraus.</p>\n\n\n\n<p>I am joined on the podcast by Bud Kraus. Hello.</p>\n\n\n\n<p>[00:03:12] Bud Kraus: Hi, Nathan. How are you?</p>\n\n\n\n<p>[00:03:13] Nathan Wrigley: Yeah, very good. Nice to chat with you. The tables are turned because not that many weeks ago I appeared on your podcast, which is going to be the focus of this podcast today. So it&#8217;s kind of inception, WordPress Podcast inception.</p>\n\n\n\n<p>[00:03:27] Bud Kraus: You know, podcasting is getting very incestuous. I mean, everybody&#8217;s on everybody&#8217;s show. It&#8217;s more convoluted than the Hapsburg Empire. I mean, it really is.</p>\n\n\n\n<p>[00:03:36] Nathan Wrigley: That&#8217;s a description. I like it. Before we begin and start to explore your podcast, why you did it and so on, let&#8217;s just get into who you are. So a couple of minutes, really, your potted bio. Tell us anything that you like. This is obviously a WordPress podcast, so centering it around your WordPress journey would probably be ideal. So, couple of minutes, over to you.</p>\n\n\n\n<p>[00:03:54] Bud Kraus: Alright. Well, I have a little elevator speech on this, or a little longer than an elevator. But in 2009 I had a friend client who sat me down at the Oyster Bar in New York City and said, you know, you really need to learn WordPress. And I said, no, I&#8217;m a Rage Against the Machine kind of guy.</p>\n\n\n\n<p>And then he got very serious and then I started to learn. And once I learned that you could make a child