


<h2>Security or Privacy? Or Security <em>and</em> Privacy</h2>



<p>In reply to Mark's ticket, John James Jacoby affirmed there had been, <a href="https://meta.trac.wordpress.org/ticket/3016#comment:12">in Michael Nelson's words</a>, a &#8220;closed-door security or privacy decision taken by a larger group.&#8221; The active install growth charts were not pulled on a whim by a single individual.</p>



<p>Sponsored by Awesome Motive, John is a full-time contributor to the Core, Documentation, and Meta teams. He says he independently reviewed the code generating the data for the active install chart which he noted &#8220;is outside of the Meta repository&#8221; with other &#8220;code  responsible for keeping WordPress.org running.&#8221; None of this code is &#8220;publicly available,&#8221; but he &#8220;independently identified precisely why these charts were removed the way that they were,&#8221; and he &#8220;would not have made any different decisions had [he] been in on the decision-making process.&#8221;</p>



<p>John added he doesn't &#8220;have any doubts that [improvement and not removal] is the long-term goal&#8221; for the active install growth chart. Further, he added that fast, private action was called for and &#8220;is not intended to hurt your community of users.&#8221; Instead, the intention is to &#8220;[exclude] many people to protect them from some people.&#8221;</p>



<p>Later, in #Meta, John specified two future options for the return of Active Install data:</p>



<blockquote class="wp-block-quote"><p>Private by default, and optionally made public by plugin authors on a per-plugin basis.</p><p>A GUI could be invented to allow plugin authors to add usernames with access to the stats, similar to how it works for the support forums.</p></blockquote>



<h2>Why Active Install Data Matters </h2>



<p>Active installs are the only way plugin owners can estimate the number of sites that are using their free plugin — and assess growth or decline over time. As Joost de Valk noted on Mark's ticket, &#8220;The <em>trends</em> in this data are <strong>super</strong> important for plugin developers, as seen by the many many people that have responded to <a href="https://wordpress.slack.com/archives/C02QB8GMM/p1664525003424199">this in [WordPress] Slack</a>.&#8221;</p>



<p>By monitoring many plugins across the repo, <a href="https://poststatus.com/are-active-installs-of-wordpress-plugins-declining-in-2021/">market trends can be assessed</a> as well. Doing this work manually for even a single plugin is <a href="https://benjaminintal.com/2020/09/12/how-to-get-the-actual-number-of-active-installs-of-your-wordpress-plugin/">quite a chore</a>. Iain Poulson, who is now at WP Engine, <a href="https://pluginrank.com/true-active-installs-and-more/">automated and improved on</a> that process for Plugin Rank, which is now an Awesome Motive product. wpMetric offers <a href="https://wpmetrics.dev/blog/plugin-actual-active-installs">a similar analysis</a>. So does WPDesk's <a href="https://activeinstalls.com/">Active Installs</a>. </p>



<p>For some time now, it's been a common and reasonable assumption in the WordPress business community that some of the bigger plugin owners have very accurate data on their (and their competitors') plugins' usage — enough to create a &#8220;leaderboard&#8221; to assess the effectiveness of sales campaigns or see a buying opportunity in others' declining install figures. Josepha and John are clearly opposed to that happening, certainly in a public way.</p>



<h2>Healthy Co-opetition Is Not a Leaderboard</h2>



<p>Reflecting on some early BuddyPress history, John shared how that project's &#8220;original primary concern&#8221; had been:</p>



<blockquote class="wp-block-quote"><p>&#8230;revealing active install charts & graphs for all plugins & themes may not actually be healthy for the entire community, because it is impossible to resist using that single number to speculate about things those numbers may or may not imply – quality, security, performance, earnings, success, etc&#8230; and when that scales to inevitably comparing data across multiple plugins & themes, is any of that actually healthy, positive, or a real goal?</p></blockquote>



<p>John also addressed Joost's sharpest criticism that &#8220;Automattic has an unfair competitive advantage because they have access to more accurate stats,&#8221; while everyone else is now fully in the dark. (Joost made this claim on several channels, and  it's a continuing thread in #<a href="https://wordpress.slack.com/archives/C02QB8GMM/p1664620909150329">meta</a>.) </p>



<blockquote class="wp-block-quote"><p>I will go one step farther and say, that if a goal with any data is to be fair to each other with it, that includes a responsibility to serve up the same data with the same interface to everyone, and to <em>prevent people from accessing it in any way that is unintended or unfair</em>.<br /><br />&#8230;which is essentially what has happened, here.</p><cite>JJJ &lt;<a href="https://meta.trac.wordpress.org/ticket/6511#comment:5">https://meta.trac.wordpress.org/ticket/6511#comment:5</a>&gt;</cite></blockquote>



<p>Open to all — <em>for all who want to be open</em> — seems to be the way the issue will be resolved, probably to a near consensus. </p>



<p>But will enough data be available to satisfy those who feel like &#8220;Second-Class Third-Party Developers,&#8221; as Iain Poulson put it <a href="https://s.wptrends.co/w/kWJrSn4PAY2Xziux1YiYEQ">in his WP Trends newsletter this morning</a>?</p>



<p>The deepest issues will likely remain divisive — perceived competitive advantages, the definition of healthy competition in an open source ecosystem, and who gets to referee these things. </p>



<p>Josepha emphasized that &#8220;suggestions are welcome for how to get some data for you all while doing our best to stick with a &#8216;<a href="https://en.wikipedia.org/wiki/Coopetition" target="_blank" rel="noreferrer noopener">co-opetition</a>&#8216; mindset.&#8221; </p>



<p><a href="https://meta.trac.wordpress.org/ticket/6511">Reply on Mark's ticket</a> if you have helpful contributions to make toward that goal.</p>



<div class="wp-container-50 wp-block-group has-theme-palette-8-background-color has-background"><div class="wp-block-group__inner-container">
<h3 id="questions">Worthwhile questions that (re-)emerged in these events:</h3>



<ul><li><strong>Can active install data collection be improved and explained</strong> sufficiently to indicate what it measures and how accurate it is — without revealing too much information that could be abused? What is the best balance of care, openness, and awareness that abuse will always happen, sooner or later?</li><li><strong>Can decisions like pulling active install data (along with the people and processes involved in those decisions) be more transparent</strong> and publicly defined to avoid the confusion, injury, and distrust that often results? As a matter of internal public relations, could there be people tasked with explaining delicate issues that can't (immediately) be explained fully in a public way? (As opposed to hints and guesses in Slack.)</li><li><strong>Same question for WordPress.org #forum policies</strong> on moderation, reviews, replies to reviews, and other things plugin owners care about. Without being too open (due to the risk of &#8220;gaming&#8221;), can clearer guidance be given to onboard new plugin owners at .org? E.g, how reviews are validated, why they may be removed, and how to appeal their removal? Or how plugin owners and their support staff should avoid or deal with being put under moderation?</li><li><strong>What are winning growth strategies for plugin owners </strong>that aren't dependent or overly focused on single measures of success — whether they use the .org repo or not? What are the best ways to go all-in with .org? Or is that simply a mistake?</li><li><strong>How does/doesn't the inclusion of all wp.org plugins in the new wp.com marketplace affect active install stats?</strong> Are these combined or separate numbers? What data is available from wp.com to free and commercial plugin owners about their installs there?</li></ul>
</div></div>
</div><p>This article was published at Post Status — the community for WordPress professionals.</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, 03 Oct 2022 05: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:47:"<span class='p-author h-card'>Dan Knauss</span>";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:"
	
	
	
	
	
	
";s: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: Content-only editing for patterns, Learn to use Data Layer in WordPress and more – Weekend Edition 231";s: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=22274";s: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:127:"https://gutenbergtimes.com/content-only-editing-for-patterns-learn-to-use-data-layer-in-wordpress-and-more-weekend-edition-231/";s: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:17063:"<p>Howdy, </p>



<p>Thank you for the check-ins after Hurricane Ian aimed for Southwest Florida, and made landfall on Wednesday. Some areas of Florida experienced major destruction, via the storm surge and flash floods. My husband and I were lucky. We have no damage to our house, and we were only without power and internet for 28 hrs. We are both back at our desks working. </p>



<p>And bringing you the news on block theme building, custom blocks and more. </p>



<p>Enjoy and have a great weekend. </p>



<p>Yours, 💕<br /><em>Birgit</em></p>



<p><em>PS: If you want us to share your block-theme, your latest block plugin or your tutorial, feel free to email pauli@gutenbergtimes.com.  If you have questions about any of the topics, comment below and I answer within a day or two. </em></p>



<p>PPS: On Monday, I will be a guest on Nathan Wrigley&#8217;s This Week in WordPress  together with Kathy Zant and Bob Dunn. <a href="https://wpbuilds.com/live/">Join us via YouTube </a>at 9 am EDT / 13:00 UTC</p>




<div class="is-layout-flow wp-block-group has-light-background-background-color has-background"><div class="wp-block-group__inner-container">
<p><strong>Table of Contents</strong></p>



<div class="wp-block-sortabrilliant-guidepost"><ul><li><a href="https://gutenbergtimes.com/feed/#0-word-press-release-information">Developing Gutenberg and WordPress</a></li><li><a href="https://gutenbergtimes.com/feed/#1-plugins-themes-and-tools-for-nocode-site-builders-and-owners">Plugins, Themes, and Tools for #nocode site builders and owners</a></li><li><a href="https://gutenbergtimes.com/feed/#2-word-press-6-0-1-and-6-1-scheduled">Theme Development for Full Site Editing and Blocks</a></li><li><a href="https://gutenbergtimes.com/feed/#3-building-themes-for-fse-and-word-press">Building Blocks and Tools for the Block editor. </a></li><li><a href="https://gutenbergtimes.com/feed/#5-s">Upcoming WordPress events</a><ul><li><a href="https://gutenbergtimes.com/feed/#1-l">Learn WordPress Online Meetups</a></li></ul></li></ul></div>
</div></div>




<h2 id="0-word-press-release-information">Developing Gutenberg and WordPress</h2>



<p>Gutenberg 14.2 was released. Release lead <strong><a href="https://twitter.com/c_z_a_p_l_a">Michal Czaplinski</a></strong>, posted about <a href="https://make.wordpress.org/core/2022/09/30/whats-new-in-gutenberg-14-2-28-september/"><strong>What’s new in Gutenberg 14.2? (28 September)</strong></a>. He highlighted the following features: </p>



<ul>
<li><a href="https://make.wordpress.org/core/2022/09/30/whats-new-in-gutenberg-14-2-28-september/#smarter-suggestions-for-query-loop-block-variations">Smarter suggestions for Query Loop block variations&nbsp;</a></li>



<li><a href="https://make.wordpress.org/core/2022/09/30/whats-new-in-gutenberg-14-2-28-september/#improvements-to-the-writing-flow">Improvements to the writing flow</a></li>



<li><a href="https://make.wordpress.org/core/2022/09/30/whats-new-in-gutenberg-14-2-28-september/#letter-spacing">Letter spacing in headings</a></li>



<li><a href="https://make.wordpress.org/core/2022/09/30/whats-new-in-gutenberg-14-2-28-september/#a-more-polished-calendar-block">A more polished Calendar block</a></li>



<li><a href="https://make.wordpress.org/core/2022/09/30/whats-new-in-gutenberg-14-2-28-september/#new-banners-and-footers-block-pattern-categories">New “Banners” and “Footers” block pattern categories</a></li>



<li><a href="https://make.wordpress.org/core/2022/09/30/whats-new-in-gutenberg-14-2-28-september/#autocompletion-for-links">Autocompletion for links</a></li>
</ul>



<p><strong>Anne McCarthy</strong> published another post in the series of  Core Editor Improvements, titled <a href="https://make.wordpress.org/core/2022/09/26/core-editor-improvement-catalyst-for-creativity/"><strong>Catalyst for creativity and control</strong></a>. &#8220;This post goes through each category of design tools, what blocks they are available in, the progress made, and some fun examples showing off what you can now do. The result is a catalyst for creativity, with more to come on the horizon. &#8221; she wrote. The design tools listed are:</p>



<ul>
<li>Typography Controls</li>



<li>Dimensions and Spacing</li>



<li>Color Controls</li>



<li>Layout Support</li>



<li>Border Controls</li>
</ul>



<a href="https://make.wordpress.org/core/2022/09/26/core-editor-improvement-catalyst-for-creativity/"><img /></a><em>Blocks with Typography Support</em> from the post <a href="https://make.wordpress.org/core/2022/09/26/core-editor-improvement-catalyst-for-creativity/">Core Editor Improvement: Catalyst for creativity and control</a>



<p><strong>Joen Asmussen</strong> posted an update from the WordPress design team: <strong> <a href="https://make.wordpress.org/design/2022/09/26/design-share-sep-12-sep-23/">Design Share: Sep 12 – Sep 23</a></strong>. The team explored how it would look if the Documentation Outline would be integrated into the List View. There is quite some overlap between the two features that could be simplified. There is ongoing work done on the placeholder designs for the Site editor. New inserter preview and features are explored and many more updates. They could all user your input on how things could be improved for the content creator and site builder. Check out a <a href="https://github.com/WordPress/gutenberg/pull/44163">proposed refresh</a> of the patterns that come bundled with the Query Loop block. </p>



<a href="https://github.com/WordPress/gutenberg/pull/44163"><img /></a>Proposed Query Loop pattern seen <a href="https://make.wordpress.org/design/2022/09/26/design-share-sep-12-sep-23/">Design Share: Sep 12 – Sep 23</a>



<div class="is-layout-flow wp-block-group has-light-background-background-color has-background"><div class="wp-block-group__inner-container">
<p><strong>🎙️ </strong> New episode:  <a href="https://gutenbergtimes.com/podcast/gutenberg-changelog-73-design-tools-in-wordpress-6-1/">Gutenberg Changelog #73 – Gutenberg 14.1, next default theme, design Tools in WordPress 6.1</a> with special guest, Channing Ritter, and host Birgit Pauli-Haack</p>
</div></div>



<h2 id="1-plugins-themes-and-tools-for-nocode-site-builders-and-owners">Plugins, Themes, and Tools for #nocode site builders and owners</h2>



<p><strong>Nick Diego</strong> built his Slidedeck for WCUS entirely out of blocks. He now wrote a <a href="https://nickdiego.com/why-i-built-my-wordcamp-us-presentation-out-of-blocks/">post about </a><strong><a href="https://nickdiego.com/why-i-built-my-wordcamp-us-presentation-out-of-blocks/">the Why and the How</a> </strong>Diego also mentioned he used 724 blocks in his slide deck. </p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><strong>Jamie Marsland </strong>explains that <a href="https://www.youtube.com/watch?v=LK3L1emUWiw"><strong>Custom Post Designs are easy with WordPress Block Themes &#8211; no plugins needed!</strong></a> in his latest YouTube Video. In this 9 min-video, you&#8217;ll learn </p>



<ul>
<li>How to create a custom post design </li>



<li>How to create a custom post category page </li>



<li>How to use the Custom Post Type UI plugin </li>



<li>Use Custom Post Type UI plugin with a WordPress Block Theme </li>



<li>How to create a custom archive with Custom Post Type UI plugin</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><a href="https://twitter.com/kevinbatdorf"><strong>Kevin Batdorf</strong> </a>published his new plugin <a href="https://wordpress.org/plugins/code-block-pro/"><strong>Code Block Pro</strong></a>.  It provides you with an editor that runs your code directly through the same rendering engine that is used by the popular VS Code editor.</p>



<h2 id="2-word-press-6-0-1-and-6-1-scheduled">Theme Development for Full Site Editing and Blocks</h2>



<p>Nick Diego&#8217;s WCUS talk is now available on WordPressTV: <a href="https://wordpress.tv/2022/09/24/lets-build-a-custom-block-in-15-minutes/"><strong>Let’s Build a Custom Block in 15 Minutes</strong></a></p>



<p><strong>Carolina Nymark</strong> posted a tutorial on <a href="https://fullsiteediting.com/lessons/creating-block-templates-for-custom-post-types/"><strong>Creating templates for custom post types</strong></a>, as &#8220;several theme developers have reached out asking how to create full site editing templates for custom post types.&#8221; In this lesson, Nymark explains: </p>



<ul>
<li>How to create templates for custom post types in the Site Editor</li>



<li>How to add file-based templates in your theme</li>



<li>How to add default blocks to the post type templates</li>
</ul>




<div class="ngl-articles colored ngl-articles-full ngl-articles-frontend">

	
	<div class="ngl-articles-wrap ngl-articles-webview">
	
						
			<div class="ngl-article-mobile">
				<table width="100%" border="0" cellpadding="0" cellspacing="0">
					<tr>
						<td valign="top">
							<div class="ngl-article-mob-wrap">
							<div class="ngl-article-featured"><a href="https://gutenbergtimes.com/building-a-block-based-header-template-in-a-classic-theme/" target="_self" rel=""><img src="https://i0.wp.com/gutenbergtimes.com/wp-content/uploads/2022/09/tt1-block-header-video.jpg?w=652&ssl=1" /></a></div><div class="ngl-article-title"><a href="https://gutenbergtimes.com/building-a-block-based-header-template-in-a-classic-theme/" target="_self" rel=""><span>Building a Block-Based  Header Template in a Classic Theme</span></a></div><div class="ngl-article-excerpt">This<span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0">step-by-step tutorial </span><span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0">teaches you how to build a block-based header template in a classic theme in WordPress, including CSS tweaks, template parts, pattern creation, and more.</span><span>Theme authors who are considering adopting block template parts, especially those with classic themes and existing user bases, this tutorial is for you.  It touches on a few different features and how they come together.</span> <a href="https://gutenbergtimes.com/building-a-block-based-header-template-in-a-classic-theme/" class="ngl-article-read-more" target="_self">Read more.</a></div>							</div>
						</td>
					</tr>
				</table>
			</div>
			
			
			

		
		
		</div>

</div>




<p><strong>Rich Tabor</strong> wrote a guide on <a href="https://richtabor.com/content-only-editing/"><strong>How to simplify WordPress patterns with content-only block editing</strong></a>, coming to WordPress via the version 6.1. &#8220;When applied to a block pattern, all content blocks nested within continue to be editable, but moving and removing is disabled, and all design controls are hidden&#8221; Tabor explained. </p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><strong><a href="https://twitter.com/ViewFromTheBox">Jacob Martella</a></strong> continues his series  of Creating a block Theme with this week&#8217;s <a href="https://www.youtube.com/watch?v=WITAypwayJo"><strong>Creating the Archive and 404 Templates</strong></a>. And you can learn it in less than 8 minutes. </p>




<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 2022&#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. 2021 on. Updated by yours truly.  <a href="https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/keeping-up-with-gutenberg-index-2020/"><em>The index 2020 is here</em></a></p>




<h2 id="3-building-themes-for-fse-and-word-press">Building Blocks and Tools for the Block editor. </h2>



<p>New Course to Learn.WordPress: <a href="https://learn.wordpress.org/course/using-the-wordpress-data-layer/"><strong>Using the WordPress Data Layer</strong></a> &#8211; This course by <strong><a href="https://twitter.com/adamzielin">Adam Zielinski</a></strong> provides a step-by-step introduction to all the data layer concepts, a JavaScript library used throughout the WordPress editor to read and write data. Whenever you save a post, insert a page list block, or select the post author – it’s all powered by the WordPress data layer.</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p><strong>Ryan Welcher</strong> explored <a href="https://youtu.be/oMBZViYiTvc"><strong>three new features for developers coming in WordPress 6.1 release</strong></a>. He covered</p>



<ul>
<li>Query Loop block variations</li>



<li>Using the render property in a block.json file</li>



<li>Block-based template parts in Classic themes</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />



<p>The author team <strong>Lindsey Bell</strong>, <strong>Lax Mariappan</strong> and <strong>Ximena Kilroe</strong> of Webdev Studios published <a href="https://webdevstudios.com/2022/09/22/optimizing-wordpress-block-editor/"><strong>Optimizing the WordPress Block Editor Experience</strong></a> in which they outline how to make it easier for editors to perform their jobs, using ACF, ACF blocks, and other tools. </p>




<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. <br />Have you been using it? Hit reply and let me know.</p>



<p><img alt="GitHub all releases" src="https://img.shields.io/github/downloads/bph/gutenberg/total?style=for-the-badge" /></p>




<h2 id="5-s">Upcoming WordPress events</h2>



<p><strong>Oct 11 &#8211; 13, 2022 </strong><br /><strong><a href="https://woosesh.com/" target="_blank" rel="noreferrer noopener">WooSesh</a> <a href="https://woosesh.com/" target="_blank" rel="noreferrer noopener"> A virtual conference for WooCommerce</a></strong><br />The schedule is now available.  I am looking forward to Darren Ethier&#8217;s <strong>The Future of Personalizing Your Storefront</strong> and what WooCommerce is doing in the era of WordPress Full Site Editing (FSE) on October 12 at 1pm EDT / 17:00 UTC.</p>



<p><a href="https://central.wordcamp.org/schedule/"><strong>Have a look at the schedule of upcoming WordCamps</strong></a>.</p>



<h3 id="1-l">Learn WordPress Online Meetups</h3>



<p>October 17, 2022, at 4:00 PM EDT / 20:00 UTC<br /><strong><a href="https://www.meetup.com/learn-wordpress-online-workshops/events/288666247/">Part 1: Re-Creating Block Designs</a></strong></p>



<p><strong>Recorded and available on WordPressTV</strong></p>



<ul>
<li><a href="https://wordpress.tv/2022/09/30/lets-code-creating-your-primary-templates-in-the-editor/"><strong>Let’s code: creating your primary templates in the Editor</strong></a></li>



<li><a href="https://wordpress.tv/2022/09/29/adding-a-pattern-from-the-pattern-directory-to-your-theme/"><strong>Adding a pattern from the pattern directory to your theme</strong></a></li>



<li><a href="https://wordpress.tv/2022/09/28/personalizing-your-404-template/"><strong>Personalizing your 404 Template</strong></a></li>



<li><strong><a href="https://wordpress.tv/2022/09/25/block-theme-global-styles-customization/">Block and theme global styles customization</a></strong></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide" />




<p>Featured Image: <a href="https://wordpress.org/photos/photo/3796246a53/">Buildings, Roads, Bangkok</a> by Kaushik Baroliya, found on WordPress Photos. </p>



<hr class="wp-block-separator has-css-opacity is-style-wide" />



<p class="has-text-align-left"><strong>Don&#8217;t want to miss the next Weekend Edition? </strong></p>



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



<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, 01 Oct 2022 05:32: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: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:40;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s: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:"Post Status: Drinking from the Firehose";s: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:"https://poststatus.com/?p=126244";s: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:50:"https://poststatus.com/drinking-from-the-firehose/";s: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:1761:"<div class="e-content">
<p>Happy Friday!</p>



<p>We're finding it increasingly tough to get all the best WordPress news and info into a reasonably-sized email, but we're doing it by making lots of cuts. </p>



<p>In the newsletter, you'll see links to the full weekly digests for the <a href="https://poststatus.com/wordpress-biz-roundup-for-the-week-of-september-26-2022/" target="_blank" rel="noreferrer noopener">Business</a>, <a href="https://poststatus.com/wordpress-tech-roundup-for-the-week-of-september-26-2022/" target="_blank" rel="noreferrer noopener">Tech</a>, <a href="https://poststatus.com/wordpress-careers-roundup-for-the-week-of-september-26-2022/" target="_blank" rel="noreferrer noopener">Career</a>, and <a href="https://poststatus.com/wordpress/community/" target="_blank" rel="noreferrer noopener">Community</a> sections we're focusing on now. Plus we've added a new ongoing section focused on <a href="https://poststatus.com/wordpress-6-1-beta-2-serverless-wordpress-annual-meetup-survey-catalyst-for-creativity/" target="_blank" rel="noreferrer noopener">WordPress project and contributor news</a> from core and all the teams. </p>



<p>You can read all of this week's newsletter <a href="https://mailchi.mp/poststatus/34-of-cms-sites-using-page-builders-wordpress-61-beta-2-out-for-testing?e=[UNIQID]" target="_blank" rel="noreferrer noopener">here</a>. </p>



<p>And if you want everything without the cuts, head over to <a href="https://poststatus.com/the-week/">poststatus.com/the-week/</a>.</p>



<p>Get some rest and recharge this weekend! (I hope to.) See you next week! </p>



<p><strong>–Cory Miller</strong></p>
</div><p>This article was published at Post Status — the community for WordPress professionals.</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, 01 Oct 2022 00:00:38 +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:48:"<span class='p-author h-card'>Cory Miller</span>";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:"
	
	
	
	
	
	
";s: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:"Gutenberg Times: Building a Block-Based  Header Template in a Classic Theme";s: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=22282";s: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:85:"https://gutenbergtimes.com/building-a-block-based-header-template-in-a-classic-theme/";s: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:38988:"<p>WordPress 6.1 will allow classic theme authors to begin <a href="https://make.wordpress.org/themes/2022/09/12/testing-and-feedback-for-using-block-based-template-parts-in-classic-themes/">using block-based template parts</a>. It is one of the most exciting features of the release and one that has long been on my personal wish-list.</p>



<p>Over the past couple of weeks, I&#8217;ve been doing a deep dive into this new feature, wondering how it could fit into real-world projects. My conclusion was:</p>



<ul>
<li>If building a new classic theme from scratch, block template parts should be relatively easy to insert into it.</li>



<li>If adding block template parts into a classic theme, there are likely a few hurdles that you&#8217;ll need clear, hoops to jump through, and even potential mountains to climb.</li>
</ul>



<p>The latter is what this tutorial will focus on. There are 1,000s of classic themes out there in the wild, and the most likely use case for this feature will be the developers who are gradually adopting FSE features.</p>



<p>With that use case in mind, I picked a battle-tested classic theme that is still somewhat recent: Twenty Twenty-One. It already had some of the foundational pieces, such as supporting the block-based content editor. However, it didn&#8217;t have support for newer FSE features, such as <code>theme.json</code>.</p>



<p>The other goal for this walk-through was to show a more advanced use case rather than only cover the basics. Ultimately, this helped reveal some of the issues theme authors might face as they go on this journey.</p>



<p>In the end, I created hero header for Twenty Twenty-One that provides users a ton of flexibility for customizing its output on the front end:</p>



<div class="is-layout-constrained wp-block-group has-light-background-background-color has-background">
<p class="has-large-font-size">Table of Contents</p>



<div class="wp-block-sortabrilliant-guidepost"><ul><li><a href="https://gutenbergtimes.com/feed/#0-setting-the-groundwork">Setting the Groundwork</a></li><li><a href="https://gutenbergtimes.com/feed/#1-clearing-those-hurdles">Clearing Those Hurdles</a><ul><li><a href="https://gutenbergtimes.com/feed/#2-adding-theme-json-support">Adding theme.json Support</a></li><li><a href="https://gutenbergtimes.com/feed/#3-style-overrides">Style Overrides</a></li></ul></li><li><a href="https://gutenbergtimes.com/feed/#4-building-a-block-header-template-part">Building a Block Header Template Part</a><ul><li><a href="https://gutenbergtimes.com/feed/#5-inserting-branding-and-navigation">Inserting Branding and Navigation</a></li><li><a href="https://gutenbergtimes.com/feed/#6-extra-locking-blocks">Extra: Locking Blocks</a></li><li><a href="https://gutenbergtimes.com/feed/#7-copying-the-header-part-to-the-theme">Copying the Header Part to the Theme</a></li></ul></li><li><a href="https://gutenbergtimes.com/feed/#8-leveling-up-with-patterns-and-media">Leveling Up With Patterns and Media</a></li><li><a href="https://gutenbergtimes.com/feed/#9-cleaning-up-the-user-experience">Cleaning Up the User Experience</a></li><li><a href="https://gutenbergtimes.com/feed/#10-resources-to-learn-more">Resources To Learn More</a></li></ul></div>
</div>



<img />Hero header built with a block template part.



<p>I invite you to come along with me down this path. I did all of the hard work ahead of time in hopes that it will help those of you who want to give this new feature a try.</p>



<p>If you&#8217;d rather skip the walk-through and dive right into the code, no worries. I extracted everything I am covering into this tutorial and put it in a child theme named <a href="https://github.com/justintadlock/tt1-block-parts">TT1 Block Parts</a>. Child themes are an easy way to test features without directly changing the parent theme, so I encourage going that route too.</p>



<h2 id="0-setting-the-groundwork">Setting the Groundwork</h2>



<p>This feature will be available as part of the WordPress 6.1 release.  To test it now, you must either install the <a href="https://wordpress.org/news/2022/09/wordpress-6-1-beta-2-now-available/">WordPress 6.1 Beta 2</a> or the latest version of the <a href="https://wordpress.org/plugins/gutenberg">Gutenberg plugin</a>.  You will also need a classic theme active on your site.  Use <a href="https://wordpress.org/themes/twentytwentyone/">Twenty Twenty-One</a> to follow along with each step exactly.</p>



<p>Before building a block-based template part in a classic theme, you must enable the feature via the <code>block-template-parts</code> theme-support flag in your theme&#8217;s <code>functions.php</code> file.</p>


<pre class="wp-block-code"><div><code class="hljs language-php"><span class="hljs-meta">&lt;?php</span>
add_action( <span class="hljs-string">'after_setup_theme'</span>, <span class="hljs-string">'tt1_block_parts_setup'</span> );

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">tt1_block_parts_setup</span><span class="hljs-params">()</span> </span>{
    add_theme_support( <span class="hljs-string">'block-template-parts'</span> );
}</code></div><small class="shcb-language" id="shcb-language-6"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">PHP</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">php</span><span class="shcb-language__paren">)</span></small></pre>


<p>This code will create a new <em>Appearance &gt; Template Parts</em> page in the WordPress admin:</p>



<img />Initial template parts screen when no parts are registered.



<p>At this point, it&#8217;s empty, but you and your users will be able to customize any existing block template parts from this screen once you&#8217;ve created them. Let&#8217;s do that now.</p>



<p>The next step is building a header template part, which will live in the theme&#8217;s <code>parts</code> folder (this is where all block template parts go). The easiest way to get started is to create an empty <code>parts/header.html</code> file. We&#8217;ll build this out from the site editor in the next steps.</p>



<p>Now, we need to replace Twenty Twenty-One&#8217;s header with our custom one. Open the theme&#8217;s <code>header.php</code> template and find this line of code:</p>


<pre class="wp-block-code"><div><code class="hljs language-php"><span class="hljs-meta">&lt;?php</span> get_template_part( <span class="hljs-string">'template-parts/header/site-header'</span> ); <span class="hljs-meta">?&gt;</span></code></div><small class="shcb-language" id="shcb-language-7"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">PHP</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">php</span><span class="shcb-language__paren">)</span></small></pre>


<p>Replace it with the following:</p>


<pre class="wp-block-code"><div><code class="hljs language-php"><span class="hljs-meta">&lt;?php</span> block_template_part( <span class="hljs-string">'header'</span> ); <span class="hljs-meta">?&gt;</span></code></div><small class="shcb-language" id="shcb-language-8"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">PHP</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">php</span><span class="shcb-language__paren">)</span></small></pre>


<p>It won&#8217;t be that easy with every theme. Fortunately, Twenty Twenty-One already separated its primary template code into a PHP-based template part, so we merely needed to change one function call with another. For other themes, it may require removing large chunks of code. It just depends on the theme itself.</p>



<h2 id="1-clearing-those-hurdles">Clearing Those Hurdles</h2>



<p>Most classic themes were simply not designed to handle blocks outside the content area. This is even true of Twenty Twenty-One because the block-based template editor didn&#8217;t exist when it was created.</p>



<p>Each theme is unique, so there is no way for me to realistically foretell what sort of adventures you might go on to get block template parts to work. However, what I can tell you is what I changed with Twenty Twenty-One.</p>



<p>The goal here is transparency rather than glossing over those very likely hurdles you&#8217;ll need to jump, but do not let them scare you away.</p>



<h3 id="2-adding-theme-json-support">Adding theme.json Support</h3>



<p>Based on my tests with Twenty Twenty-One and other themes, <a href="https://developer.wordpress.org/themes/advanced-topics/theme-json/">opting into <code>theme.json</code></a> was almost a must-have. I had the most most success by configuring <code>settings.layout</code> to support wide/full alignments (I used existing CSS properties from the theme for this). I also needed <code>settings.spacing.blockGap</code> to have control over the spacing between menu items in the Navigation block.</p>



<p>With that in mind, I strongly recommend starting with a simple <code>theme.json</code> file in your theme, assuming it doesn&#8217;t already have one:</p>


<pre class="wp-block-code"><div><code class="hljs language-json">{
    <span class="hljs-attr">"version"</span>: <span class="hljs-number">2</span>,
    <span class="hljs-attr">"settings"</span>: {
        <span class="hljs-attr">"layout"</span>: {
            <span class="hljs-attr">"contentSize"</span>: <span class="hljs-string">"var( --responsive--default-width )"</span>,
            <span class="hljs-attr">"wideSize"</span>: <span class="hljs-string">"var( --responsive--alignwide-width )"</span>
        },
        <span class="hljs-attr">"spacing"</span>: {
            <span class="hljs-attr">"blockGap"</span>: <span class="hljs-literal">true</span>
        }
    }
}</code></div><small class="shcb-language" id="shcb-language-9"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">JSON / JSON with Comments</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">json</span><span class="shcb-language__paren">)</span></small></pre>


<h3 id="3-style-overrides">Style Overrides</h3>



<p>I also had to make a few CSS overrides (editor and front end) so that everything was a bit less wonky. Remember, we&#8217;re pushing blocks into a place they have never been before in the theme, so some adjustments are a given.</p>



<p>The following CSS is all that was needed to make the block template part work. The most time-consuming aspect was tracking this stuff down in a theme that I wasn&#8217;t particularly knowledgeable of.</p>


<pre class="wp-block-code"><div><code class="hljs language-css"><span class="hljs-selector-class">.wp-block-navigation</span><span class="hljs-selector-pseudo">:not(.has-background)</span> <span class="hljs-selector-class">.wp-block-navigation__container</span> {
    <span class="hljs-attribute">background</span>: transparent;
}

<span class="hljs-selector-class">.wp-block-cover__inner-container</span> &gt; * {
    <span class="hljs-attribute">max-width</span>: none <span class="hljs-meta">!important</span>;
}

<span class="hljs-selector-class">.wp-block</span> {
    <span class="hljs-attribute">max-width</span>: none;
}

<span class="hljs-selector-class">.wp-block-cover</span> <span class="hljs-selector-class">.wp-block-site-title</span><span class="hljs-selector-class">.has-text-color</span> <span class="hljs-selector-tag">a</span> {
    <span class="hljs-attribute">color</span>: inherit;
}

<span class="hljs-selector-class">.is-root-container</span> &gt; <span class="hljs-selector-pseudo">:first-child</span> {
    <span class="hljs-attribute">margin-top</span>: <span class="hljs-number">0</span>;
}</code></div><small class="shcb-language" id="shcb-language-10"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">CSS</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">css</span><span class="shcb-language__paren">)</span></small></pre>


<h2 id="4-building-a-block-header-template-part">Building a Block Header Template Part</h2>



<p>Before we get to the more advanced, media-based version of a header template part, let&#8217;s stick with the basics. I promise to cover some of the fun stuff as we move along. For now, <em>let&#8217;s learn to crawl before attempting to walk.</em></p>



<p>Go back to the <em>Appearance &gt; Template Parts</em> screen in the WordPress admin that you created in the first step. Click on the &#8220;header&#8221; template part, which will take you to the template editor. You should see an empty canvas on which to place your creation.</p>



<p>I started with a Cover block. It&#8217;s a simple starting point but one of the most flexible blocks in WordPress, providing end-users with tons of customization options out of the gate.</p>



<img />Adding a Cover block to the Header template part.



<p>I kept my block settings simple and selected the following:</p>



<ul>
<li>Overlay Color: The theme&#8217;s default gray</li>



<li>Overlay Opacity: 100</li>
</ul>



<h3 id="5-inserting-branding-and-navigation">Inserting Branding and Navigation</h3>



<p>I wanted to keep Twenty Twenty-One&#8217;s default header elements in place, which meant recreating the theme&#8217;s branding and navigation menu while not going overboard with additional elements.</p>



<p>To achieve this, I added a 50/50 Columns block (the widths of these could be adjusted). In the left column, I inserted Stack with Site Title and Site Tagline. On the right, I placed a Navigation block.</p>



<img />Adding branding and a navigation menu.



<p>The individual settings for these blocks are not particularly important. You can customize them to your liking. The most vital ones are likely justifying the Stack block left and Navigation block right. I also bumped up the block spacing to space out the nav menu items.</p>



<p>This is where you can have a lot of fun, and I don&#8217;t want to spoil it with a step-by-step guide on what stylistic settings to choose. <em>Experiment. Go wild!</em></p>



<h3 id="6-extra-locking-blocks">Extra: Locking Blocks</h3>



<p>One of my favorite tools as a theme author is the ability to lock blocks in place with more complex templates or patterns. One of the primary use cases for this is to prevent end-users from accidentally removing an important block, such as the Site Title, or moving things around and being unable to reconfigure them. The site header is one easiest areas to mess up.</p>



<p>For the individual Column block wrapping the Site Title and Site Tagline blocks, I selected all three of the currently-available lock settings:</p>



<ul>
<li>Disable movement</li>



<li>Prevent removal</li>



<li>Apply to all blocks inside</li>
</ul>



<img />Locking the header branding Column block and its content.



<p>I also set a lock on the outer Columns block to prevent users from inadvertently moving or removing it.</p>



<p>By default, end-users can unlock a block by clicking the &#8220;lock&#8221; toolbar icon. The extra step primarily serves as a warning to only take this action if they feel comfortable doing so. It&#8217;s possible to even prevent this from the development end, but that&#8217;s outside the scope of this tutorial. To go even more advanced with block locking, take a read the the <a href="https://developer.wordpress.org/block-editor/how-to-guides/curating-the-editor-experience/">Curating the Editor Experience</a> documentation and its section on the Locking APIs.</p>



<h3 id="7-copying-the-header-part-to-the-theme">Copying the Header Part to the Theme</h3>



<p>Because we built this template part within the editor, all of our customizations are stored in the database.  If planning to distribute this theme to others, you should copy all of the blocks from the editor to your <code>parts/header.html</code> file.</p>



<p>The final code for my template part was:</p>


<pre class="wp-block-code"><div><code class="hljs language-xml"><span class="hljs-comment">&lt;!-- wp:cover {"overlayColor":"gray","minHeight":450,"minHeightUnit":"px","style":{"spacing":{"padding":{"top":"4rem","right":"4rem","bottom":"4rem","left":"4rem"}},"color":{}}} --&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"wp-block-cover"</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"padding-top:4rem;padding-right:4rem;padding-bottom:4rem;padding-left:4rem;min-height:450px"</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">aria-hidden</span>=<span class="hljs-string">"true"</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"wp-block-cover__background has-gray-background-color has-background-dim-100 has-background-dim"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"wp-block-cover__inner-container"</span>&gt;</span><span class="hljs-comment">&lt;!-- wp:columns {"verticalAlignment":"center","lock":{"move":true,"remove":true}} --&gt;</span>
	<span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"wp-block-columns are-vertically-aligned-center"</span>&gt;</span><span class="hljs-comment">&lt;!-- wp:column {"verticalAlignment":"center","width":"50%","templateLock":"all","lock":{"move":true,"remove":true}} --&gt;</span>
	<span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"wp-block-column is-vertically-aligned-center"</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"flex-basis:50%"</span>&gt;</span><span class="hljs-comment">&lt;!-- wp:group {"lock":{"move":false,"remove":false},"style":{"spacing":{"blockGap":"var:preset|spacing|30"}},"layout":{"type":"flex","orientation":"vertical","justifyContent":"left"}} --&gt;</span>
	<span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"wp-block-group"</span>&gt;</span><span class="hljs-comment">&lt;!-- wp:site-title {"style":{"typography":{"textTransform":"uppercase","fontSize":"1.5rem"},"elements":{"link":{"color":{"text":"var:preset|color|white"}}}},"textColor":"white"} /--&gt;</span>
	
	<span class="hljs-comment">&lt;!-- wp:site-tagline {"style":{"typography":{"fontSize":"16px"}},"textColor":"white"} /--&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
	<span class="hljs-comment">&lt;!-- /wp:group --&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
	<span class="hljs-comment">&lt;!-- /wp:column --&gt;</span>
	
	<span class="hljs-comment">&lt;!-- wp:column {"verticalAlignment":"center","width":"50%"} --&gt;</span>
	<span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"wp-block-column is-vertically-aligned-center"</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"flex-basis:50%"</span>&gt;</span><span class="hljs-comment">&lt;!-- wp:navigation {"ref":2586,"textColor":"white","layout":{"type":"flex","justifyContent":"right"},"style":{"typography":{"fontSize":"16px"},"spacing":{"blockGap":"2rem"}}} /--&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
	<span class="hljs-comment">&lt;!-- /wp:column --&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
	<span class="hljs-comment">&lt;!-- /wp:columns --&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
<span class="hljs-comment">&lt;!-- /wp:cover --&gt;</span></code></div><small class="shcb-language" id="shcb-language-11"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">HTML, XML</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">xml</span><span class="shcb-language__paren">)</span></small></pre>


<p>After saving that file to your theme, you also need to clear your customizations from the database.  You can do this by clicking on the Template Parts admin menu item and selecting the <code>⋮</code> (vertical ellipsis) button for the Header part and clicking the &#8220;Clear customizations&#8221; option.</p>



<img />Clearing customizations from the Header template part.



<p><em>As you can tell from the above screenshot, I have been tinkering with a lot of template part ideas.</em></p>



<h2 id="8-leveling-up-with-patterns-and-media">Leveling Up With Patterns and Media</h2>



<p>A plain ol&#8217; dark gray header background might not be too exciting. As promised, we&#8217;ll kick this up a notch by integrating with another block-related featured that classic themes can opt into: <a href="https://developer.wordpress.org/themes/advanced-topics/block-patterns/">patterns</a>. We&#8217;ll use this to add a video background (or, image, if you prefer).</p>



<p>Because block template parts are HTML, it means that you cannot do anything dynamic, such as accurately reference media via your theme&#8217;s URL path. You need PHP to do this. That&#8217;s where patterns come in.</p>



<p>Instead of putting all of the block code into <code>parts/header.html</code>, you now only need one line of code:</p>


<pre class="wp-block-code"><div><code class="hljs language-xml"><span class="hljs-comment">&lt;!-- wp:pattern {"slug":"tt1-block-parts/header-video"} /--&gt;</span></code></div><small class="shcb-language" id="shcb-language-12"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">HTML, XML</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">xml</span><span class="shcb-language__paren">)</span></small></pre>


<p>This references a &#8220;Header Video&#8221; pattern that we will build in these next steps.</p>



<p>WordPress will automatically register any patterns found in a theme&#8217;s <code>patterns</code> folder. So, the next step is to create a <code>patterns/header-video.php</code> file with a few lines of info:</p>


<pre class="wp-block-code"><div><code class="hljs language-xml"><span class="php"><span class="hljs-meta">&lt;?php</span>
<span class="hljs-comment">/*
 * Title: Header - Video
 * Slug: tt1-block-parts/header-video
 * Viewport Width: 1024
 * Categories: header, twentytwentyone
 * Inserter: yes
 */</span>
<span class="hljs-meta">?&gt;</span></span>
<span class="hljs-comment">&lt;!-- Replace with block code. --&gt;</span></code></div><small class="shcb-language" id="shcb-language-13"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">HTML, XML</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">xml</span><span class="shcb-language__paren">)</span></small></pre>


<p>When you&#8217;ve built out your header, just remove the <code>&lt;!-- Replace with block code. --&gt;</code> and put the block HTML code in its place.</p>



<p>Let&#8217;s jump back to the editor. Using the same header from earlier, we can make a few simple changes to the Cover block to liven things up a bit.</p>



<ul>
<li>Click the &#8220;Add Media&#8221; toolbar button and select a image or video (your preference).</li>



<li>Click the duotone toolbar button to put a filter over the media.</li>



<li>Remove the overlay color and adjust the opacity settings in the block inspector sidebar to your liking.</li>
</ul>



<img />Adding a video and duotone filter to the Cover block.



<p>Now, you need to copy the block code from the editor and paste it into your <code>patterns/header-video.php</code> file. However, there is one important step you must take afterward. You need to change any references to image or video files that look like the following (there may be more than one occurrence):</p>


<pre class="wp-block-code"><div><code class="hljs language-javascript">http:<span class="hljs-comment">//localhost/wp-content/uploads/2022/09/header-bg.mp4</span></code></div><small class="shcb-language" id="shcb-language-14"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">JavaScript</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">javascript</span><span class="shcb-language__paren">)</span></small></pre>


<p>Those need to reference the media file wherever it lives within your theme. Because I put my header video MP4 into my theme&#8217;s <code>assets/video</code> folder, I changed each reference to the following:</p>


<pre class="wp-block-code"><div><code class="hljs language-php"><span class="hljs-meta">&lt;?</span>= esc_url( get_theme_file_uri( <span class="hljs-string">'assets/video/header-bg.mp4'</span> ) ) <span class="hljs-meta">?&gt;</span></code></div><small class="shcb-language" id="shcb-language-15"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">PHP</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">php</span><span class="shcb-language__paren">)</span></small></pre>


<p>My final <code>patterns/header-video.php</code> code became:</p>


<pre class="wp-block-code"><div><code class="hljs language-php"><span class="hljs-meta">&lt;?php</span>
<span class="hljs-comment">/*
 * Title: Header - Video
 * Slug: tt1-block-parts/header-video
 * Viewport Width: 1024
 * Categories: header, twentytwentyone
 * Inserter: yes
 */</span>
<span class="hljs-meta">?&gt;</span>
&lt;!-- wp:cover {<span class="hljs-string">"url"</span>:<span class="hljs-string">"&lt;?= esc_url( get_theme_file_uri( 'assets/video/header-bg.mp4' ) ) ?&gt;"</span>,<span class="hljs-string">"dimRatio"</span>:<span class="hljs-number">0</span>,<span class="hljs-string">"backgroundType"</span>:<span class="hljs-string">"video"</span>,<span class="hljs-string">"minHeight"</span>:<span class="hljs-number">450</span>,<span class="hljs-string">"minHeightUnit"</span>:<span class="hljs-string">"px"</span>,<span class="hljs-string">"isDark"</span>:<span class="hljs-keyword">false</span>,<span class="hljs-string">"style"</span>:{<span class="hljs-string">"spacing"</span>:{<span class="hljs-string">"padding"</span>:{<span class="hljs-string">"top"</span>:<span class="hljs-string">"4rem"</span>,<span class="hljs-string">"right"</span>:<span class="hljs-string">"4rem"</span>,<span class="hljs-string">"bottom"</span>:<span class="hljs-string">"4rem"</span>,<span class="hljs-string">"left"</span>:<span class="hljs-string">"4rem"</span>}},<span class="hljs-string">"color"</span>:{<span class="hljs-string">"duotone"</span>:[<span class="hljs-string">"#000000"</span>,<span class="hljs-string">"#D1E4DD"</span>]}}} --&gt;
&lt;div <span class="hljs-class"><span class="hljs-keyword">class</span>="<span class="hljs-title">wp</span>-<span class="hljs-title">block</span>-<span class="hljs-title">cover</span> <span class="hljs-title">is</span>-<span class="hljs-title">light</span>" <span class="hljs-title">style</span>="<span class="hljs-title">padding</span>-<span class="hljs-title">top</span>:4<span class="hljs-title">rem</span>;<span class="hljs-title">padding</span>-<span class="hljs-title">right</span>:4<span class="hljs-title">rem</span>;<span class="hljs-title">padding</span>-<span class="hljs-title">bottom</span>:4<span class="hljs-title">rem</span>;<span class="hljs-title">padding</span>-<span class="hljs-title">left</span>:4<span class="hljs-title">rem</span>;<span class="hljs-title">min</span>-<span class="hljs-title">height</span>:450<span class="hljs-title">px</span>"&gt;&lt;<span class="hljs-title">span</span> <span class="hljs-title">aria</span>-<span class="hljs-title">hidden</span>="<span class="hljs-title">true</span>" <span class="hljs-title">class</span>="<span class="hljs-title">wp</span>-<span class="hljs-title">block</span>-<span class="hljs-title">cover__background</span> <span class="hljs-title">has</span>-<span class="hljs-title">background</span>-<span class="hljs-title">dim</span>-0 <span class="hljs-title">has</span>-<span class="hljs-title">background</span>-<span class="hljs-title">dim</span>"&gt;&lt;/<span class="hljs-title">span</span>&gt;&lt;<span class="hljs-title">video</span> <span class="hljs-title">class</span>="<span class="hljs-title">wp</span>-<span class="hljs-title">block</span>-<span class="hljs-title">cover__video</span>-<span class="hljs-title">background</span> <span class="hljs-title">intrinsic</span>-<span class="hljs-title">ignore</span>" <span class="hljs-title">autoplay</span> <span class="hljs-title">muted</span> <span class="hljs-title">loop</span> <span class="hljs-title">playsinline</span> <span class="hljs-title">src</span>="&lt;?= <span class="hljs-title">esc_url</span>( <span class="hljs-title">get_theme_file_uri</span>( '<span class="hljs-title">assets</span>/<span class="hljs-title">video</span>/<span class="hljs-title">header</span>-<span class="hljs-title">bg</span>.<span class="hljs-title">mp4</span>' ) ) ?&gt;" <span class="hljs-title">data</span>-<span class="hljs-title">object</span>-<span class="hljs-title">fit</span>="<span class="hljs-title">cover</span>"&gt;&lt;/<span class="hljs-title">video</span>&gt;&lt;<span class="hljs-title">div</span> <span class="hljs-title">class</span>="<span class="hljs-title">wp</span>-<span class="hljs-title">block</span>-<span class="hljs-title">cover__inner</span>-<span class="hljs-title">container</span>"&gt;&lt;!-- <span class="hljs-title">wp</span>:<span class="hljs-title">columns</span> </span>{<span class="hljs-string">"verticalAlignment"</span>:<span class="hljs-string">"center"</span>,<span class="hljs-string">"lock"</span>:{<span class="hljs-string">"move"</span>:<span class="hljs-keyword">true</span>,<span class="hljs-string">"remove"</span>:<span class="hljs-keyword">true</span>}} --&gt;
&lt;div <span class="hljs-class"><span class="hljs-keyword">class</span>="<span class="hljs-title">wp</span>-<span class="hljs-title">block</span>-<span class="hljs-title">columns</span> <span class="hljs-title">are</span>-<span class="hljs-title">vertically</span>-<span class="hljs-title">aligned</span>-<span class="hljs-title">center</span>"&gt;&lt;!-- <span class="hljs-title">wp</span>:<span class="hljs-title">column</span> </span>{<span class="hljs-string">"verticalAlignment"</span>:<span class="hljs-string">"center"</span>,<span class="hljs-string">"width"</span>:<span class="hljs-string">"50%"</span>,<span class="hljs-string">"templateLock"</span>:<span class="hljs-string">"all"</span>,<span class="hljs-string">"lock"</span>:{<span class="hljs-string">"move"</span>:<span class="hljs-keyword">true</span>,<span class="hljs-string">"remove"</span>:<span class="hljs-keyword">true</span>}} --&gt;
&lt;div <span class="hljs-class"><span class="hljs-keyword">class</span>="<span class="hljs-title">wp</span>-<span class="hljs-title">block</span>-<span class="hljs-title">column</span> <span class="hljs-title">is</span>-<span class="hljs-title">vertically</span>-<span class="hljs-title">aligned</span>-<span class="hljs-title">center</span>" <span class="hljs-title">style</span>="<span class="hljs-title">flex</span>-<span class="hljs-title">basis</span>:50%"&gt;&lt;!-- <span class="hljs-title">wp</span>:<span class="hljs-title">group</span> </span>{<span class="hljs-string">"lock"</span>:{<span class="hljs-string">"move"</span>:<span class="hljs-keyword">false</span>,<span class="hljs-string">"remove"</span>:<span class="hljs-keyword">false</span>},<span class="hljs-string">"style"</span>:{<span class="hljs-string">"spacing"</span>:{<span class="hljs-string">"blockGap"</span>:<span class="hljs-string">"var:preset|spacing|30"</span>}},<span class="hljs-string">"layout"</span>:{<span class="hljs-string">"type"</span>:<span class="hljs-string">"flex"</span>,<span class="hljs-string">"orientation"</span>:<span class="hljs-string">"vertical"</span>,<span class="hljs-string">"justifyContent"</span>:<span class="hljs-string">"left"</span>}} --&gt;
&lt;div <span class="hljs-class"><span class="hljs-keyword">class</span>="<span class="hljs-title">wp</span>-<span class="hljs-title">block</span>-<span class="hljs-title">group</span>"&gt;&lt;!-- <span class="hljs-title">wp</span>:<span class="hljs-title">site</span>-<span class="hljs-title">title</span> </span>{<span class="hljs-string">"style"</span>:{<span class="hljs-string">"typography"</span>:{<span class="hljs-string">"textTransform"</span>:<span class="hljs-string">"uppercase"</span>,<span class="hljs-string">"fontSize"</span>:<span class="hljs-string">"1.5rem"</span>},<span class="hljs-string">"elements"</span>:{<span class="hljs-string">"link"</span>:{<span class="hljs-string">"color"</span>:{<span class="hljs-string">"text"</span>:<span class="hljs-string">"var:preset|color|white"</span>}}}},<span class="hljs-string">"textColor"</span>:<span class="hljs-string">"white"</span>} /--&gt;

&lt;!-- wp:site-tagline {<span class="hljs-string">"style"</span>:{<span class="hljs-string">"typography"</span>:{<span class="hljs-string">"fontSize"</span>:<span class="hljs-string">"16px"</span>}},<span class="hljs-string">"textColor"</span>:<span class="hljs-string">"white"</span>} /--&gt;&lt;/div&gt;
&lt;!-- /wp:group --&gt;&lt;/div&gt;
&lt;!-- /wp:column --&gt;

&lt;!-- wp:column {<span class="hljs-string">"verticalAlignment"</span>:<span class="hljs-string">"center"</span>,<span class="hljs-string">"width"</span>:<span class="hljs-string">"50%"</span>} --&gt;
&lt;div <span class="hljs-class"><span class="hljs-keyword">class</span>="<span class="hljs-title">wp</span>-<span class="hljs-title">block</span>-<span class="hljs-title">column</span> <span class="hljs-title">is</span>-<span class="hljs-title">vertically</span>-<span class="hljs-title">aligned</span>-<span class="hljs-title">center</span>" <span class="hljs-title">style</span>="<span class="hljs-title">flex</span>-<span class="hljs-title">basis</span>:50%"&gt;&lt;!-- <span class="hljs-title">wp</span>:<span class="hljs-title">navigation</span> </span>{<span class="hljs-string">"ref"</span>:<span class="hljs-number">2586</span>,<span class="hljs-string">"textColor"</span>:<span class="hljs-string">"white"</span>,<span class="hljs-string">"layout"</span>:{<span class="hljs-string">"type"</span>:<span class="hljs-string">"flex"</span>,<span class="hljs-string">"justifyContent"</span>:<span class="hljs-string">"right"</span>},<span class="hljs-string">"style"</span>:{<span class="hljs-string">"typography"</span>:{<span class="hljs-string">"fontSize"</span>:<span class="hljs-string">"16px"</span>},<span class="hljs-string">"spacing"</span>:{<span class="hljs-string">"blockGap"</span>:<span class="hljs-string">"2rem"</span>}}} /--&gt;&lt;/div&gt;
&lt;!-- /wp:column --&gt;&lt;/div&gt;
&lt;!-- /wp:columns --&gt;&lt;/div&gt;&lt;/div&gt;
&lt;!-- /wp:cover --&gt;</code></div><small class="shcb-language" id="shcb-language-16"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">PHP</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">php</span><span class="shcb-language__paren">)</span></small></pre>


<p>As you did in the earlier step, clear any customizations from your header template part in the admin for the file from the theme to take effect.</p>



<h2 id="9-cleaning-up-the-user-experience">Cleaning Up the User Experience</h2>



<p>There is one final task that I must ask of you as a theme author. It&#8217;s not required, but it is one of those <em>nice-to-haves</em> that will make the user experience a bit nicer.</p>



<p>Remember that <code>theme.json</code> file that we created much earlier in this walk-through? Let&#8217;s add a <code>templateParts</code> section to it and register our custom header. We can add a title for our header template part that can be translated.</p>



<p>The final <code>theme.json</code> file:</p>


<pre class="wp-block-code"><div><code class="hljs language-json">{
    <span class="hljs-attr">"version"</span>: <span class="hljs-number">2</span>,
    <span class="hljs-attr">"settings"</span>: {
        <span class="hljs-attr">"layout"</span>: {
            <span class="hljs-attr">"contentSize"</span>: <span class="hljs-string">"var( --responsive--default-width )"</span>,
            <span class="hljs-attr">"wideSize"</span>: <span class="hljs-string">"var( --responsive--alignwide-width )"</span>
        },
        <span class="hljs-attr">"spacing"</span>: {
            <span class="hljs-attr">"blockGap"</span>: <span class="hljs-literal">true</span>
        }
    },
    <span class="hljs-attr">"templateParts"</span>: [
        {
            <span class="hljs-attr">"name"</span>: <span class="hljs-string">"header"</span>,
            <span class="hljs-attr">"title"</span>: <span class="hljs-string">"Header"</span>,
            <span class="hljs-attr">"area"</span>: <span class="hljs-string">"header"</span>
        }
    ]
}</code></div><small class="shcb-language" id="shcb-language-17"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">JSON / JSON with Comments</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">json</span><span class="shcb-language__paren">)</span></small></pre>


<p>Now everything is nice and polished. Pat yourself on the back for a job well done if you&#8217;ve made it this far. Block-based template parts can be a lot of fun, and they&#8217;ll put a ton of customization power into the hands of your users.</p>



<h2 id="10-resources-to-learn-more">Resources To Learn More</h2>



<ul>
<li><a href="https://gutenbergtimes.com/block-based-template-parts-for-classic-themes/">Block-Based Template Parts: A Happy Medium Between Classic and Block Themes</a></li>



<li><a href="https://developer.wordpress.org/themes/block-themes/converting-a-classic-theme-to-a-block-theme/#gradually-adopting-the-full-site-editing">Gradually Adopting FSE Features in Classic Themes</a></li>



<li><a href="https://developer.wordpress.org/themes/block-themes/templates-and-template-parts/#block-c5fa39a2-a27d-4bd2-98d0-dc6249a0801a">Block Template Parts</a></li>



<li><a href="https://developer.wordpress.org/block-editor/reference-guides/block-api/block-patterns/">Block Patterns</a></li>



<li><a href="https://developer.wordpress.org/block-editor/how-to-guides/curating-the-editor-experience/#locking-apis">Curating the Editor Experience: Locking APIs</a></li>
</ul>";s: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, 30 Sep 2022 14:46: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:14:"Justin Tadlock";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:"
	
	
	
	
	
	
";s: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:"Post Status: WordPress Careers Roundup for the Week of September 26, 2022";s: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:"https://poststatus.com/?p=126144";s: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:83:"https://poststatus.com/wordpress-careers-roundup-for-the-week-of-september-26-2022/";s: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:4502:"<div class="e-content">
<div class="wp-container-41 wp-block-group has-theme-palette-2-color has-theme-palette-8-background-color has-text-color has-background"><div class="wp-block-group__inner-container"><div class="wp-block-post-excerpt"><p class="wp-block-post-excerpt__excerpt">Craft your origin story • Pointed questions for devs to ask prospective employers • Strategies against Ageism • IBM's a**hole test • Take a pass on a &#8220;fast-paced environment.&#8221; • WordPress Translation Day • Writing Tips for Engineers • Preventing burnout as a manager </p></div>


<div class="wp-block-spacer"></div>
</div></div>



<p><strong>Walt Kania</strong> explains why you should <a href="https://thefreelancery.com/crafting-your-origin-story/">craft your origin story</a> over at the <strong>Freelancery</strong>. Walt has good advice, and most of it applies far beyond freelancing. I've only seen about three truly helpful books about freelancing on the web, and they were all free — once. Walt's is the best, hands-down, for any kind of professional contractor practicing a craft. That's how he approaches copywriting, and so should you — whatever you do. <strong>Way Smarter Freelancing: Your Real-World, Hands-On, Field Guide</strong> is available for only USD 9.95. <a href="https://thefreelancery.com/way-smarter-freelancing/"><strong>READ →</strong></a></p>



<p><strong>Jussi Pakkanen</strong> has some pointed <a href="https://nibblestew.blogspot.com/2022/09/questions-to-ask-prospective-employer.html">questions for developers to ask a prospective employer</a> during a job interview. Two good ones: Does this or any related team have a person who actively rejects proposals to improve the code base? Explicitly list out all the people in the organization who are needed to authorize a small change, like a typo in a log message. <strong><a href="https://nibblestew.blogspot.com/2022/09/questions-to-ask-prospective-employer.html">MORE →</a></strong></p>



<p>Sadly, these &#8220;<a href="https://www.aarp.org/work/job-search/getting-hired-after-50/">5 Secrets to Getting Hired After 50</a>&#8221; from the AARP are mostly about getting past age discrimination, especially the advice to &#8220;polish your appearance.&#8221; But, &#8220;According to <a href="https://www.aarp.org/work/age-discrimination/job-interviews/">some research</a>, once hiring managers were able to interview applicants face-to-face, they were 40 percent less likely to hire older workers than they were to hire a younger applicant with the same skills.&#8221; <a href="https://www.aarp.org/work/job-search/getting-hired-after-50/"><strong>MORE →</strong></a></p>



<p>Supposedly <strong>IBM</strong> used to have <a href="https://johnpublic.mataroa.blog/blog/the-asshole-test/">an a**hole test</a> to see how job candidates behaved in a group that was given an impossible task. Mean, and maybe unfair but also a worthwhile thought experiment or even a fun team-building exercise when no one is being evaluated by <strong>HR</strong>. How do you think you would behave? <strong><a href="https://johnpublic.mataroa.blog/blog/the-asshole-test/">MORE →</a></strong></p>



<p><strong>The Misanthropic Developer</strong> casts a cold eye at <a href="https://misanthropic.dev/2022/09/11/fast-paced-environments/">job listings that mention a “Fast Paced Environment.”</a> Why isn’t this a selling point? &#8220;It’s often (correctly) interpreted as code for &#8216;overworked and understaffed.'&#8221; <a href="https://misanthropic.dev/2022/09/11/fast-paced-environments/"><strong>MORE →</strong></a></p>



<h2>Quick Links</h2>



<ul><li><strong>September 28</strong> is<a href="https://make.wordpress.org/polyglots/2022/09/06/announcement-wordpress-translation-day-2022/"> WordPress Translation Day</a>! Learn all about it and how you can help at <a href="https://weglot.com/blog/wordpress-translation-day-2022/">the Weglot blog</a>. <strong><a href="https://weglot.com/blog/wordpress-translation-day-2022/">MORE →</a></strong></li><li>Tips on <a href="https://www.heinrichhartmann.com/posts/writing/">Writing for Engineers</a> from the life learnings of <strong>Heinrich Hartmann</strong>.</li><li>From <strong>GitLab</strong>: <a href="https://about.gitlab.com/blog/2022/05/03/preventing-burnout-a-managers-toolkit/">Preventing burnout: A manager's toolkit</a>.</li></ul>
</div><p>This article was published at Post Status — the community for WordPress professionals.</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, 30 Sep 2022 13:30: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:47:"<span class='p-author h-card'>Dan Knauss</span>";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:"
	
	
	
	
	
	
";s: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: WooBits: Do the Woo, a Community Partner at WooSesh 2022";s: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=72970";s: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:75:"https://dothewoo.io/do-the-woo-partner-a-community-partner-at-woosesh-2022/";s: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:438:"<p>We are excited to be part of WooSesh 2022 this year as we host end-of-the-day wrap up conversations with speakers from the event. </p>
<p>&gt;&gt; The post <a rel="nofollow" href="https://dothewoo.io/do-the-woo-partner-a-community-partner-at-woosesh-2022/">WooBits: Do the Woo, a Community Partner at WooSesh 2022</a> appeared first on <a rel="nofollow" href="https://dothewoo.io">Do the Woo - a WooCommerce Builder Community</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, 30 Sep 2022 09:27: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:5:"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:"";}}}}}i:44;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s: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:30:"Post Status: Shiny New Things!";s: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:"https://poststatus.com/?p=126134";s: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://poststatus.com/shiny-new-things/";s: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:975:"<div class="e-content">
<ul><li>From <strong>Abstract</strong>: <a href="https://www.abstractwp.com/announcing-wp-tests/" rel="nofollow">WP Tests for Faster WordPress Projects</a>.</li><li><strong>Independent Analytics</strong> – A Reliable <a href="https://wp-content.co/independent-analytics/">Google Analytics Alternative</a> for Your Website.</li><li><strong>Delicious Brains</strong>: <a href="https://deliciousbrains.com/wp-migrate-db-pro-2-4-released/">WP Migrate 2.4 Released: Faster Migrations, Must-Use Plugins, WP Engine Compatibility, and More</a> and <a href="https://deliciousbrains.com/wp-migrate-db-pro-2-4-released/">The Developer's Guide to <code>WP-CONFIG.PHP</code></a>.</li><li><strong>WordPress 6.1</strong>: <a href="https://developer.wordpress.org/block-editor/reference-guides/filters/global-styles-filters/">Global Styles Filters</a>.</li></ul>
</div><p>This article was published at Post Status — the community for WordPress professionals.</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:"Thu, 29 Sep 2022 18:48: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:47:"<span class='p-author h-card'>Dan Knauss</span>";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:"
	
	
	
	
	
	
";s: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:"Post Status: WordPress Biz Roundup for the Week of September 26, 2022";s: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:"https://poststatus.com/?p=126099";s: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:79:"https://poststatus.com/wordpress-biz-roundup-for-the-week-of-september-26-2022/";s: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:7351:"<div class="e-content">
<h2 id="h-wordpress-business-news-and-insights">WordPress Business News and Insights</h2>



<div class="wp-container-37 wp-block-group has-theme-palette-2-color has-theme-palette-8-background-color has-text-color has-background"><div class="wp-block-group__inner-container"><div class="wp-block-post-excerpt"><p class="wp-block-post-excerpt__excerpt">2022 Web Almanac CMS findings • WP Cloud • Sponsored core contributor and sponsor data • WP Biz Dev • Female-Owned and Led WP Businesses • and more → </p></div>


<div class="wp-block-spacer"></div>



<p class="yoast-reading-time__wrapper"><span class="yoast-reading-time__icon"></span><span class="yoast-reading-time__spacer"></span><span class="yoast-reading-time__descriptive-text">Estimated reading time:  </span><span class="yoast-reading-time__reading-time">0</span><span class="yoast-reading-time__time-unit"> minutes</span></p>
</div></div>



<h2><a href="https://poststatus.com/2022-web-almanac-cms-report/">2022 Web Almanac CMS Report</a></h2>



<p>According to <a href="https://almanac.httparchive.org/en/2022/cms">the CMS chapter</a> of the just-released <strong>2022 Web Almanac</strong> from the <strong>HTTP Archive</strong>, sites using a CMS — and WordPress — are still steadily increasing globally, and 34% of all the sites with an identifiable CMS were using a page builder. WordPress comes in at the bottom of the pack, however, when it comes to non-mobile device performance as measured by <strong>Core Web Vitals</strong>. For mobile, only <strong>Adobe Experience Manager</strong> performed worse — and by quite a margin. In terms of <strong>Lighthouse</strong> performance scores, WordPress was on par with its peers. <strong><a href="https://poststatus.com/2022-web-almanac-cms-report/">MORE →</a></strong></p>



<p class="has-theme-palette-8-background-color has-background"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/26c5.png" alt="⛅" class="wp-smiley" /> This week's <a href="https://getellipsis.com/weather-report/">WordPress Weather Report from Ellipsis</a>: WordPress is up 0.02 to -0.02 under the baseline while WooCommerce holds steady at +0.02. <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4c8.png" alt="📈" class="wp-smiley" /></p>



<h2><a href="https://poststatus.com/what-is-wp-cloud/">What is WP Cloud? Who is it for?</a></h2>



<p><a href="https://wp.cloud/"><strong>WP.cloud</strong></a> has been flying under the radar for a while. At the <strong>WP Minute</strong>, <strong>Matt Medeiros</strong> <a href="https://thewpminute.com/what-is-wp-cloud/">spoke with</a> <strong>Jesse Friedman</strong>, Director of Innovation at <strong>Automattic</strong>, to learn more. WP Cloud is a Platform as a Service (PaaS) built on the hosting infrastructure that’s behind <strong>WordPress.com</strong>, <strong>Pressable</strong>, and <strong>WordPress VIP</strong> with <strong>GridPane</strong> soon to follow. Agencies that want to white label their client hosting are ideal customers for WP Cloud via GridPane. In <strong>Post Status Slack</strong>, there's been <a href="https://poststatus.slack.com/archives/C1WDQ9W05/p1664229806689909">a hearty discussion</a> about where WP Cloud fits in the hosting industry and why you might want (or not want) to use it. <strong><a href="https://poststatus.com/what-is-wp-cloud/">MORE →</a></strong></p>



<h2><a href="https://poststatus.com/wordpress-core-contributor-stats-19-9-sponsored-for-6-0-release/">WordPress Core Contributor Stats: 19.9% Sponsored for 6.0 Release</a></h2>



<p><strong>Chuck Grimmet</strong>, who is on <strong>Automattic</strong>‘s Special Projects team for <strong>WordPress.com</strong>, “did some data exploration around WordPress core contributors and the companies they work for.” Chuck breaks down the data in detail with several tables <a href="https://cagrimmett.com/data-viz/2022/09/24/some-wp-core-contributor-stats/">on his blog</a>. The results point toward nearly 20% of contributors being sponsored for the 6.0 release, assuming they were sponsored by the same company during that entire time. <strong><a href="https://poststatus.com/wordpress-core-contributor-stats-19-9-sponsored-for-6-0-release/">MORE →</a></strong></p>



<h2>Quick Links</h2>



<ul><li><strong>Lawrence Ladomery</strong> has launched <a href="https://wpbiz.dev/"><strong>WP Biz Dev</strong></a>, “the first job board dedicated exclusively to Marketing and Sales roles for WordPress businesses.” <a href="https://wpbiz.dev/blog/news/wpbizdev-launch/"><strong>MORE →</strong></a></li><li>Last week, <strong>Steve Burge</strong> asked on <strong>Twitter</strong>, “<a href="https://twitter.com/SteveJBurge/status/1569754167241228288?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1569754167241228288%7Ctwgr%5Ed8be2206bcf7d01791dd74cdae47fd5b22507147%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fpoststatus.com%2Fthe-unofficial-directory-of-wordpress-wbes%2F">how many female-run WordPress companies are there?</a>” A big list emerged in the replies. <strong><a href="https://twitter.com/SteveJBurge/status/1569754167241228288?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1569754167241228288%7Ctwgr%5Ed8be2206bcf7d01791dd74cdae47fd5b22507147%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fpoststatus.com%2Fthe-unofficial-directory-of-wordpress-wbes%2F">READ →</a></strong></li><li><strong>Natasha Golinsky</strong> hosted a great webinar with Post Status for Agencies: <a href="https://poststatus.com/getting-paid-for-discovery-with-natasha-golinsky/"><strong>Getting Paid for Discovery</strong></a>. Now Natasha has launched <a href="https://www.facebook.com/groups/lessworkmoreprofit/">a Facebook group</a> for women who own creative agencies: <strong>Management Code: Management Skills for Female Creative Agency Owners</strong>. <strong><a href="https://www.facebook.com/groups/lessworkmoreprofit/">JOIN →</a></strong></li><li><strong>WP Tavern:</strong> <a href="https://woosesh.com/">WooSesh</a> — the virtual conference for WooCommerce professionals and store builders — has posted the schedule for their upcoming three-day event beginning on October 11. <a href="https://wptavern.com/woosesh-publishes-schedule-ahead-of-virtual-event-october-11-13-2022"><strong>DEETS →</strong></a></li><li><strong>Do_the Woo:</strong> <a href="https://dothewoo.io/all-you-should-know-about-the-woocommerce-agency-partner-program/">All You Should Know About the WooCommerce Agency Partner Program</a>.</li><li>At <strong>WP Mayor</strong>, <strong>Mark Zahra</strong> asks, &#8220;<a href="https://wpmayor.com/is-deceptive-marketing-ruining-wordpress-reputation/">Is deceptive marketing ruining WordPress's reputation</a>?&#8221;</li><li><strong>Iconic:</strong> <a href="https://iconicwp.com/blog/ecommerce-black-friday/">How to Prep Your Ecommerce Store for Black Friday 2022</a>.</li><li>Are you ready for <a href="https://torquemag.io/2022/09/death-third-party-cookies/">a cookieless future</a>?</li><li>No, Website Quality Score is <a href="https://www.searchenginejournal.com/ranking-factors/website-quality-score-ranking-factor/#close">not (yet)</a> a <strong>Google</strong> ranking factor.</li></ul>
</div><p>This article was published at Post Status — the community for WordPress professionals.</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:"Thu, 29 Sep 2022 18:45: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:47:"<span class='p-author h-card'>Dan Knauss</span>";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:"
	
	
	
	
	
	
";s: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:"Post Status: WordPress Core Contributor Stats: 19.9% Sponsored for 6.0 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:32:"https://poststatus.com/?p=126008";s: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://poststatus.com/wordpress-core-contributor-stats-19-9-sponsored-for-6-0-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:3543:"<div class="e-content">
<p><strong>Chuck Grimmet</strong>, who is on <strong>Automattic</strong>&#8216;s Special Projects team for <strong>WordPress.com</strong>, &#8220;did some data exploration around WordPress core contributors and the companies they work for.&#8221; Chuck breaks down the data in detail with several tables <a href="https://cagrimmett.com/data-viz/2022/09/24/some-wp-core-contributor-stats/">on his blog</a>.</p>



<div class="wp-block-embed__wrapper">
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">I did some data exploration around <a href="https://twitter.com/hashtag/WordPress?src=hash&ref_src=twsrc%5Etfw">#WordPress</a> core contributors and the companies they work for. <a href="https://t.co/L4G4IXmREy">https://t.co/L4G4IXmREy</a></p>&mdash; Chuck Grimmett (@cagrimmett) <a href="https://twitter.com/cagrimmett/status/1573728895903449091?ref_src=twsrc%5Etfw">September 24, 2022</a></blockquote>
</div>



<p>Notably, <a href="https://cagrimmett.com/data-viz/2022/09/24/some-wp-core-contributor-stats/#sponsored-contributors">the percentage of sponsored contributors</a> has steadily increased to almost 20% for the 6.0 release. However, Chuck notes, &#8220;The data gets less accurate the further I go back in terms of release dates because I can only scrape their current profile, not their previous profiles. Some most likely switched employers.&#8221;</p>



<div class="wp-block-embed__wrapper">
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">To be clear, not all employers listed in profiles are sponsoring the contributions. I think this shows company affiliations more than sponsorships. But I wouldn't be surprised if the number is higher than 5%. Difficult to get an accurate number since profile are self-reported.</p>&mdash; Chuck Grimmett (@cagrimmett) <a href="https://twitter.com/cagrimmett/status/1573746159071404033?ref_src=twsrc%5Etfw">September 24, 2022</a></blockquote>
</div>



<p>Core Contributor Marius Jensen noted in Post Status Slack how complicated it would be to get a totally accurate fix on sponsored contributors. Marius has contributed to all the releases in Chuck's survey, but Marius was not with his current employer for that entire period. As well, some contributors may have been sponsored in the past but are no longer sponsored — or vice versa. Others' sponsors may have changed. </p>



<p>Chuck's research was inspired by <a href="https://twitter.com/cagrimmett/status/1573728898768150532">a good question</a> from <strong>David Bisset</strong>:</p>



<div class="wp-block-embed__wrapper">
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Got asked this recently.<br /><br />If someone in or outside the <a href="https://twitter.com/hashtag/WordPress?src=hash&ref_src=twsrc%5Etfw">#WordPress</a> space wanted to see a “simple" log of code contributions <a href="https://twitter.com/hashtag/WordPress?src=hash&ref_src=twsrc%5Etfw">#WordPress</a> companies (say, hosting companies, grouped by employees) contribute over time, where would they look? What’s the closest thing?</p>&mdash; David Bisset (@dimensionmedia) <a href="https://twitter.com/dimensionmedia/status/1573004938711601154?ref_src=twsrc%5Etfw">September 22, 2022</a></blockquote>
</div>



<p>I've been an admirer of Chuck's blog for a while — especially his use of <strong><a href="https://indieweb.org/Webmention">Webmentions</a></strong>. We should all use them.</p>
</div><p>This article was published at Post Status — the community for WordPress professionals.</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:"Thu, 29 Sep 2022 13:35: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:47:"<span class='p-author h-card'>Dan Knauss</span>";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:"
	
	
	
	
	
	
";s: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: All You Should Know About the WooCommerce Agency Partner Program";s: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=72933";s: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:85:"https://dothewoo.io/all-you-should-know-about-the-woocommerce-agency-partner-program/";s: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:478:"<p>Mary Voelker from WooCommerce shares all that you need to know if you have an agency interested in being part of the WooCommerce Agency Partner Program.</p>
<p>&gt;&gt; The post <a rel="nofollow" href="https://dothewoo.io/all-you-should-know-about-the-woocommerce-agency-partner-program/">All You Should Know About the WooCommerce Agency Partner Program</a> appeared first on <a rel="nofollow" href="https://dothewoo.io">Do the Woo - a WooCommerce Builder Community</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:"Thu, 29 Sep 2022 10: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:5:"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:"";}}}}}i:48;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s: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:40:"Post Status: 2022 Web Almanac CMS Report";s: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:"https://poststatus.com/?p=125990";s: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:51:"https://poststatus.com/2022-web-almanac-cms-report/";s: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:1588:"<div class="e-content">
<p>According to <a href="https://almanac.httparchive.org/en/2022/cms">the CMS chapter</a> of the just-released <strong>2022 Web Almanac</strong> from the <strong>HTTP Archive</strong>, sites using a CMS — and WordPress — are still steadily increasing globally, and 34% of all the sites with an identifiable CMS were using a page builder. WordPress comes in at the bottom of the pack, however, when it comes to non-mobile device performance as measured by <strong>Core Web Vitals</strong>. For mobile, only <strong>Adobe Experience Manager</strong> performed worse — and by quite a margin. In terms of <strong>Lighthouse</strong> performance scores, WordPress was on par with its peers. </p>



<div class="wp-container-27 wp-block-group has-theme-palette-8-background-color has-background"><div class="wp-block-group__inner-container">
<p><strong>Top 3 countries with the most WordPress sites with passing CWV scores:</strong></p>



<ol><li>Japan</li><li>Canada</li><li>Germany (a very close 3rd)</li></ol>
</div></div>



<p>The average number of plugins used on WordPress sites remained the same as last year: 24. If you're interested in image formats, page weight, fonts, CSS, and other resources impacting performance broken down by CMS, there are a lot of details about that in this report. </p>



<p>One unfortunate limitation of the data is that the more highly visited a site is, the less likely there is to be an identifiable CMS.</p>



<p></p>
</div><p>This article was published at Post Status — the community for WordPress professionals.</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:"Thu, 29 Sep 2022 04:52:27 +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:47:"<span class='p-author h-card'>Dan Knauss</span>";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:"
	
	
	
	
	
	
";s: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:81:"Post Status: Management Code: Management Skills for Female Creative Agency Owners";s: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:"https://poststatus.com/?p=125984";s: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:91:"https://poststatus.com/management-code-management-skills-for-female-creative-agency-owners/";s: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:906:"<div class="e-content">
<p><strong>Natasha Golinsky</strong> has launched a Facebook group for women who own creative agencies: <a href="https://www.facebook.com/groups/lessworkmoreprofit/">Management Code: Management Skills for Female Creative Agency Owners</a>.</p>



<div class="wp-block-embed__wrapper">
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Natasha Golinsky <a href="https://twitter.com/ProjectsPurpose?ref_src=twsrc%5Etfw">@ProjectsPurpose</a> has started a Facebook group — Management Code: Management Skills for Female Creative Agency Owners: <a href="https://t.co/ceZDh7iqUa">https://t.co/ceZDh7iqUa</a></p>&mdash; Post Status (@post_status) <a href="https://twitter.com/post_status/status/1574916297179144192?ref_src=twsrc%5Etfw">September 28, 2022</a></blockquote>
</div>
</div><p>This article was published at Post Status — the community for WordPress professionals.</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:"Thu, 29 Sep 2022 04:19:39 +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:47:"<span class='p-author h-card'>Dan Knauss</span>";s: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:42:"Requests_Utility_CaseInsensitiveDictionary":1:{s:7:"*data";a:8:{s:6:"server";s:5:"nginx";s:4:"date";s:29:"Fri, 14 Oct 2022 07:18:22 GMT";s:12:"content-type";s:8:"text/xml";s:4:"vary";s:15:"Accept-Encoding";s:13:"last-modified";s:29:"Fri, 14 Oct 2022 07:00:33 GMT";s:15:"x-frame-options";s:10:"SAMEORIGIN";s:4:"x-nc";s:9:"HIT ord 2";s:16:"content-encoding";s:2:"br";}}s:5:"build";s:14:"20211220193300";}