st describes your role?”</h2>\n\n\n\n<img src=\"https://lh3.googleusercontent.com/gxSOUVYtdyrDiGyYKrSyFmPeJyr-yWaZgndKVphnb6oYU8ar6kD2k8MQTjVjAloQQITAY5bWyo31s080VBScoARdGcZIWF4BmZVfTCiR9YghGX55eyDkJomOZtyVMCQFZ_NZgveB\" alt=\"Member roles\" /><em>Most of us are owners, employees, and freelancers.</em>\n\n\n\n<p>There was a pretty even split between respondents who identified as Owners, Employees, and Freelancers. Much less common were Executives, Managers, and Consultants.&nbsp;</p>\n\n\n\n<h2>“How many full-time employees work at your company?”</h2>\n\n\n\n<img src=\"https://lh4.googleusercontent.com/kZUSbi7jhK3II9yfK6DepORIYTM3p24et1lv-7QH0MgzLxZkhIPAzI0CXC6_gfWiKnJjbyt6i3F8hge3uYKbKH809WQ8O_OQLt0ScR4Rv8why7afc0wnxaxb2uwR-ZyZfvB8-fS_\" alt=\"Company sizes by employees\" /><em>Small and starting to get big — but not much in between.</em>\n\n\n\n<p>Almost half of the respondents indicated that there are 50 or more full-time employees at their company. Of those who own their companies, the majority (64%) fell in the 1-9 FTE range.&nbsp;</p>\n\n\n\n<h2 id=\"h-what-is-your-firm-s-approximate-revenue-for-2021\">“What is your firm\'s approximate revenue for 2021?”</h2>\n\n\n\n<img src=\"https://lh3.googleusercontent.com/myPzs9MLm7crrnu0vMEWB1CEVOJ8kfI6oujVeRtnkBVD9SAE_pB5qhVHLqwk98VPLhfhEHTUWqL76fJfhnibqD-HoYzdOAzRAR-OzK3sgsY86CVqE5qvfpYj4Ci2yOFAY9YoGeyj\" alt=\"Company sizes by revenue\" /><em>Revenue and employee headcount appear linked.</em>\n\n\n\n<p>A third of the respondents indicated that their company’s revenue fell in the $100-499K USD range while just under another third said theirs was $10M+. Of those who owned their companies, 56% fell in the $100-499K range and none fell into the $10M+ range.</p>\n\n\n\n<h2 id=\"h-how-is-your-team-currently-structured-geographically-and-how-do-you-think-your-team-will-be-structured-geographically-in-3-5-years\">“How is your team currently structured geographically?&#8221; and &#8220;How do you think your team will be structured geographically in 3-5 years?”</h2>\n\n\n\n<img src=\"https://lh6.googleusercontent.com/3Jp0vlCProGcG2e6CMIh_Yf-gcaLbFu4sAPEwJ2Bjcyz-OVOeAU_FDE-48pxOdQfxt-vu3XSUmrqCH2BYyjXu6JvIzL2wcuTdmmK47C2vC8O0Pv0sdkxCev6mqlJy_mwN_MAi1k5\" alt=\"Company structures\" /><em>We\'re happy working as we\'re working now.</em>\n\n\n\n<p>Almost 2/3rds of respondents are working remotely or fully distributed while another 37% are hybrid. The distribution didn’t change when asked about the expected structure 3-5 years from now.</p>\n\n\n\n<h2>What\'s causing excitement — and concern?</h2>\n\n\n\n<p>The free response part of our community survey reveals many causes of positive excitement are also things that raise concern:</p>\n\n\n\n<ul><li>Block Editor/FSE/Gutenberg</li><li>Headless WP</li><li>No code</li><li>Improved communication flows</li><li>Diversity and Inclusion</li><li>Opportunities and Threats to Devs and Builders</li></ul>\n\n\n\n<p>The most common concerns all touch the health and viability of the WordPress community and ecosystem:</p>\n\n\n\n<ul><li>Corporate consolidation, lack of diversity, loss of small players and easy entry into the ecosystem.</li><li>Inability to attract and retain talent.</li><li>The pandemic, culture, social and political divisions.</li></ul>\n\n\n\n<p></p>\n\n\n\n<h2 id=\"h-what-industry-theme-are-you-most-excited-about-in-the-next-2-3-years\">“What industry theme are you most excited about in the next 2-3 years?”</h2>\n\n\n\n<p><em>“&#8230;We\'re transitioning away from hard-tech development toward Strategy, Message, and Marketing.”</em></p>\n\n\n\n<p><em>“More enablement of custom solutions through no-code/low-code tech; make things more accessible, greater opportunities.”</em></p>\n\n\n\n<p><em>&#8220;Web3 + Decentralization + WordPress”</em></p>\n\n\n\n<h2 id=\"h-how-do-you-think-the-industry-might-change-over-the-next-few-years\">“How do you think the industry might change over the next few years?”</h2>\n\n\n\n<p><em>“I think the WordPress project is at a make-or-break maturation point and the vast majority of it boils down to communication. I think the ability for WordPress to articulate next-generation Themes, provide more consistent and more transparent communication on timeline and roadmap are going to be why we succeed or why we fail.”</em></p>\n\n\n\n<p><em>“A massive price increase of WordPress products is expected. Gutenberg forces developers to learn React. React developers cost 3-4x PHP developers. Using WordPress will become expensive, paying customers will decline as SaaS options will soon appear lucrative. AI in design and small developments will take over. A lot of freelancers will be out of business.”</em></p>\n\n\n\n<p><em>“More distributed (OK, that\'s hopeful). More and more client-side based coding, less server-side as the device environment continues to move more and more to portable. Along with that could be more focus on AR/VR.”</em></p>\n\n\n\n<h2>What is this information good for?</h2>\n\n\n\n<p>It\'s great to be able to listen to our members and readers to learn who they are, how (and what) they\'re doing, as well as the things they are most excited and concerned by. This helps us validate, alter, or add to our our own sense of editorial priorities — the topics to follow, the questions to ask. </p>\n\n\n\n<p>Does any of this surprise you — what was or wasn\'t included or represented? Let us know in the comments, or drop us a line. And <a href=\"https://prometheanresearch.typeform.com/to/MnSpRXLx\">you can still take this survey if you haven\'t done so yet</a>.</p>\n\n\n\n<p></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 28 Jan 2022 06:16:01 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:10:\"Dan Knauss\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:26;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"WPTavern: New Proposal Aims for 3 Major WordPress Releases in 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:30:\"https://wptavern.com/?p=128298\";s: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:177:\"https://wptavern.com/new-proposal-aims-for-3-major-wordpress-releases-in-2022?utm_source=rss&utm_medium=rss&utm_campaign=new-proposal-aims-for-3-major-wordpress-releases-in-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:2948:\"<p><a href=\"https://wptavern.com/wordpress-5-9-josephine-released-introduces-full-site-editing-and-new-twenty-twenty-two-default-theme\">WordPress 5.9</a> has already been downloaded nearly <a href=\"https://wordpress.org/download/counter/\">12 million times</a> since its release earlier this week. Millions of WordPress users are discovering full-site editing (FSE) for the first time. What will they think? What struggles with they have that will need to be addressed? WordPress developers and power users have done an immense amount of testing on FSE features, but a flood of feedback from real world users is about to make its way back to the architects.</p>\n\n\n\n<p>Planning for 6.0 and beyond is already underway with a special recognition of the unique support load that follows such a big, complex release.</p>\n\n\n\n<p>&#8220;I believe that the relationship between WP5.9 and WP6.0 will be similar to the relationship between WP5.0 and WP5.1 in that there will be copious user feedback to process so that we can extend, refine, and in some cases even rework the user experience with the vast new feature set introduced in 5.9,&#8221; WordPress Executive Director Josepha Haden Chomphosy said in an update published earlier this evening.</p>\n\n\n\n<p>Haden Chomphosy is <a href=\"https://make.wordpress.org/core/2022/01/27/proposal-2022-major-release-timing/\">proposing</a> that WordPress aim for three major releases in 2022, with the next two coming in late May (6.0) and mid-October (6.1). This timeline will &#8220;let WP5.9 breathe a little,&#8221; Haden Chomphosy said. It will also allow contributors to tackle outstanding items on the <a href=\"https://make.wordpress.org/core/2022/01/26/preliminary-roadmap-for-6-0/\">Phase 2 roadmap</a> before the project moves on to the third (Collaboration) phase.</p>\n\n\n\n<p>Haden Chomphosy also put out a call for more project manager type contributors to wrangle some of the details moving forward, as those currently managing releases need more support. </p>\n\n\n\n<p>Reports of <a href=\"https://twitter.com/thespacedmonkey/status/1483758890458222595\">contributors getting burned out</a> during the 5.9 release cycle may indicate the packing so much into one release over a longer period of time isn&#8217;t optimal, though it may have been unavoidable given how interdependent many FSE features are that were set to launch.</p>\n\n\n\n<p>The <a href=\"https://make.wordpress.org/core/2021/12/17/discussion-2022-major-release-timing/\">initial discussions</a> about possible release timing for 2022 brought a lot of feedback, as quarterly was being considered as one of the options. This discussion came fresh off a stressful year where WordPress aimed for four major releases but ended up delivering two. With the current shortage of contributors skilled in project management and operations, a well-spaced trio of releases in 2022 seems like a more realistic and healthy approach for retaining contributors.</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, 28 Jan 2022 03:12:17 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:27;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:84:\"Post Status: Post Status Excerpt (No. 43) — Accessibility Roundup with Amber Hinds\";s: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:61:\"https://poststatus.com/?p=93017&preview=true&preview_id=93017\";s: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:34:\"https://poststatus.com/excerpt/43/\";s: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:33723:\"<h3>&#8220;When it comes to accessibility lawsuits, we as developers should be proactive to ensure a site is as accessible as possible.&#8221; — Amber Hinds, Founder and CEO of <strong>Equalize Digital</strong></h3>\n\n\n\n<p class=\"has-drop-cap\">In this episode of Post Status Excerpt, David chats with <strong>Amber Hinds</strong>, the<strong> </strong>Founder and CEO of <strong>Equalize Digital</strong>. Amber outlines some of the things WordPress professionals should be paying attention to in accessibility. Their conversation covers recent trends and news in the accessibility space: meetups, lawsuits, overlays, and design.</p>\n\n\n\n<p><strong>Why This Is Important: </strong>Accessibility is important to everyone, so it is critical for WordPress developers and designers to keep accessibility in mind. David and Amber only scratch the surface of this topic. Amber encourages developers to <a href=\"https://make.wordpress.org/accessibility/2022/01/08/accessibility-teams-goals-for-wordpress-6-0-and-beyond/\">read this call from the Accessibility team</a> to share their ideas, take part in the discussion, and suggest what to prioritize for WordPress in the near future.</p>\n\n\n\n\n\n\n\n<p class=\"has-background\">Every week <strong><a href=\"https://poststatus.com/podcast/the-excerpt/\">Post Status Excerpt</a></strong> will brief you on important WordPress news — in about 15 minutes or less! Learn what\'s new in WordPress in a flash. <img src=\"https://s.w.org/images/core/emoji/13.1.0/72x72/26a1.png\" alt=\"⚡\" class=\"wp-smiley\" /><br /><br />You can listen to <a href=\"https://poststatus.com/podcast/the-excerpt/\">past episodes</a> of <strong>The Excerpt</strong>, <a href=\"https://poststatus.com/category/post-status-podcasts/\">browse all our podcasts</a>, and don’t forget to subscribe on <a href=\"https://open.spotify.com/show/1m3xwXbe0MG5BzFVPtB0A7\">Spotify</a>, Amazon Music, <a href=\"https://podcasts.google.com/feed/aHR0cHM6Ly9mZWVkcy5zaW1wbGVjYXN0LmNvbS8ySkU5c2M4UA\">Google Podcasts</a>, <a href=\"https://itunes.apple.com/us/podcast/post-status-draft-wordpress/id976403008\">iTunes</a>, <a href=\"https://castro.fm/podcast/c53552c6-1ee0-4fc4-9de4-08ed6bf1ee4d\">Castro</a>, <a href=\"https://www.youtube.com/c/PostStatus\">YouTube</a>, <a href=\"http://www.stitcher.com/podcast/krogsgard/post-status-draft-wordpress-podcast\">Stitcher</a>, <a href=\"https://player.fm/series/wordpress-post-status-podcasts\">Player.fm</a>, <a href=\"https://pca.st/05rR\">Pocket Casts</a>, <a href=\"https://wordpress-post-status-draft-podcast.simplecast.com/\">Simplecast</a>, or by <a href=\"https://feeds.simplecast.com/2JE9sc8P\">RSS</a>. <img src=\"https://s.w.org/images/core/emoji/13.1.0/72x72/1f3a7.png\" alt=\"🎧\" class=\"wp-smiley\" /></p>\n\n\n\n<h3 id=\"h-mentioned-in-the-show\"><img src=\"https://s.w.org/images/core/emoji/13.1.0/72x72/1f517.png\" alt=\"🔗\" class=\"wp-smiley\" /> Mentioned in the show:</h3>\n\n\n\n<ul><li><a href=\"https://blog.usablenet.com/2021-lawsuit-report-trends-and-findings\">2021 Year End Report &#8211; App & Web Accessibility Lawsuits Break Records</a></li><li><a href=\"https://equalizedigital.com/wordpress-accessibility-meetup/\">WordPress Accessibility Meetup</a></li><li><a href=\"https://equalizedigital.com/accessibility-checker\">Accessibility Checker</a></li><li><a href=\"https://blog.usablenet.com/2021-lawsuit-report-trends-and-findings\">2021 lawsuit report-trends-and findings</a></li><li><a href=\"https://www.accessibility.com/digital-lawsuits\">Digital Lawsuits</a></li><li><a href=\"https://www.mhc.ie/latest/insights/overview-of-the-european-accessibility-act\">Overview of the European Accessibility Act</a></li><li><a href=\"https://www.aoda.ca/a-guide-to-the-integrated-accessibility-standards-regulation/#sect14\">A Guide to the Integrated Accessibility Standards Regulation</a></li><li><a href=\"https://sheribyrnehaber.com/the-ada-lawsuit-settlement-involving-an-accessibility-overlay/\">The ADA Lawsuit Selement Involving an Accessibility Overlay (Murphy v. Eyebobs)</a></li><li><a href=\"https://overlayfactsheet.com/\">Overlay Fact Sheet</a></li><li><a href=\"hps://overlayfalseclaims.com/\">Overlay False Claims</a></li><li><a href=\"https://wordpress.org/plugins/wp-accessibility/\">WP Accessibility Plugin</a></li><li><a href=\"https://bhmbizsites.com/accessibility-and-2022-13-design-trends-from-a-usability-perspective/\">Accessibility and 2022: 13 Design Trends From a Usability Perspective</a></li><li><a href=\"https://make.wordpress.org/accessibility/2022/01/08/accessibility-teams-goals-for-wordpress-6-0-and-beyond/\">Accessibility Team’s goals for WordPress 6.0 and beyond</a></li><li><a href=\"https://twitter.com/dimensionmedia\" target=\"_blank\" rel=\"noreferrer noopener\">David Bisset (Twitter)</a></li><li><a href=\"https://twitter.com/post_status\" target=\"_blank\" rel=\"noreferrer noopener\">Post Status (Twitter)</a></li></ul>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<hr class=\"wp-block-separator logo is-style-default\" />\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<h3><img src=\"https://s.w.org/images/core/emoji/13.1.0/72x72/1f64f.png\" alt=\"🙏\" class=\"wp-smiley\" /> Sponsor: iThemes</h3>\n\n\n\n<p>Take the guesswork out of building, maintaining, and securing WordPress websites. Professional plugins and training from iThemes help you create and manage your sites. Secure, back up, and manage them quickly and easily. Master leading-edge WordPress skills to grow your business and make more money. Learn and grow with the experts at iThemes.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<hr class=\"wp-block-separator logo is-style-default\" />\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<h2 id=\"h-transcript\"><strong>Transcript</strong></h2>\n\n\n\n<p><strong>Amber Hinds:</strong> I was using super cheap, like earbuds. And I think like something happened and, you know, well, you figured out later, cause I was on a zoom call with someone and they\'re like the same thing and I unplugged them and all the feedback went away</p>\n\n\n\n<p><strong>David Bisset:</strong> to throw them in the garbage.</p>\n\n\n\n<p><strong>Amber Hinds:</strong> Yup. And I was like, huh, I will give these to my children.</p>\n\n\n\n<p>Cause they don\'t ever talk</p>\n\n\n\n<p><strong>David Bisset:</strong> let\'s not let\'s let\'s not talk about that. Cause my kid\'s , it\'s like the island of misfit toys, but podcast equipment edition cherish this moment because when they get to be 13, 14, they know when you\'re giving them crap. Well, I\'ve made some mistakes in my day with tech, but one mistake that hasn\'t been made today is getting to talk to you.</p>\n\n\n\n<p>So it was good to have you on, thank you very much for deciding to talk with me. And this is not the first time we\'ve been together on a podcast. Um, uh, we, you were recently on one of our, uh, news draft podcasts on Post Status comments. So if anybody wants to hear more of Amber, please feel free to look at that episode.</p>\n\n\n\n<p>If you haven\'t had the chance to listen to Amber before Amber tell us briefly about yourself.</p>\n\n\n\n<p><strong>Amber Hinds:</strong> Yeah. So I am the CEO of equalized digital. We\'re a certified B corporation and we specialize in WordPress accessibility. So we are WordPress, VIP partner. We do a lot of enterprise builds and we really got started in accessibility around 2016 when I started working for Colorado state university. And it was right around the same time that they were getting serious about accessibility. And the first website we did for them, there was like loosely did it, but there\'s no process. And then the second website, oh, this has to go to an accessibility committee.</p>\n\n\n\n<p>And so I really got forced to learn accessibility cause it started getting audits. and so that was sort of when I started getting my feet wet with it. And then, um, since then we\'ve had, you know, other government clients, large businesses where, you know, it\'s, it\'s a priority for them. And not just a checkbox in part of the launch process.</p>\n\n\n\n<p>And, and I will say, I don\'t say that to imply that it is that way for CSU. Um, it\'s also a priority for them as well, around like 2017, 2018 is when I really started like diving into it and learning a lot more about it. And, um, Equalize Digital was a spinoff launched that in 2020, and we have a plugin called accessibility checker.</p>\n\n\n\n<p>And I also organize the WordPress accessibility meetup, which is twice a month and super fun.</p>\n\n\n\n<p><strong>David Bisset:</strong> Oh, yeah, I hear that hassled good turnout. Is that, um, how many of those accessibility and meetups are.</p>\n\n\n\n<p><strong>Amber Hinds:</strong> Yeah. So actually we are a permanently virtual meetup. We\'re actually one of two meetups in the official WordPress meetup program that are not city-based.</p>\n\n\n\n<p>The other one is a hosting meetup. I\'m pretty sure hosting insecurity. And so we are always virtual and we always will be even with COVID we meet twice a month. It\'s on the first Thursday. In the morning for us people. And then in third, Monday in the evening for us people. So we have kind of worldwide coverage, which is cool because we get people from all over the world who come to the meetups and we can have anywhere from 30 to 70 attendees, which is really cool.</p>\n\n\n\n<p><strong>David Bisset:</strong> And you talked about an accessibility checker too, that your company does. Um, think I\'ve seen that before. There is a, there is a free and a paid model there, right?</p>\n\n\n\n<p><strong>Amber Hinds:</strong> Yep. Um, so accessibility checker, you can find on wordpress.org, the free version, which scans unlimited posts and pages. It\'s not something that fixes your website, but what it does is it, it\'s almost like we use the analogy.</p>\n\n\n\n<p>A lot of it\'s like the Yost for SEO</p>\n\n\n\n<p><strong>David Bisset:</strong> Now I am going to get copyright notices. Now</p>\n\n\n\n<p><strong>Amber Hinds:</strong> I know maybe I shouldn\'t say that I should go right in Post Status and ask, can I say this about my tool, but it\'s a good analogy, right? It puts a box on your poster page edit screen that shows you the results of an accessibility scan. Not everything with accessibility can be identified with a scan, but we can get a lot of things and it will help you to figure out what can be fixed.</p>\n\n\n\n<p>Uh, in your content, we\'re in the header, footer, sidebar of that page in order to, um, make it more accessible. And it\'s great because it can be helpful with even post-launch of websites. So we really started it because our clients, we would build these websites, they were accessible and then clients would start adding content and they would start.</p>\n\n\n\n<p><strong>David Bisset:</strong> Adding content</p>\n\n\n\n<p><strong>Amber Hinds:</strong> over time, it would become less and less accessible, which, you know, if you\'re in an industry, especially here in the U S where there\'s a lot of lawsuits, you can\'t really risk that. And so we wanted to create something that would help to educate clients as they\'re adding content, but it\'s now become a tool that as we\'re building, we use it.</p>\n\n\n\n<p>You can use it while you\'re developing locally, because it doesn\'t connect to an API. Your site doesn\'t have to be live anywhere for it to be scanned by a third-party tool. It can run right on your local server. Um, and you can use it to test while you\'re developing. Um, and it works really well for collaborative testing and then remediation also,</p>\n\n\n\n<p><strong>David Bisset:</strong> um, Amber and I are talking today because a lot of WordPress professionals have so much on their plate to think about accessibility should be one of those things that they think about.</p>\n\n\n\n<p>But let\'s be honest. There\'s not enough hours in the day. Dig deep into some aspects or at least get the cliff notes of the highlights of what the accessibility trends are with what\'s going on in the community. Normally you would probably go to a WordPress meetup and hear a presentation about it. Amber, with her experience is going to share with us kind of like the cliff notes, I don\'t know if that\'s a good phrase, but at least the highlights in the next 20 minutes or so all of the links that we\'re about to share now, and probably even more are going to be in the show notes. So feel free to follow along if you can. But Amber, you said something about lawsuits and I know I\'ve seen lawsuits in the news.</p>\n\n\n\n<p>So when we hear about the, the lawsuits that are in the tech news now, what are the key things that we\'re taking away from those lawsuits?</p>\n\n\n\n<p><strong>Amber Hinds:</strong> Yeah. So when we\'re talking lawsuits related to website accessibility, we\'re typically talking about the United States. It\'s very specific states in the US where we see most of it, like California, New York, Florida.</p>\n\n\n\n<p>These are typically cases that are filed under the Americans with disabilities act we\'re in California. There\'s a law called the Unruh civil rights act. That references website accessibility. Basically it\'s an individual who is unable to use the website with assistive technology frequently. In these lawsuits, it is someone who is blind and they are using a screen reader to navigate the web.</p>\n\n\n\n<p>Sometimes there have been some pretty high profile cases also for against, um, universities, for example, that have a lot of video content on the web that don\'t have captions or transcripts for podcasts, or they do have captions. But the captions are auto-generated and not corrected. And they have been sued because the auto-generated captions are so poor that no one can really understand what\'s happening in the video if they are deaf.</p>\n\n\n\n<p>So those are, those are probably what we see as far as most lawsuits, but there are other ones where people have mobility issues, things like that. I was follow usable net and we can post the link, but they put out a report twice a year about the status of lawsuits in the United States. Um, they just released one at the end of December for what it looked like in 2021, a little bit over 4,000 lawsuits.</p>\n\n\n\n<p>But as a web developer, I think the way you have to think about this is getting a lawsuit dismissed doesn\'t mean that your client got their money back from their lawyers who had to work to do that, to get it dismissed in the first place. Um, it also doesn\'t mean that there wasn\'t a headache with having to deal with that.</p>\n\n\n\n<p>So really we want to be kind of proactive on the accessibility side. And then, and the other way I kind of look at lawsuits is I have a hard time completely being anti lawsuits or upset about them because for better, for worse than the U S this is part of how our laws are made. Right. We want. Bring a bunch of things to the courts and maybe that prompts our legislators to actually enact stricter laws.</p>\n\n\n\n<p>And, and that\'s sort of a problem in the US for for-profit businesses is we don\'t have really specific guidelines about what counts as an accessible website and what doen\'t.</p>\n\n\n\n<p><strong>David Bisset:</strong> if you\'re not an expert in this, so you don\'t have the time to become an expert, what resources or what would you do as a WordPress professional building a site for someone to make.</p>\n\n\n\n<p>Outside of probably hiring someone else. Cause it was probably a good idea. What would be some, maybe some initial homework that somebody could do or where they would go to?</p>\n\n\n\n<p><strong>Amber Hinds:</strong> Yeah. So I think of course, going to the source is really important. Most laws around the world site the web content accessibility guidelines, the current version for that is 2.2.</p>\n\n\n\n<p>Some laws are outdated and so they cite 2.1. But going there and I\'m going to call this WCAG, W-C-A-G going through Wikipedia and actually reading the guidelines. It\'s like a long list, but each one is maybe a sentence, um, and sort of familiarizing yourself with what it is. And particularly what\'s at the AA level.</p>\n\n\n\n<p>So there\'ll be labeled with either A, AA, or AAA and AA is generally what\'s considered the best practice. So other resources that I recommend a international association of accessibility professionals, and there are courses that you can take to prepare for. They have certifications. If you\'re interested in getting certified, which as a developer, if you have some certifications through them that can really help you on the job hunt.</p>\n\n\n\n<p>So they have courses that will help you prep for that. And they also have ones that are focused on content creators, or designers or things that are not necessarily just coders. Um, of course our meetup is a great place to come and our meta actually counts as continuing ed credits for those certifications.</p>\n\n\n\n<p>Uh, WP accessibility days, an annual conference that it should be in, uh, November of this year, we just set the dates. Actually earlier today, we had an organizer meeting. It\'s going to be November 2nd and third. It\'s a 24 hour conference.</p>\n\n\n\n<p><strong>David Bisset:</strong> I love hot breaking news. There you go.</p>\n\n\n\n<p><strong>Amber Hinds:</strong> But I think like that\'s a good place to get started as far as learning, once you\'re building a website, my recommendation.</p>\n\n\n\n<p>Um, of course you can use tools like ours, or there are browser-based tools. Ax by DQ is one that we like and recommend a lot. Um, wave is one that a lot of people have heard of. I don\'t think it says thorough, so I don\'t typically recommend it as a browser-based tool, but it\'s one that a lot of people use, um, go to the front end of the website, or if you\'re a theme developer or a plugin developer, whatever page you have your piece of code on.</p>\n\n\n\n<p>Try to interact with it fully without using a mouse. So use your arrow keys and your tab keys and the enter key and the space bar and see if you can do everything that you would want to do on that way.</p>\n\n\n\n<p><strong>David Bisset:</strong> You know, what I do is eat something with my right hand while I\'m trying to do something on a website or sometimes type something in your left hand.</p>\n\n\n\n<p>So that\'s my own personal testing. It\'s not as easy on some sites as it is on others.</p>\n\n\n\n<p><strong>Amber Hinds:</strong> I think the biggest thing too, if you\'re a developer is brush up on HTML, semantics</p>\n\n\n\n<p><strong>David Bisset:</strong> is HTML have accessibility built in into it if you do HTML correctly.</p>\n\n\n\n<p><strong>Amber Hinds:</strong> Yeah. This is probably one of the most common things we fix in plugins that are actionable elements that should really be buttons, meaning using a button and HTML button tag are just like a div or a spin class.</p>\n\n\n\n<p>And then the plugin developer has. Written scripts that applies to that div or that span class in order to let\'s say, move the sides in a carousel or open a modal in a chat window, right. Or submit a form. Sometimes it\'s the submit button rather than being an input or a button is just a div or span the result then is that dibs in space.</p>\n\n\n\n<p>Are not focused, simple. So you can\'t even go to them with your keyboard. Like if you hit the tab key, it\'ll just jump right past that element. Sometimes they do an okay job of adding focus, but it doesn\'t, it can\'t actually. Uh, interacted with, with an inter or a space bar, which is what we expect the button to do.</p>\n\n\n\n<p>Um, so really just like using a keyboard to test what you do is very helpful. And if you follow correct HTML, if you\'re like, well, if this is a button to go to the next slide, then I use a button tag that gets you. Very close to accessibility.</p>\n\n\n\n<p><strong>David Bisset:</strong> It\'s when you start getting creative is when things go wrong.</p>\n\n\n\n<p>And then I don\'t mean</p>\n\n\n\n<p><strong>Amber Hinds:</strong> And I don\'t want to say that, cause that makes it sound like you can\'t be creative.</p>\n\n\n\n<p><strong>David Bisset:</strong> Yeah. But yeah, there is a challenges in there between having these great designs. Elements or these design trends and then, you know, thinking to yourself, am I about to do something that\'s just going to affect you usability?</p>\n\n\n\n<p>Should I, or excuse me, accessibility. Should I stick? You know, how far do you, do you kind of go out on a ledge a little bit and that\'s, it\'s a difficult path to walk? I think it sounds like,</p>\n\n\n\n<p><strong>Amber Hinds:</strong> I think I will say I\'ve been noticing just in general, like design trends over the last like year or two, at least on major brands.</p>\n\n\n\n<p>I feel like there\'s been this shift. Away from some of the like crazy movement that we saw a ton of parallax or things like flying or fading in, I, I see a lot more like minimalism kind of happening, which can be helpful. Now. I wish that some of the, like if you go on some of the themes, demos that you, certain page builders, you see all this crazy stuff flying in and I\'m like, man, I wish people would get on it.</p>\n\n\n\n<p>But like, if you follow a major brands, like I think a lot of. You know, background videos were super hot several years ago and I hardly see those any more on major, right. And, and so I do feel like some of the design trends have moved back towards things that are more accessible, but you know, the plus side of that too, is they\'re better on first speed and performance, which is super important for the fact that most of us have a huge chunk of our traffic coming from mobile devices.</p>\n\n\n\n<p>And then of course we all care about our search engine ranking. So that\'s, what\'s kind of neat about accessibility that a lot of people don\'t realize is that when you focus on accessibility, you can actually increase the traffic to your website and increase or decrease your load times, right. Which might decrease your bounce rate.</p>\n\n\n\n<p>Like a lot of things can be really helpful on accessibility, beyond making it work for people of all abilities.</p>\n\n\n\n<p><strong>David Bisset:</strong> Does dark mode help accessibility?</p>\n\n\n\n<p><strong>Amber Hinds:</strong> Dark mode can. Yes. I think the thing that is really interesting, we actually just had a talk, um, at our, one of our recent, um, accessibility meetups was on the use of overlays.</p>\n\n\n\n<p>and one component of overlays, or sometimes you don\'t use a full. Powered like JavaScript overlay, but there\'s a lot of plugins in WordPress that are like add a dark mode toggle to the front end of the website. Um, and one of the conversation points there is that a lot of browsers and or operating systems themselves have dark mode options.</p>\n\n\n\n<p>And typically those dark mode options function better than a dark mode option that has been added to a website. With a plugin or an overlay tool because the plugging in her overlay might not always catch everything. Uh, so unless you\'ve very specifically coded your dark mode option for your theme and your plugins and everything that is on your site, it might like miss some headings or misplace holder texts or miss, you know, and then you have.</p>\n\n\n\n<p>It\'s actually creates a readability problem for everyone. If it gets turned on and it\'s not catching everything.</p>\n\n\n\n<p><strong>David Bisset:</strong> So preferably, you want people to probably code that into their own theme directly rather than try to grab a plugin.</p>\n\n\n\n<p><strong>Amber Hinds:</strong> Preferably yes. If you want it. But I think going back to the fact that it exists on operating systems, a lot of people who know they need dark mode.</p>\n\n\n\n<p>Um, that have certain disabilities. Like if you have glaucoma, some people with glaucoma white, like the FFF white really bothers them. Um, they probably know that and they have a filter turned on on their computer to always add a color overlay right. To that. So it won\'t bother them. So the real question is, is do people actually use that beyond us developers for like, oh, it\'s so cool.</p>\n\n\n\n<p>We go to a website, you know, like whitehouse.gov. We all turned it on. Right. When it launched and we\'re like, oh, they have a dark mode. Let\'s go turn it on. But. Do real users use that on a daily basis? I don\'t know because the people with accessibility is probably have some other tool that does it for everyone.</p>\n\n\n\n<p>Right. Not just this one. So they don\'t really need a tool that does it just on this one website.</p>\n\n\n\n<p><strong>David Bisset:</strong> There\'s also, um, a way in CSS that you can, um, but respect the system wide preferences for dark mode as well. So you don\'t need a switch on the website.</p>\n\n\n\n<p><strong>Amber Hinds:</strong> It\'ll it\'s just going to say on that mode, there\'s the same thing.</p>\n\n\n\n<p>There\'s a system preference for. Um, decreasing movement. And if you do add movement, which I\'m like, don\'t do it, don\'t make these fly in at all. But if you do, you want to make sure you code websites in a way that respects that as well.</p>\n\n\n\n<p><strong>David Bisset:</strong> So I, I don\'t, I literally just want to spend a minute or two on this because I think I would be kicked if I, we didn\'t, you mentioned overlays a minute ago, we\'re going to drop some links in the show notes.</p>\n\n\n\n<p>So basically. If something says, um, we can fix your accessibility issues or add accessibility to your website with an overlay. That is a bad thing. No. And if so, what would you say for someone who has an existing site that might be tempted to use something like that?</p>\n\n\n\n<p><strong>Amber Hinds:</strong> The biggest thing I think that website owners or developers need to be aware of is that having an overlaid does not protect you from getting sued.</p>\n\n\n\n<p>Or even having to settle or losing your lawsuit? Um, the number that I saw was I want to say, uh, between like 12 and 15% of the lawsuits last year were websites that already had overlaid accessibility overlays on them. Um, and the big one that I mentioned when we did the Post Status draft was, um, an e-commerce brand called eyebobs and they had the excessive.</p>\n\n\n\n<p>On it. And excessively is probably a good case in point for why I think a lot of accessibility professionals really don\'t like overlays because they. Promise more than they can really deliver. And so they say we\'ll make, you know, install a single line of JavaScript. We\'ll make your website accessible in 24 to 48 hours.</p>\n\n\n\n<p>And part of me wonders if the Overlake companies didn\'t promise that and they didn\'t promise we\'ll protect you from lawsuits. If they wouldn\'t get so much negative press, if they were more like we are part of the solution to being accessible, because there are some things. That automated technology can fix.</p>\n\n\n\n<p>And um a good example of that is Joe Dolson has the WP accessibility plugin, which in some, in some sense of the word acts sort of like an overlay, it uses JavaScript to add things like add skip links to a theme that doesn\'t have skip links. He only does things he knows. He can do, right. And a lot of the bigger, like SAS based overlay solutions, they\'re promising that it will be 100% accessible, which is not realistic because there\'s just things that computers cannot do.</p>\n\n\n\n<p>And human beings have to make decisions about like, even writing all texts, like you said, there\'s some cases where maybe I can get kind of close and there\'s other cases where. It just has no idea and it writes something completely wrong or, or it\'s like factually. Correct. But contextually makes no sense about why that image was selected.</p>\n\n\n\n<p>And, and so that\'s really the thing about overlays is that, you know, they promise a lot more than they can deliver. And there\'s a great website that Karl groves put together. Well, he\'s got two, he\'s got the overlay, false claims.com where he talks about all of them. False marketing that they do. Um, and then the overlay fact sheet, which has come out of a ton of research research he\'s done into like, what can they literally actually achieve and what can they not?</p>\n\n\n\n<p>And he\'s got a ton of like quotes and like tweets and stuff that he\'s included from actual people with disabilities and Mo a lot of them say that. Some I\'ve heard, some of them say that they blocked like accessibility and user way, and some of these bigger plugins, their IP address so that the it won\'t load.</p>\n\n\n\n<p>If they go to a website with that,</p>\n\n\n\n<p><strong>David Bisset:</strong> if you ask someone quickly to summarize what the accessibility to overlays are, and if you\'re someone who\'s looking into it, probably in the middle of a site project that may be accessibility, probably wasn\'t given that much consideration of in the beginning. And. There is a hint for you.</p>\n\n\n\n<p>Maybe do it in the beginning then I guess, look at these links and just be very, very careful and realize that slapping a solution on something is probably not going to say. All of your problems, even the accessibility plugin. I think that accessibility plugin, the WP dash accessibility, I think it\'s fantastic.</p>\n\n\n\n<p>Ideally, you want to start fresh. So it is that about summarize when it comes to overlays?</p>\n\n\n\n<p><strong>Amber Hinds:</strong> Yeah. That pretty much summarize it. Yeah. I think the only other thing on that, that was really interesting that came out of the, that particular lawsuit with the eyebobs was eyebobs came out with a statement afterwards they\'ve since removed AccessiBe, but they said.</p>\n\n\n\n<p>Part of AccessiBe contract, as they promise to help you, if you get sued and they reached out to AccessiBe multiple times and assessed to be just didn\'t even</p>\n\n\n\n<p><strong>David Bisset:</strong> respond. I think if you have to put that in your contract clause, I think you\'ve got other, you\'ve got other concerns. Um, let\'s, let\'s talk about, very briefly to close things up here.</p>\n\n\n\n<p>Cause we have, we\'ve gone over lawsuits. We\'ve gone over. Thing, you know, things, particularly from those lawsuits, we want to pay attention to design trends and dark mode and overlays. There was a post about accessibility teams goals for WordPress WordPress, 6.0, we\'re going to include the link in the show notes.</p>\n\n\n\n<p>So we don\'t have to cover it too much here. But what was the biggest thing that you think we should pay attention to in this.</p>\n\n\n\n<p><strong>Amber Hinds:</strong> Accessibility team for core has, um, they actually put up a post and they\'re kind of going back to how they assess which bugs or, um, accessibility issues to handle. And they are wanting to get feedback and input.</p>\n\n\n\n<p>So if you are someone who uses WordPress and has experienced accessibility issues. I would highly recommend going and checking out the posts. They have a whole process for how you can submit, but they\'re going to use user and community feedback in order to make an order to prioritize their approach for 6.0,</p>\n\n\n\n<p><strong>David Bisset:</strong> okay.</p>\n\n\n\n<p>So you heard it here. This is, this is something you may want to keep your eyes on, especially if you want to see what accessibility progress is being made for. Would you say these are calls for contributions, calls for feedback, but definitely this is a blog post about like the future. At least we\'re looking ahead into the future.</p>\n\n\n\n<p>I think this is a definite the transparency, the openness, or at least the acknowledgement that these are concerns. Um, you know, some, some things can be fixed faster or better than others ways. Probably it\'s a complex issue when you\'ve got an ever evolving product. And I\'m looking forward to your analysis as well.</p>\n\n\n\n<p>It may be in a couple of months, we can touch base again. And see, um, how WordPress specifically is addressing accessibility after, um, it releases 5.9 this month. So great. Yes. Yes. She\'s just saying yes, just to get rid of me. We have a great list of links here. Make sure to check them out and show notes.</p>\n\n\n\n<p>You gave your comments about general designs or in general design trends. There\'s also a link or two in there about design trends that, um, you should probably think about from a usability perspective. You throw that</p>\n\n\n\n<p><strong>Amber Hinds:</strong> in there. Yeah, that that link is, uh, from bet Hannon\'s website. Um, one of her employees wrote it and it\'s actually really thoughtful about the different design trends and how some of them impact accessibility.</p>\n\n\n\n<p>Um, it\'s a great blog posts, relatively newly published.</p>\n\n\n\n<p><strong>David Bisset:</strong> Fresh news. Yes. Whenever I see 2022 in the URL, that\'s a good sign.</p>\n\n\n\n<p><strong>Amber Hinds:</strong> Cause that\'s how they get you with the SEO, click.</p>\n\n\n\n<p><strong>David Bisset:</strong> I\'m a sucker. And then we talked about accessibility overlays and of course the word per 6.0 blog posts. Check that out as well.</p>\n\n\n\n<p>So that in a nutshell, if you have been feeling a little bit guilty about not keeping up with accessibility, news and trends, Amber, just basically something. Probably all you need to know, at least for now. And then you up to you now to dig in those show notes for those links and get further familiar, Amber, what would be a good place for people to follow you in any other big accessibility stuff on social media so they can continue being an.</p>\n\n\n\n<p><strong>Amber Hinds:</strong> Yeah. So we\'re just at equalized digital we\'re on Twitter, Facebook and LinkedIn, and the best place to find out about the meetup is if you go to equalize digital.com/meetup, you can get recordings of all the past events and see what\'s coming up.</p>\n\n\n\n<p><strong>David Bisset:</strong> Fantastic. Well, Amber again, thank you very much for joining me here.</p>\n\n\n\n<p>One-on-one to bring the WordPress community a little up to speed on some latest accessibility trends and stuff.</p>\n\n\n\n<p><strong>Amber Hinds:</strong> Yeah. Thank you.</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, 28 Jan 2022 02:07: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:12:\"David Bisset\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:28;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"WPTavern: Looking Ahead to WordPress 6.0: The Early Roadmap\";s: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:30:\"https://wptavern.com/?p=128968\";s: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:161:\"https://wptavern.com/looking-ahead-to-wordpress-6-0-the-early-roadmap?utm_source=rss&utm_medium=rss&utm_campaign=looking-ahead-to-wordpress-6-0-the-early-roadmap\";s: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:10934:\"<p class=\"has-drop-cap\">With <a href=\"https://wptavern.com/wordpress-5-9-josephine-released-introduces-full-site-editing-and-new-twenty-twenty-two-default-theme\">WordPress 5.9</a> only just stepping its toes out the door and greeting the world, the lead developers seem to have hardly taken a moment to catch their breath. Yesterday, Matías Ventura posted the <a href=\"https://make.wordpress.org/core/2022/01/26/preliminary-roadmap-for-6-0/\">preliminary roadmap for 6.0</a>. It covers the general scope of the planned features to land this year.</p>\n\n\n\n<p>Version 6.0 is expected to be a conceptual wrap of Phase 2 of the Gutenberg project, covering the visual site-building tools. They will continue playing a crucial role in future development, but developers will likely shift much of their focus to Phase 3 for WordPress 6.1 and beyond.</p>\n\n\n\n<p>The following are the four phases outlined in the long-term roadmap:</p>\n\n\n\n<ol><li><strong>Easier Editing:</strong> Block-based content editing.</li><li><strong>Customization:</strong> FSE, block patterns, block directory, block themes, and global styles.</li><li><strong>Collaboration:</strong> Co-authoring content.</li><li><strong>Multilingual:</strong> Implementation of multilingual sites.</li></ol>\n\n\n\n<h2 id=\"editor-enhancements\">Editor Enhancements</h2>\n\n\n\n<p>Ventura listed 10 high-level focus areas around the post and site editors in core WordPress. They range from big-ticket items like a <a href=\"https://github.com/WordPress/gutenberg/issues/23328\">site-browsing mode</a> to a more back-to-basics approach to the writing experience. I will focus on some things I most look forward to.</p>\n\n\n\n<h3 id=\"theme-global-styles-variations\">Theme Global Styles Variations</h3>\n\n\n\n<img />Twenty Twenty-Two theme design variations.\n\n\n\n<p>I have a running list of features that I cannot wait for. It seems that I find something new to add to it every other day or so. However, <a href=\"https://github.com/WordPress/gutenberg/pull/35619\">global styles variations</a> would easily land in the top three.</p>\n\n\n\n<p>The feature was expected but did not quite make it into WordPress 5.9. The goal was to allow users to select from multiple presets, transforming their site&#8217;s colors, fonts, and more at the click of the button. Several variations for Twenty Twenty-Two are already in progress.</p>\n\n\n\n<p>This is sort of like a light version of child theming where only the <code>theme.json</code> file can be switched around. <a href=\"https://wptavern.com/skins-are-back-in-style-proposal-for-themes-to-bundle-user-selectable-design-variations\">Essentially, they are <em>skins</em>.</a></p>\n\n\n\n<h3 id=\"navigation-structure-as-a-dedicated-ui\">Navigation Structure as a Dedicated UI</h3>\n\n\n\n<p>This will most likely be one of the most crucial features of wrapping up Phase 2 of Gutenberg. Some pieces of it can be tough to follow, but several screenshots and videos are in the <a href=\"https://github.com/WordPress/gutenberg/issues/36667\">associated ticket</a>.</p>\n\n\n\n<p>Essentially, the goal is to refine the experience of moving around and interacting with the site editor, global styles, templates, and navigation. The work in 5.9 was stellar, but now there is a need to create a more intuitive interface.</p>\n\n\n\n<p>Part of this is exposing the site structure as navigation outside the Navigation block in the UI. Users can currently only edit this from within the site canvas.</p>\n\n\n\n<p>Such things are easier said than done, so contributors will have their work cut out for them. It will take a community effort.</p>\n\n\n\n<h3 id=\"template-creation-and-theme-switching\">Template Creation and Theme Switching</h3>\n\n\n\n<p>There is currently a limited number of templates that users can create through the site editor interface. For example, they can add an archive design but not break that down for specific types of archives (e.g., <code>category</code>) or slug-based versions of them (e.g., <code>category-news</code>).</p>\n\n\n\n<p>Eventually, the site editor should allow the creation of any possible template from the template hierarchy. Presenting that in an easy-to-use interface will be a challenge. The hierarchy is limited only by the number of objects (posts, terms, etc.) on a site.</p>\n\n\n\n<p>The other piece of the <a href=\"https://github.com/WordPress/gutenberg/issues/37407\">template-creation process</a> is decoupling them from themes. Users should never lose their customized templates when switching from one to another. This becomes even more vital as plugins begin to introduce block templates.</p>\n\n\n\n<h2 id=\"patterns-as-first-class-creation-tools\">Patterns as First-Class Creation Tools</h2>\n\n\n\n<img />Block pattern explorer.\n\n\n\n<p>Since their introduction alongside WordPress 5.5, patterns have been one of the most powerful tools available to users. I have been telling anyone who will listen that <a href=\"https://wptavern.com/block-patterns-will-change-everything\">they will be a game-changer</a> for at least two years. WordPress 6.0 might just make good on my promise.</p>\n\n\n\n<p>One proposal would make patterns a <a href=\"https://github.com/WordPress/gutenberg/issues/31153\">central part of template and page building</a>. Several pieces to this may fit into various flows, but one of the overarching goals should be for end-users to figure out what to do with an empty template or page. If done right, patterns can help them get off the ground running.</p>\n\n\n\n<p>A proposal to <a href=\"https://github.com/WordPress/gutenberg/issues/27575\">transform existing content sections</a> with patterns is also on the table. I wrote about how this was a <a href=\"https://wptavern.com/if-this-is-modern-wordpress-theme-development-sign-me-up\">missing component</a> of the user experience earlier this week.</p>\n\n\n\n<p>For theme authors, pattern registration may become less complex. Currently, they must use the Patterns API to register them via PHP. However, there is a proposal for WordPress to <a href=\"https://github.com/WordPress/gutenberg/pull/36751\">automatically recognize them</a>. Patterns would most likely live in a dedicated <code>/patterns</code> folder in the theme and be registered similar to page templates. However, the final solution has yet to be determined.</p>\n\n\n\n<h2 id=\"block-enhancements\">Block Enhancements</h2>\n\n\n\n<p>There is an array of block-related enhancements to look forward to. Much of that will revolve around continued iteration on the Navigation block. Theme authors should also have more blocks for <a href=\"https://github.com/WordPress/gutenberg/issues/34994\">controlling the output of comments</a>.</p>\n\n\n\n<p>However, let me dive into some of the features I am most looking forward to.</p>\n\n\n\n<h3 id=\"featured-images-with-superpowers\">Featured Images With Superpowers</h3>\n\n\n\n<img />Concept design of post featured images used in the Cover block.\n\n\n\n<p>Instead of superpowers, this would cover the use cases already possible in traditional theming. As much as I like block themes, one of the most glaringly-obvious issues is the Post Featured Image block. Essentially, it currently outputs the <code>post-thumbnail</code> image size.</p>\n\n\n\n<p>Theme authors can set the width and height but not use cropped sizes that they have registered (<a href=\"https://github.com/WordPress/gutenberg/pull/38044\">fixed</a> in the dev version of Gutenberg). They also cannot use it within the context of other blocks like Cover and Media &amp; Text.</p>\n\n\n\n<p>Beefing up featured image capabilities will hand over much-needed design tools to theme authors. Right now, the missing features are blockers for many layouts.</p>\n\n\n\n<h3 id=\"inline-tokens\">Inline tokens</h3>\n\n\n\n<p>If there has been one feature I have seen developers ask for more than most, it is the ability to output dynamic data within blocks or HTML templates. Some of this is solved with the Pattern block, but it does not cover every use case.</p>\n\n\n\n<p>For example, there is no way to output the current date within a paragraph. This is a routine use case for the site footer copyright line. More typical is grabbing dynamic URLs to theme or plugin resources like images. Ventura noted in the post that they would explore the viability of inline tokens in this release cycle.</p>\n\n\n\n<h3 id=\"other-blocks\">Other Blocks</h3>\n\n\n\n<img />Table of Contents block.\n\n\n\n<p>There may be a Table of Contents block on the way. It has been just under a year since I first <a href=\"https://wptavern.com/the-gutenberg-wordpress-plugin-to-introduce-a-table-of-contents-block\">wrote about such a proposal</a>, so I am eager to see this land.</p>\n\n\n\n<p>The Quote and List blocks should finally <a href=\"https://github.com/WordPress/gutenberg/pull/25892\">allow child blocks</a>. Both are severe limitations that were always possible in plain HTML and the classic editor. I know more than a few bloggers who will be happy to see this happen.</p>\n\n\n\n<p>Improvements to the Table block are also likely coming. At the moment, it offers a poor user experience &#8212; users cannot even tab through cells. At most, it handles the most basic of use cases. Currently, there are <a href=\"https://github.com/WordPress/gutenberg/issues/32400\">over two dozen open tickets</a> to clean it up.</p>\n\n\n\n<h2 id=\"design-tools\">Design Tools</h2>\n\n\n\n<p>Several components should make theme authors, in particular, excited about 6.0.  We could be looking at new height and width controls for more blocks, providing more flexibility in theme designs. And <a href=\"https://github.com/WordPress/gutenberg/issues/34641\">using <code>min</code> and <code>max</code> CSS features</a> along with flex-based containers could make fine-tuning responsive designs easier.</p>\n\n\n\n<p>On the typography front, there is a ticket for <a href=\"https://github.com/WordPress/gutenberg/pull/33543\">introducing responsive fonts</a>. This is relatively easy to handle with custom CSS at the moment if a user chooses a theme&#8217;s predefined size. However, with custom sizes and line-heights, it is problematic. Because these tools exist in WordPress, we need responsive handling baked in.</p>\n\n\n\n<p>One long-awaited typography feature is likely to launch in this cycle: the <a href=\"https://wptavern.com/a-web-font-api-possibly-coming-to-wordpress\">Web Fonts API</a>. After being <a href=\"https://wptavern.com/proposed-web-fonts-api-not-coming-to-wordpress-5-9-possibly-landing-in-gutenberg-first\">pulled from WordPress 5.9</a>, it is now being <a href=\"https://github.com/WordPress/gutenberg/pull/37140\">developed within Gutenberg</a>. I expect this to land sooner rather than later because the bulk of the code is finished.</p>\n\n\n\n<p>Support for customizing captions across various blocks and possibly finding a solution for link hover and focus states are also on the slate for 6.0.</p>\n\n\n\n<hr class=\"wp-block-separator is-style-tavern-separator\" />\n\n\n\n<p>What features are you looking forward to the most in WordPress 6.0?</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, 28 Jan 2022 01:42:44 +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:29;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:112:\"Post Status: WordPress 5.9 “Joséphine” Introduces Full Site Editing and Themes Created Entirely with Blocks\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"https://poststatus.com/?p=93038\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"https://poststatus.com/wordpress-59-josephine-released/\";s: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:3554:\"<p class=\"has-drop-cap\"><strong>WordPress 5.9</strong> “Joséphine” was <a href=\"https://wordpress.org/news/2022/01/josephine/\">released as planned this past Tuesday</a>. <strong>Matt Mullenweg</strong> was the lead on this release. 5.9 involved 470 tickets on <strong>Trac</strong> and over 1,900 pull requests.</p>\n\n\n\n<p>71 locales had translated 90% or more of WordPress 5.9 into their language at the time of release. There were more volunteers on this release than the previous 5.8 version. (624 now and 530 then.) <strong>Aaron Jorbin</strong> <a href=\"https://twitter.com/aaronjorbin/status/1486091167381008393\">noted that</a> WordPress 5.9 was the 8th release with 200 or more first-time contributors, and the total number of contributors (632) was the fourth-highest total in WordPress\' history.&nbsp; Also notable — 40 people have contributed to 20 or more releases since 3.2.</p>\n\n\n\n<p>The 5.9 release introduces the <strong>Full Site Editor</strong> — a new suite of editing capabilities based on blocks that enable the editor beyond a post or a page. It can be used across an entire site now, and there are blocks for headers, footers, and menus. Full Site Editing (FSE) makes possible a &#8220;no coding&#8221; experience for site-building.</p>\n\n\n\n<p>5.9 comes with a new default theme, <strong>Twenty Twenty-Two</strong>, which was built for FSE as a block theme. Twenty Twenty-Two ships with relatively little <strong>CSS</strong>, as its goal is for all theme styles to be configured through <code>theme.json</code> and editable through <strong>Global Styles</strong>.</p>\n\n\n\n<p>At the time of this writing, there are 45 block themes ready for Full-Site Editing <a href=\"https://wordpress.org/themes/tags/full-site-editing/\">in the WordPress repository</a>. Traditional themes work fine with 5.9, so the transition time between traditional and “full block” themes will likely be gradual. Nevertheless, WordPress 5.9 will be seen as one of the biggest steps in the second phase of the Gutenberg project.</p>\n\n\n\n<p>Those not moving to a block theme will still be able to enjoy enhancements such as an improved Gallery block, more block controls and design tools (including typography, color, and dimension options in blocks), and a revamped List View that facilitates navigation between layers of content and nested blocks. Developers should make sure to check <a href=\"https://make.wordpress.org/core/2022/01/10/wordpress-5-9-field-guide/\">the WordPress 5.9 field guide</a> for additional filters, actions, and performance enhancements.</p>\n\n\n\n<p>WordPress\' Executive Director <strong>Josepha Haden Chomphosy</strong> notes, &#8220;WordPress 5.9 is a halfway point on this massive, multi-year project to rebuild the way that people work with their content online. It started with a call to &#8216;learn Javascript deeply,\' and I think this release helps prove that vision we were first given way back in 2013.&#8221; </p>\n\n\n\n<p>Josepha also acknowledged “the work of over a thousand people who show up every day to help make getting online easier, to make crafting your personal brand a little more fun, and to do all that while also making sure users have basic freedoms that are vital to the open web.&#8221;</p>\n\n\n\n<p>Looking ahead, Josepha has proposed <a href=\"https://make.wordpress.org/core/2022/01/27/proposal-2022-major-release-timing/\">a schedule of two major releases this year</a>, and Matias has shared <a href=\"https://make.wordpress.org/core/2022/01/26/preliminary-roadmap-for-6-0/\">a roadmap to 6.0</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, 28 Jan 2022 01:38:57 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"David Bisset\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:30;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:57:\"WPTavern: #11 – Vinny McKee on His Block Builder Plugin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"https://wptavern.com/?post_type=podcast&p=128962\";s: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:157:\"https://wptavern.com/podcast/11-vinny-mckee-on-his-block-builder-plugin?utm_source=rss&utm_medium=rss&utm_campaign=11-vinny-mckee-on-his-block-builder-plugin\";s: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:51922:\"<h2 id=\"about-this-episode\">About this episode.</h2>\n\n\n\n<p>On the podcast today we have Vinny McKee.</p>\n\n\n\n<p>He’s the creator of the <a href=\"https://wordpress.org/plugins/wicked-block-builder/\">Wicked Block Builder plugin</a>, which is a tool to make the job of creating your own custom blocks as easy as possible.</p>\n\n\n\n<p>I’m sure that you know that WordPress’ editor is all about blocks. You can create content, and now whole websites with small components. A title here, and a paragraph there. But the real power of blocks is the way that they can be extended so that they can consume and display any kind of content in any way that you can imagine.</p>\n\n\n\n<p>The WordPress landscape is moving towards blocks as the way to create and present all-the-things, and we’re just at the start of a very exciting journey.</p>\n\n\n\n<p>You can download and try out blocks for almost everything. Some do one thing, other block packs bring entire suites of interesting blocks to the table.</p>\n\n\n\n<p>But there is a problem… blocks are not all that easy to create. Yes, you might very well be a talented developer who has taken the lead in learning block creation. You burned the midnight oil and got your head around the complexities of it all. I suspect that it was an uphill struggle.</p>\n\n\n\n<p>But WordPress’ mission is to democratise publishing. In an ideal world not just publishing, but extending WordPress would be something available to the masses.</p>\n\n\n\n<p>Step in Vinny McKee. His Wicked Block Builder plugin is one of the tools out there that enables you to build your own blocks without the need to understand much of what’s going on behind the scenes, and there’s a lot going on behind the scenes.</p>\n\n\n\n<p>Page Builders allowed users to create beautiful websites without needing to learn code, block builders are doing the same thing for blocks.</p>\n\n\n\n<p>Today on the podcast we learn about why Vinny built the plugin, as well as how it works. What problems does it overcome, and are there any limitations to what you can build?</p>\n\n\n\n<h2 id=\"useful-links\">Useful links.</h2>\n\n\n\n<p><a href=\"https://wordpress.org/plugins/wicked-block-builder/\">Wicked Block Builder on the WordPress repo</a></p>\n\n\n\n<p><a href=\"https://wickedplugins.com/plugins/wicked-block-builder/\">Wicked Block Builder website</a></p>\n\n\n\n<p><a href=\"https://wptavern.com/wicked-plugins-launches-ui-based-wordpress-block-builder\">Justin Tadlock&#8217;s post &#8220;Wicked Plugins Launches UI-Based WordPress Block Builder&#8221;</a></p>\n\n\n\n<p><a href=\"https://twitter.com/wickedplugins\">Wicked Plugins Twitter account</a></p>\n\n\n\nTranscript<div>\n<p>[00:00:00] <strong>Nathan Wrigley:</strong>  Welcome to the 11th edition of the Jukebox podcast from WP Tavern. My name is Nathan Wrigley. Jukebox is a podcast which is dedicated to all things WordPress, the people, the events, the plugins, the themes, and in this case, the creation of blocks with a plugin. Up until now, we&#8217;ve released this podcast each month. But we&#8217;re going to move to a weekly schedule from now on. And that leads to a couple of things. Firstly, it goes without saying that there will be lots more podcast episodes, and I would encourage you to subscribe to the podcast so that you can get all of those episodes automatically each and every week. You can do that by searching for WP Tavern in your podcast, player of choice, or by going to wptavern dot com forward slash feed forward slash podcast, and you can copy that URL into most podcast players. Secondly, with so many more episodes, I&#8217;d really like to hear from anyone out there who would like to come on the podcast and talk about whatever it is that you do with WordPress. It might be that you&#8217;re a developer, a WordCamp organizer, a contributor, a designer, honestly&#8230; if it&#8217;s about WordPress, I&#8217;m keen to hear from you and hopefully get you on the show. Head over to wptavern dot com forward slash contact forward slash jukebox, and use the form there. Once again, wptavern dot com forward slash contact forward slash jukebox. And I look forward to hearing from you.</p>\n\n\n\n<p>So on the podcast today, we have Vinny McKee. He&#8217;s the creator of the Wicked Block Builder plugin, which is a tool to make the job of creating your own custom blocks, as easy as possible. I&#8217;m sure that you know, that the WordPress editor is all about blocks. You can create content and now whole websites with small components, a title here, and a paragraph there.</p>\n\n\n\n<p>But the real power of blocks is the way that they can be extended so that they can consume and display any kind of content in any way that you can imagine. The WordPress landscape is moving towards blocks as the way to create and present all the things, and we&#8217;re just at the start of this very exciting journey. You can download and try out blocks for almost everything. Some do one thing. Other block packs bring entire suites of interesting blocks to the table. But there&#8217;s a problem. Blocks are not all that easy to create. Yes, you might very well be a talented developer who has taken the lead in learning block creation. You burned the midnight oil and got your head around all the complexities. I suspect that it was an uphill struggle. But WordPress&#8217; is mission is to democratize publishing. In an ideal world, not just publishing, but extending WordPress would be something available to the masses. Step in Vinny McKee. His Wicked Block Builder plugin is one of the tools out there that enables you to build your own blocks without the need to understand much of what&#8217;s going on behind the scenes. And there&#8217;s a lot going on behind the scenes.</p>\n\n\n\n<p>Page builders allowed users to create beautiful websites without needing to learn code. Block builders, well they&#8217;re doing the same thing for blocks. Today on the podcast we learn about why Vinny built the plugin as well as how it works. What problems does it overcome? And are there any limitations to what you can build? If you&#8217;re interested in trying it out, you can find the links in the show notes, head over to wptavern dot com forward slash podcast, and look for episode number 11. And so without further delay, I bring you Vinny McKee.</p>\n\n\n\n<p>I am joined on the podcast today by Vinny McKee. Hello Vinny.</p>\n\n\n\n<p>[00:04:40] <strong>Vinny McKee:</strong> Hey, Nathan. Thanks for having me on the podcast.</p>\n\n\n\n<p>[00:04:42] <strong>Nathan Wrigley:</strong> You are most welcome. Now, Vinny is going to be talking to us today around the Gutenberg subject is the best way to describe it and blocks in particular. He has a great deal of expertise in this area and has a plugin which may be of real interest to the people who are listening to this podcast.</p>\n\n\n\n<p>This whole episode really was brought to my attention by Justin Tadlock, who on the 14th of January, 2022, wrote a piece called Wicked Plugins Launches UI Based WordPress Block Builder. So be sure to go and check that out. So I asked Vinny if he wanted to come onto the podcast today and here we go.</p>\n\n\n\n<p>We&#8217;re going to be talking about blocks and building blocks. First question though Vinny, if it&#8217;s all right with you, I&#8217;m going to ask a more generic question. Would you mind just telling us a little bit about yourself, your history with WordPress and so on.</p>\n\n\n\n<p>[00:05:33] <strong>Vinny McKee:</strong> Yeah. So I&#8217;m a freelance web developer and plugin author. I&#8217;ve been a freelance developer since around 2006. And I think the first time I really started using WordPress was actually in 2006. At that time, I didn&#8217;t really know anything about it really. And to be honest, didn&#8217;t even really care that much about it at the time. It was just a way to solve what I needed at the time, which was two blogs for clients so that they could easily create blog posts.</p>\n\n\n\n<p>And so then I think it was probably around maybe 2008 or 2009, if I have my timing correct, when I really started using WordPress more and started to build lightweight sites that used it more as a CMS and started to build custom themes for it and everything. And then of course, fast forward to today and I&#8217;m using WordPress almost exclusively for all of the clients sites I built or build.</p>\n\n\n\n<p>[00:06:27] <strong>Nathan Wrigley:</strong> Where are you based?</p>\n\n\n\n<p>[00:06:28] <strong>Vinny McKee:</strong> I am based in Seattle, Washington.</p>\n\n\n\n<p>[00:06:31] <strong>Nathan Wrigley:</strong> Okay. So we&#8217;re probably going to be talking today around the block builder plugin that you&#8217;ve got, and probably it&#8217;s going to be the easiest thing to just mention where that URL is right at the start. So the company is called wicked plugins, and you can find wickedplugins dot com easily enough, and from there, you&#8217;re going to be searching around for wicked block builder that will enable you to see what we&#8217;re talking about today. There&#8217;s also a wordpress dot org version. And obviously that&#8217;s over at wordpress dot org forward slash plugins forward slash Wicked Block Builder. Each of those words is hyphenated. I will put those links into the show notes and anything else that we discussed today that comes up, I&#8217;ll endeavor to put those into the show notes as well.</p>\n\n\n\n<p>Tell us why you decided to put all of your bits and pieces into blocks. I know that for many people, this is clearly the future. There&#8217;s a lot of interest in this, especially right now. But a lot of people are staying away from it at the same time. What is it that you saw all those months, years ago that made you endeavor to build this solution?</p>\n\n\n\n<p>[00:07:35] <strong>Vinny McKee:</strong> Yeah, I think it&#8217;s similar to what WordPress has been great for a long time, which is extensibility. So I think what&#8217;s really cool about blocks and what I like about it is that you can extend the block editor by creating your own blocks. And so that gives you a lot of freedom. It gives you the ability to create blocks that are tailored to individual projects. And I think that&#8217;s really useful. And I think that&#8217;s one area where it stands apart from other ways that you can build a site with maybe a page builder or something.</p>\n\n\n\n<p>I know you can extend other page builders as well, but I feel like with blocks and Gutenberg, I like that it&#8217;s baked directly into WordPress. And I just think that it&#8217;s neat that you can extend it just like you can extend WordPress in other ways.</p>\n\n\n\n<p>[00:08:23] <strong>Nathan Wrigley:</strong> Yeah. I guess the page builder analogy is quite a good one in that if you are a heavy user of a particular page builder, you may well be interested in creating the equivalent of blocks. So app like functionality within that particular page builder. But the issue I suppose there is that it will be confined to that page builder, and so the audience potentially may be limited. Whereas the block based initiative enables everybody with the default install of WordPress to manage to do these bits and pieces.</p>\n\n\n\n<p>Yeah. So really nice inspiration. So why did you decide to actually put your elbow to the metal as it were and get stuck into this. It seems that this is a problem of building blocks. It&#8217;s tremendously difficult if you&#8217;ve never done this before, but equally you could have just sat there and waited for somebody else to build a solution or indeed for that to be no solution at all. What compelled you to create a sort of GUI interface in order to assist people who have the challenge of building their own custom blocks?</p>\n\n\n\n<p>[00:09:22] <strong>Vinny McKee:</strong> Yeah. So what happened is, as I started to use the block editor to build sites for clients, I found myself wanting to create my own blocks. And because I felt that I needed to do that in order to achieve the look and feel and layout and functionality that the designers I was working with wanted for their sites. And so, I felt like I needed to create my own blocks in order to have the control I wanted over the markup and to achieve all those things as far as the look and feel and layout and those types of things. So what I did is I started creating blocks for the sites that I was working on. But what I found is, as I was going through and creating these blocks, I noticed a few things.</p>\n\n\n\n<p>One is that, so when you create a block, blocks have two different functions to generate their markup. There&#8217;s one called the edit function, which generates the markup that you see for the block when you edit a page and you see your block in the editor. And then, blocks also have what&#8217;s called a save function, which is responsible for generating the markup that actually gets saved to the database when you save a page, and then that&#8217;s what you see on the front end when you view the page. And so if you want your blocks to look the same in the editor, as they do on the front end and vice versa, which is what I wanted, you have to basically code the block twice. And, you know, even if the markup is almost identical for both views.</p>\n\n\n\n<p>And so that was one thing where I noticed it was a duplication of effort and took a little bit of extra time. And even if you want the block to look exactly the same in both of those views, you have to tweak the code slightly. You can&#8217;t just copy and paste. And so it ends up being a lot of&#8230; it can be a lot of work.</p>\n\n\n\n<p>Something else I noticed was that I was spending a lot of time referencing documentation as I was building blocks. So even after I learned how to build blocks, was was still looking at the documentation a lot, because I couldn&#8217;t remember things like, okay, what is that control named? If I wanted to add a text field to a block, for example, is that called text control or is that called text field?</p>\n\n\n\n<p>And then I would always forget like what attributes those components or controls accepted. So for example, when I would add a drop down to a block, I would forget what the attributes that allowed you to set the options was called options, or was it called choices? And then how did, how did the data needed to be formatted to go into those options?</p>\n\n\n\n<p>Things like that. So I still had to spend a lot of time looking at the documentation, even though I had learned how to build blocks. I kept running into design patterns that were hard. So for example, if I wanted to add an arbitrary number of items to a block, something that would be good for a repeater, for example, like adding an arbitrary number of images, or if you wanted to create like a team block that displayed a grid of people where you could sort the people in the block that would take awhile and it was hard to do.</p>\n\n\n\n<p>I guess what I&#8217;m trying to say is that what I found was there a lot of things that were adding up to take a significant amount of time, and I just felt I needed to create these blocks for these in order to build the sites that I wanted, but that it was too time consuming for it to be economical. And that I just felt like I wouldn&#8217;t be able to produce these sites without being able to build these blocks faster.</p>\n\n\n\n<p>[00:12:27] <strong>Nathan Wrigley:</strong> Yeah. This is the problem that we hear about so much is that the move over to blocks really does create a technical debt, really. What I mean by that is, it&#8217;s difficult. There&#8217;s a new, whole new raft of things that must be learnt, new techniques that need to be acquired, whole systems that you need to put in place in terms of software as well and what have you. And I feel that a lot of people are put off just by this problem. They simply don&#8217;t have the time. They&#8217;re working. They&#8217;re busy. They&#8217;re building websites, possibly for clients or what have you. And the time to go out and spend learning is simply not available to them, and obviously in your case, you managed to find that time and create that bridge for yourself and make it happen.</p>\n\n\n\n<p>Was that a difficult journey? So going from no blocks, several years ago to the ability to now create not only blocks, but software, which builds blocks. Did you find that journey fraught with difficulty? Was it fairly straightforward? What was your impression?</p>\n\n\n\n<p>[00:13:24] <strong>Vinny McKee:</strong> Yeah, for me, it was actually fairly difficult because prior to Gutenberg, I didn&#8217;t really have a lot of experience with React and I didn&#8217;t have a lot of experience with a lot of the tooling either that you would use in a React project. So for example, NPM, Webpack, and some of the other tools that we use to maybe set up a React project. I&#8217;d worked with it just a little bit before Gutenberg, but not much. And yeah, I didn&#8217;t have that much experience with it, and to be honest, I was pretty intimidated by it because that just wasn&#8217;t something that I was familiar with.</p>\n\n\n\n<p>And so it did take me quite a while to figure out how to learn React of course, but then also I think for me, what was even more challenging was some of the command line stuff and configuration stuff. Setting up Webpack, for example, to be able to compile the project. And I know now there&#8217;s ways you can use other tools like WP Scripts.</p>\n\n\n\n<p>I also wanted to understand for myself, make it easier, but yeah, at the time, I also wanted to understand for myself, you know, how those things worked, but yeah, it was a challenge. And even today there&#8217;ll be weeks where I might spend hours trying to solve a configuration issue with Webpack. Yeah, it was definitely challenging.</p>\n\n\n\n<p>[00:14:37] <strong>Nathan Wrigley:</strong> I think that&#8217;s a really valid point. This is not something which is going to be for everybody. If you are of a certain mindset and you have the time available and possibly the skills available, this might be open to you. And then of course, there&#8217;s the other people who presumably you&#8217;ve built your Wicked Block Builder for, is the crowd of people who perhaps don&#8217;t want to go through all of those steps, learning all of those different things. You mentioned React and the build process and all of that. They just simply don&#8217;t want to do that. But they would like to dabble in creating blocks, either for themselves, or for their clients. And I guess that&#8217;s the tool that you&#8217;ve built. Have I got your target audience about right there? Is it people who are keen to build blocks, but don&#8217;t really wish to do the learning that might be required if you wanted to do it all by hand, if you know what I mean?</p>\n\n\n\n<p>[00:15:28] <strong>Vinny McKee:</strong> Yeah. I think that&#8217;s a big part of it. And that was certainly one issue I was trying to solve was to make the barrier to entry much lower. But I think too, I was also, the main reason I was inspired to build it was actually to save myself time. Even as a developer, I wanted a way to be able to build blocks faster.</p>\n\n\n\n<p>And so, yeah, I mean, it&#8217;s definitely for people that maybe don&#8217;t want to learn React, or set up the tools needed to build blocks from scratch. I also aimed it at developers as well, hopefully make their lives easier and make it much more efficient to create blocks so that when you&#8217;re working on a client project, you can spend less time working on some of those other things I mentioned earlier and focusing more on just creating the blocks you need.</p>\n\n\n\n<p>[00:16:12] <strong>Nathan Wrigley:</strong> Okay. Let&#8217;s dig into the tool. It is a plugin for WordPress. As we mentioned at the top of the show, it&#8217;s available in a free version on the repo and also a commercial version over on the website, which I&#8217;ll link in the show notes so that anybody who doesn&#8217;t want to hear the URL in the podcast can just find it, but would you just at the outset, just describe the main differences between the free and the pro so that everybody is really clear where that boundary lies.</p>\n\n\n\n<p>[00:16:40] <strong>Vinny McKee:</strong> They&#8217;re exactly the same. The only difference is that the pro version has a couple of advanced features. And so the main features that one has, is a repeater component that allows you to add repeating items to a block as well as conditional logic. And then it has a couple of other advanced components as well. But for the most part, the free version has almost everything and you can actually build the exact same blocks.</p>\n\n\n\n<p>The only difference would be something maybe like a repeater where if you wanted to have an arbitrary number of links in a block with the free version you had maybe add slots for five links to your block or something. Whereas with the pro version, you could use a repeater so that you can add an arbitrary number of items or links the block.</p>\n\n\n\n<p>[00:17:21] <strong>Nathan Wrigley:</strong> Okay. Got it. Thank you. That&#8217;s made it really clear. Okay. So we&#8217;re going to try to describe, cause it&#8217;s a difficult thing trying to describe what is a graphical user interface on a podcast, but we&#8217;ll give it our best go. As with all things plugin, you must install it on your website. And then you&#8217;re presented with a range of new menus in the admin area.</p>\n\n\n\n<p>Wicked Block Builder is what I&#8217;m seeing currently. And you have the option to add new. And the intention is that you go through the tool and at the end of it, when you go to a post or a page, And you click the little inserter, the plus button, you will hopefully have yourself a ready-made block available to be used to put whatever kind of custom data it is that you want to display on your website.</p>\n\n\n\n<p>So, with all that in mind, do you want to try, you know the tool far better than I, I&#8217;ve really had just the briefest of plays, but did you want to just describe the process that you would go to in order to set up a simple block with some simple attributes and just discuss what kind of things we&#8217;re doing.</p>\n\n\n\n<p>[00:18:21] <strong>Vinny McKee:</strong> Sure. Yeah, I&#8217;ll do my best. Yeah. Like you said, once you install the plugin, then to create a block, you just go to Wicked Block Builder in your admin menu, and there&#8217;s an add new option. So you click add new. And what that does is that opens up the block builder tool, which is just an interface within WordPress that lets you create your block.</p>\n\n\n\n<p>And so that tool is organized into six main screens. And so what you see first is the setting screen and the settings screen just lets you enter basic information about your block and configure some things. So for example, you can enter the name of your block. You can give it a description that you can choose, like what alignment options it supports and whether or not you&#8217;d like to make it dynamic.</p>\n\n\n\n<p>So then the next screen is attributes. And so the attributes screen lets you configure the attributes for your block. And if you haven&#8217;t worked with blocks before then, what attributes are a way to store and, or extract data from your blocks. So they kind of hold the data that&#8217;s for your block. And so once you configure attributes, which to configure attributes, it&#8217;s really just a matter of dragging and dropping an attribute type, a type, meaning like the data type that you want that attribute to store.</p>\n\n\n\n<p>So that could be like a string, for example, or, a true false value or a number and array as the other type of attribute. So once you&#8217;ve got your attributes added to your block, then the next screen is called the editor view. And like I was talking about before, there&#8217;s two views, two blocks, there&#8217;s the edit view, which is what you see in the block editor. And then there&#8217;s the front end view. In this plugin we start with the editor view and on that screen, what you do, that&#8217;s the kind of the meat of it and where you really build the block. And you build your block by dragging and dropping HTML elements and components. So components are things like text fields or drop downs or radio buttons or check boxes or color pickers, anything that you want to add to your block, to allow people to interact with it, to change settings or to input content.</p>\n\n\n\n<p>And so what you do is you drag the HTML elements that you want. So like a div tag, for example, if you want your block to be a div and then maybe if you want another div nested inside of it, you would drag another div and nest it inside the first div. And then if you want a rich text control to be able to input some texts, you would drag that inside. You know, one of the divs, but the idea is that you have full control over the markup and, you create the markup however you want by dragging and dropping. And there&#8217;s no limits to, you know, what markup you can add that you can put any valid tags in. So what that does is create the editor view and then the next screen is the front end view.</p>\n\n\n\n<p>So you have the option of building the output that your block will generate when it gets saved to the database, and what you see when the block is viewed on the front end, when you view a page. However, that screen is actually completely optional. You can skip that step. And if you do then plugin will use the markup and everything that you set up on the edit screen, and will use that as the, for the front end view.</p>\n\n\n\n<p>That&#8217;s one of the ways that saves you time is you don&#8217;t actually have to create those two separate views anymore. You can just create the edit view and then the plugin will use that same view for the front end, if you want your block to look and use the same markup on the backend and the front end.</p>\n\n\n\n<p>And then next is the sidebar screen and the sidebar screen works similar to the previous two screens. It lets you drag and drop HTML markup and components, but it puts all those things in the block sidebars when the block is selected in the page editor. Yeah, once the blocks selected, then whatever HTML and components you add to the sidebar appear on the block sidebar on the right hand side.</p>\n\n\n\n<p>And finally there&#8217;s a style screen. And that&#8217;s just basically a CSS editor that lets you put in CSS for your block. It&#8217;s completely optional. You don&#8217;t have to put any CSS there. You can, you know, enqueue CSS like you normally would through your theme or through a plug-in or however you&#8217;re most comfortable with it, but it&#8217;s there for people who want a really easy way to include CSS for their block.</p>\n\n\n\n<p>And that&#8217;s kind of the process of building the block and then you hit save. And from there, you should be able to add it to a page.</p>\n\n\n\n<p>[00:22:38] <strong>Nathan Wrigley:</strong> I&#8217;m going to, to sort of run over a few of those bits and pieces. And I&#8217;m going to draw an analogy for those of you who have used a tool like Advanced Custom Fields or Metabox or something like that. The similarities here are fairly striking to me in that the attributes that the sort of fields that you might create, so for example, you would like an image when you need an image attribute, you might need like a number attribute or a true / false, like you said, and you can set all of these different things up and then you move on to the next area.</p>\n\n\n\n<p>And as Vinny was just saying, this is how it&#8217;s going to look when you&#8217;re user inserts it, what is it going to look like to them as they&#8217;re actually creating the block? And then interestingly, you&#8217;ve got the front end view. That&#8217;s what it will look like once it&#8217;s complete and you&#8217;ve published it and it&#8217;s visible to the world.</p>\n\n\n\n<p>And then, like you said, there&#8217;s the sidebar so that you can modify all of the settings that may be associated with that. And then obviously the style. So I think if you&#8217;ve used Advanced Custom Fields or Metabox or something like that before, you&#8217;ll be very quick to the party. You&#8217;ll learn how this works really quickly.</p>\n\n\n\n<p>I have to say having had the chance to play with it a little bit today, I went through the three step&#8230; building your first block tutorial, which I found to be really straightforward. Probably took me about an hour, I would say. And I was able to follow along with the steps and I had a completely functional block, fairly straightforward example. It has an image, it has a title, some text, and then ultimately there&#8217;s a button, depending on what text you put in that button appears. It doesn&#8217;t do a lot, but it&#8217;s a really nice way to get going. So I would say that if you&#8217;re confused by any of this, go and look for the support documents that Wicked Blocker Builder guide, and you want the building your first block section.</p>\n\n\n\n<p>I think you&#8217;ve done a really great job of explaining how it all works there. Well done.</p>\n\n\n\n<p>[00:24:31] <strong>Vinny McKee:</strong> Thank you.</p>\n\n\n\n<p>[00:24:32] <strong>Nathan Wrigley:</strong> So the backend then handles all of that. I&#8217;m just curious. Is there any situation that you can imagine where the editor view, what it is that we&#8217;re doing in the backend to actually create the block on our website, where you would like that to be radically different from the front end view. Perhaps the editor view is going to be much more basic and stripped back. And then ultimately the view that people see on the website is going to be a bit richer. I&#8217;m just trying to figure out why those two sections are separate.</p>\n\n\n\n<p>[00:25:01] <strong>Vinny McKee:</strong> Yeah. So I think part of it could come down to user preference and then another part of it might just depend on block output, starting with user preference.</p>\n\n\n\n<p>It&#8217;s possible that some users might just have a preference where in the editor view, maybe they want almost more of a forum based approach to inputting the data for the block. So rather than displaying a rich preview of the block, maybe they just want to way for clients to input data. But then on the front end, of course, you know, it needs to be formatted properly or the way that they want to look. And that might be one example where you would create a separate view for the front end versus the editor view. I think another example is where maybe you needed the market to be different. So for example, say you want to create a grid, a block that displays a grid of, logos for example, and you want each logo to be linkable, and this might be a contrived example because there&#8217;s probably other ways that you could do it as well. But just as an example, let&#8217;s say you wanted to create a block like that, and you could, in the end of their view, add like an image component that would allow you to select an image for the logo. And then you could add a text field that would allow you to enter the link for the logo. But you may not want to wrap the image component within a link in the editor view because you don&#8217;t want it to interfere with being able to select an image, and when you&#8217;re editing the blocks. So maybe you want to tweak the markup for the front end. So then on the front end, it would actually wrap the image within a link element, if that makes sense. So that&#8217;s another example. And especially with the free version, because there&#8217;s no conditional logic, that would be one way you could achieve altering the markup.</p>\n\n\n\n<p>[00:26:40] <strong>Nathan Wrigley:</strong> Actually, the more I think about it, the more that I can imagine situations where the two might be really useful to be separated. So I&#8217;m just at the minute been looking recently at real estate agent websites, and it might be quite useful if you had a block to do with a house and you were uploading all of the bits and pieces associated with that house, particularly the images. You might want those images to display in a really full on way on the website, large colorful, and what have you, and you may just want the thumbnail on the backend so that you can see that something has been uploaded, but you don&#8217;t as the person maintaining that block, you don&#8217;t actually need to see them in all their glory. But the person coming to the website, who&#8217;s thinking about buying that house would probably wish to see them in all their glory. So yes, I&#8217;m making in roads into what you&#8217;re thinking there, I think. Is that the right idea there?</p>\n\n\n\n<p>[00:27:26] <strong>Vinny McKee:</strong> Yeah, exactly. That&#8217;s a great example. And I think similar to that, something like maybe a slide show or like a hero section where maybe it displays just one image, but changes on page reload or something. So on the front end, you really only see one image, but on the back end, you need to be able to add multiple images, but you might want to way to show which images are selected. So you might display those images in the block, on the back end, but then on the front end, you would only see one image at a time. But yeah, the example that you gave to you, I think is, perfect.</p>\n\n\n\n<p>[00:27:54] <strong>Nathan Wrigley:</strong> Yes. So the tool itself is a very much a drag and drop tool. You&#8217;re dragging in components that you wish your block to have, be those images, text fields, buttons, what have you. Imagine you&#8217;re building up these Lego bricks to make your block.</p>\n\n\n\n<p>There must be a little bit of understanding of various bits and pieces of web technologies. For example, I would imagine you at the very basic you would need to have some understanding of HTML in order for this to work. Is there a bare minimum set of things that you need to be able to understand, to make basic use of the plugin?</p>\n\n\n\n<p>[00:28:29] <strong>Vinny McKee:</strong> Yeah, like you mentioned, I think you have to have a decent understanding of how HTML works and how tags are nested, because you do create the markup yourself in this plugin, it is drag and drop, but yeah, you do have to kind of understand how markup works and then to understand some of the attributes that certain tags support in that case block attributes, but you know, HTML attributes that are added to a tag in case you need to configure those. For example, if you want to add a simple anchor link to your block, you would add an a tag, and then you might add an href attribute. But if you haven&#8217;t worked with HTML before and don&#8217;t know that&#8217;s what&#8217;s required to create a link, then yeah, you might be a little lost or that might be a little challenging.</p>\n\n\n\n<p>And then too, I think, to get good results, you do have to know some CSS because just adding, you know, most blocks I would imagine that you want to have some styling. And so, you know, in theory, you could just create a block that&#8217;s unstyled that allows you to input some content. And then of course it could output it on the front end, but without any styling, you probably wouldn&#8217;t get the best results or the results you want.</p>\n\n\n\n<p>So I think it does require a little bit CSS knowledge as well, although I think, you know, you can get pretty far with just very basic CSS. So there, I think it just depends on how far you want to take it.</p>\n\n\n\n<p>[00:29:45] <strong>Nathan Wrigley:</strong> Yeah, if you want something functional, which works, you can probably get away with minimal CSS, but if you want it to look nice, then yes, there&#8217;s going to be a little bit of a learning curve there. So I guess caveat emptor, if you are going to be looking into this plugin, there is a little bit going on.</p>\n\n\n\n<p>Now, as with all tools that make something as straightforward as this does, I&#8217;m curious to know what&#8217;s going on in the background that you are relieving us the burden of. So for example, I&#8217;m adding in my attributes and that literally is a two second job. I basically click a button and add an attribute and then give it a name, an attribute name, something that I can remember and use later. And I can do that, and I could probably put five or six different attributes into my block in the space of just a couple of seconds really. Again, the same would be true with the editor view. I&#8217;m able to create all of those bits and pieces and link them up to the attributes that I made. What complexity are you stripping away? What difficult things are going on in the background? Now it may be that there&#8217;s too many to talk about, but I&#8217;m curious as to some of the challenges that you&#8217;ve stripped away.</p>\n\n\n\n<p>[00:30:51] <strong>Vinny McKee:</strong> Yeah. So, I mean I think one challenge is just the whole build process that&#8217;s involved with creating blocks from scratch. So, because you&#8217;re using a plugin, it&#8217;s going to, based on how you build the block, it&#8217;s going to generate that block for you. And so you don&#8217;t have to worry about, you know, any command line stuff or knowing JavaScript or knowing React any of those things because you&#8217;re creating the block to the plugin.</p>\n\n\n\n<p>So I think that&#8217;s one big thing that it addresses. Things like the attributes, it&#8217;s not hard to add attributes to a block when you&#8217;re building from scratch, other than takes a little bit of time to just to code them. But it does make it a little bit easier, I think, to be able to do it through an interface.</p>\n\n\n\n<p>Something else it does as well is if you&#8217;ve created a block from scratch before, you&#8217;ve probably run into this where if your block is, let&#8217;s say you create your block and then your block is used on some pages and then say, you need to make some changes to the markup of the block. What happens is if you just make those changes to the block, you&#8217;ll actually, the next time you go to edit a page, you&#8217;ll see an invalid content warning, which is kind of scary because it looks like the block is broken and it doesn&#8217;t display correctly in the editor. And so in order to avoid that, you actually have to create a deprecated version of the block and then behind the scenes, what WordPress does, is it migrates the markup from that block that was previously added to the page, to the current blocks version or markup.</p>\n\n\n\n<p>What Wicked Block Builder does is behind the scenes. Anytime you make changes to your block, it automatically creates a deprecated version of it. So that in the next time you go to edit a page that already has that block, it won&#8217;t display an error. And then there&#8217;s some other things too, like I was talking about before, how you can just create the edit view, and if you want to look the same on the front end, you don&#8217;t have to worry about that. It&#8217;ll just create the front end view based on the edit view that you created, so.</p>\n\n\n\n<p>[00:32:45] <strong>Nathan Wrigley:</strong> Yes, I was quite pleased in the tutorial that you did that, just simply putting the CSS in and missing out the front-end view step altogether. Still the block looked great because, presumably it was working on what you&#8217;d put into the edit view and the CSS that was there, which was about 50 lines or something like that, made it look really nice.</p>\n\n\n\n<p>Okay. So I guess the offering that things like page builders brought to the table is that it makes things much easier. Some people are critical of things like page builders. I&#8217;m sure there&#8217;s many other things that we could point the finger at, but you get the idea, because they say that the code that is output on the front end of the website might not always be the most optimal. And I guess this is one of the features that Gutenberg has, one of the poster features is that it creates lean code. I&#8217;m just asking the same question of you. The way that your building blocks, do you have anything to say about, does it create a block that is streamlined and optimally built or have you had to make concessions in order to achieve the sort of GUI aspect of it? In other words, if I knew everything there was to know about building blocks and I did the same block by hand, and then did it through your tool, would there be a noticeable difference in either of them?</p>\n\n\n\n<p>[00:34:06] <strong>Vinny McKee:</strong> Yeah. So I can&#8217;t think of a notable difference offhand, other than instead of the block being pre-compiled the block is generated on the fly when it&#8217;s used in the editor. It creates a native block, and so yeah, whatever attributes you add, those are all translated to the attributes that you would code by hand. It only outputs markup that you add to the block. The only exception to that is for the components that you add. So if you add like an image component, for example. There&#8217;s a little bit of markup that it adds in the editor view to handle being able to select the image and display the image. And then of course, when it&#8217;s saved on the front end, if you don&#8217;t output or if you don&#8217;t specify specifically how you want the output to be for that front end view, then the image component will automatically generate an image tag. But yeah, for the most part, it only puts out whatever markup you define an add to your block, but yeah, as far as how the block functions and works. It&#8217;s identical to a native block. It just happens to be generated on the fly when you edit a page as opposed to something that&#8217;s compiled ahead of time.</p>\n\n\n\n<p>[00:35:17] <strong>Nathan Wrigley:</strong> Yeah. Thank you. That&#8217;s a good answer. In terms of where this is all stored, one thing that&#8217;s coming to my mind is if I am an agency owner say, and I have a niche, let&#8217;s go for real estate, as we were talking about that a moment ago, and I&#8217;m building several websites every month. And I put a lot of work into creating a block with your tool. Is there a way that I can use these on a multitude of websites? Is there an option to export a block and then import it onto a variety of different sites? How does all that side of it work?</p>\n\n\n\n<p>[00:35:51] <strong>Vinny McKee:</strong> Yeah. So that&#8217;s actually a really good question. At the moment in the plugin itself, there is no way to export and import blocks. However, those blocks are stored as a custom post type. And then the data for the block itself is saved in a post meta field and a json object. And so you can actually because it&#8217;s just another post type you can use WordPress&#8217;s default export functionality and export them that way, and then import them using the WordPress importer tool. Of course, important export is something that we have in the roadmap and something that I plan to add to the plugin. But yeah, right now it doesn&#8217;t have that functionality built in, but you can achieve it through the WordPress tools.</p>\n\n\n\n<p>[00:36:31] <strong>Nathan Wrigley:</strong> That&#8217;s great. We&#8217;ll come back to the sort of roadmap, cause there&#8217;s a few items which I think are worthy of discussion and we&#8217;ll do that in a few minutes time. Staying with the actual plugin and how it works currently. I&#8217;m interested, you mentioned about things like conditional logic. I know this is getting into the territory, I think of the pro version, but nevertheless, would you just describe what that enables you to do? What kind of conditions are we able to display our blocks on?</p>\n\n\n\n<p>[00:36:57] <strong>Vinny McKee:</strong> Yeah. So if you&#8217;ve ever used a form builder and wanted to, you know, only show a certain field, if another condition is true, that&#8217;s essentially what conditional logic allows you to do.</p>\n\n\n\n<p>And you can apply these conditions to all sorts of things. So the way it works is when you add, for example, an HTML tag to your block, it&#8217;s actually, all of the parts of the tag are broken up. So you can add like classes in line styles, attributes to that tag. And because they&#8217;re split up that way, you can actually add conditions to each of those things.</p>\n\n\n\n<p>And so what that means is say, for example, you want to add, conditionally add a class to a block, say for example, you have a block where maybe you want to give an option of you have an image on one side and then text on the other side and you want to provide the option to swap them. So by default the images on the left, text on the right, but you have an option to flip them. So that text is on the left and then the image is on the right. Yep. Let&#8217;s say you add it. You create a class that changes that layout. So what you can do is you can add that class to the block. It says image on, right, but instead of always outputting it to the block, you can add a condition that says, okay, only add this class if the option display image on right is checked.</p>\n\n\n\n<p>And so, so that&#8217;s an example, and then you can also use it to conditionally output tags. So what I was talking about before, where maybe you, you don&#8217;t want to output an image wrapped in a link tag on the back end, but you do on the front end. You could add some conditional logic to the tag itself and say, okay, only I&#8217;ll put this tag, you know, if this is true, or, and then there&#8217;s also conditional logic to show or hide things based on whether or not the block is selected in the editor. So things like that.</p>\n\n\n\n<p>[00:38:41] <strong>Nathan Wrigley:</strong> The brain is ticking over all the different possibilities there. That sounds really ingenious. One of the things that I always thought would be nice if I were a plugin developer, which I am not, is it would be nice to see my plugin out in the wild being used by people and the curious and interesting ways that they can implement the plugin. And I&#8217;m wondering if you have any little anecdotal tales of people who&#8217;ve used your plugin and remarkable things that they may have done with it that perhaps you didn&#8217;t anticipate.</p>\n\n\n\n<p>[00:39:10] <strong>Vinny McKee:</strong> Yeah. That&#8217;s a good question. I don&#8217;t know that I have any yet, because I just released the plugin in November. And so it really, yeah, I don&#8217;t know that I&#8217;ve had anyone reach out with any particular ways that they&#8217;ve used it. I guess I&#8217;ve had maybe some questions about how to do some things that I hadn&#8217;t thought of before. And so it made me realize that, oh, okay here&#8217;s another way that people might want to approach things.</p>\n\n\n\n<p>[00:39:35] <strong>Nathan Wrigley:</strong> To be fair, I didn&#8217;t realize it was as new as that. So yeah, that&#8217;s absolutely fine. Like I said, right at the top of the show, there is a different pro version. The pro version, we won&#8217;t get into the actual pricing because it may be subject to change who knows, but there are three options. You can go for single site license, a 10 site license and the unlimited site license. So three different options. Of course you can. If you&#8217;d like stay on the free wordpress dot org repository version. That&#8217;s absolutely fine.</p>\n\n\n\n<p>The last little bit, just before we tie this off is the roadmap. And obviously you&#8217;ve had some feedback. You&#8217;ve just described some of the things that have come back to you from your customers. Apart from the import and export which we talked about already, what are you hoping to be adding in the near term?</p>\n\n\n\n<p>[00:40:20] <strong>Vinny McKee:</strong> Yeah. So in the near term, one thing that&#8217;s been requested multiple times or quite a bit is the ability to assign an icon to the block. I&#8217;m planning to add that in as well as, there&#8217;s also been requests to add more options as far as, so blocks what&#8217;s called these support features or these support flags where you can say, okay, this block supports something like an anchor so that you can in the block sidebar, you can add like an anchor and that&#8217;s something that&#8217;s kind of WordPress adds automatically, if the block says that, okay, I support this or things like topography, you can have font size and line height support, or you can add spacing support for things like padding and margins. So just adding some more settings so that you can enable those things for your block. And then of course adding more component types. So right now there&#8217;s all the basic ones you would expect, but then adding some more, like for just more component types. So you have more options of how you build your block. And then I would also like to add an ability to save the blocks as a json. So to like a folder within your theme or wherever you decide. The blocks when you create them in the interface, they would get saved to the database like they do now, but they would also get saved to a local json file. And so that way developers could commit their blocks to version control so that they kind of have so that they can version control their blocks. And that&#8217;s kind of what I&#8217;m hoping to add in the near term.</p>\n\n\n\n<p>[00:41:43] <strong>Nathan Wrigley:</strong> Just something which has occured to me just as you were saying those things, there&#8217;s an increasing commercial marketplace for blocks, not as is the case with yours, the block builder, but the blocks themselves. There might be a marketplace for relatively inexpensive blocks, which do a single thing and do it really well.</p>\n\n\n\n<p>And I was wondering if there&#8217;s any possibility from your plugin to commercialize the blocks that you make? I don&#8217;t know if that&#8217;s possible, even something you&#8217;re giving any thought to, but if I spend a lot of time creating a block that&#8217;s incredibly complicated and it has some value, with your tool, would there at any point ever be options to pull that out and make it available commercially.</p>\n\n\n\n<p>[00:42:27] <strong>Vinny McKee:</strong> So I think the challenge right now is it in order for it to work, you do have to have the plugin to generate the blocks. So if you create the block and then export it and import it on another site, it&#8217;s only going to work if you have the plugin installed. I do think it would be really cool is if there was a way to actually export the block code. So that you could just import the block without having to have the block builder plugin installed. But I also think that&#8217;s a fairly complicated feature to build. So probably not something that I&#8217;ll be able to add soon, but I think if that were available, then yeah, there would be a way then that you could create blocks using the tool and then publish them and be able to distribute them without having to have the plugin in order to use the block.</p>\n\n\n\n<p>[00:43:13] <strong>Nathan Wrigley:</strong> Well, thank you very much for joining us today and talking about your fabulous tool, Wicked Block Builder. As I mentioned, there will be links in the show notes down below to the repository version, as well as the Wicked Block Builder website as well. But Vinny really appreciate you coming on today.</p>\n\n\n\n<p>Just prior to ending, if people are curious about what you&#8217;ve talked about today and wish to reach out to you, what are some of the best ways to do that?</p>\n\n\n\n<p>[00:43:40] <strong>Vinny McKee:</strong> So, you can find me on Twitter @wickedplugins, or you can also contact us through our site at wickedplugins dot com.</p>\n\n\n\n<p>[00:43:48] <strong>Nathan Wrigley:</strong> Thank you very much. I appreciate you joining us today.</p>\n\n\n\n<p>[00:43:50] <strong>Vinny McKee:</strong> Thanks for having me, Nathan.</p>\n</div>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 27 Jan 2022 15:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Nathan Wrigley\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:31;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:82:\"WPTavern: UXL Themes Releases Framboise, a Colorful Child Theme Variation of Alara\";s: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:30:\"https://wptavern.com/?p=128990\";s: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:207:\"https://wptavern.com/uxl-themes-releases-framboise-a-colorful-child-theme-variation-of-alara?utm_source=rss&utm_medium=rss&utm_campaign=uxl-themes-releases-framboise-a-colorful-child-theme-variation-of-alara\";s: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:4230:\"<img />\n\n\n\n<p class=\"has-drop-cap\">It seems that Andrew Starr is quietly building a legion of block themes. He is the sole developer behind UXL Themes and has released six of them in the past year, with most landing in the last few months. <a href=\"https://wordpress.org/themes/framboise/\">Framboise</a>, his latest project, is a child theme of <a href=\"https://wordpress.org/themes/alara/\">Alara</a>.</p>\n\n\n\n<p>He promised a new design variation, child theme, or block pattern when he launched Alara. It looks like he has consistently kept things moving along. Since I last <a href=\"https://wptavern.com/alara-block-theme-promises-a-new-pattern-or-design-variation-every-week-for-the-next-year\">reviewed it a month ago</a>, the theme has gained four new patterns, bringing the total to 45. Starr has also created two new child themes for a total of three.</p>\n\n\n\n<p>My motivation for installing, activating, and tinkering with Framboise was twofold. First, a friend keeps asking me where all the fun WordPress themes are, and this latest outing by Starr has just enough of a weird, funky personality that it feels right up his alley. Those who want a design that shouts for visitors to step into their world could hardly go wrong with it.</p>\n\n\n\n<p>I also wanted to see what someone other than Automattic was doing with block child themes. Not many other theme-related businesses or authors have created parent themes yet, and even fewer have created children for them. If Starr keeps up his pace, he has a shot of pulling ahead of the pack, at least in sheer block theme numbers.</p>\n\n\n\n<p>I like a bit of visual flair from time to time. I typically prefer to do that within the confines of a clean, minimal, and boring design. I suppose that is more of a sprinkling of flair than anything. However, Framboise&#8217;s color scheme, a pastel blue mixed with pink, has me in a cheerful mood today.</p>\n\n\n\n<p>I am digging this about page pattern in particular when paired with the child theme&#8217;s colors:</p>\n\n\n\n<img />An about page pattern.\n\n\n\n<p>The background shape is handled via a gradient &#8212; <em>I am sticking the code for that in my toolbox</em>.</p>\n\n\n\n<p>Framboise does not add its own set of block patterns. Instead, they all live in the parent, Alara. The same is true of <a href=\"https://wordpress.org/themes/ceres/\">Ceres</a> and <a href=\"https://wordpress.org/themes/zelia/\">Zelia</a>, the other two child themes. This is a wise decision by Starr. The more that goes into the primary project&#8217;s extensions, the more maintenance it creates over time. By keeping them all in Alara, users of each child theme benefit from a shared pool of patterns.</p>\n\n\n\n<p>This is one of the most fascinating aspects of child theming with blocks. With a few simple configuration changes, theme authors can create vastly different designs, as shown in the full-page patterns for the theme:</p>\n\n\n\n\n<img />Framboise full-page patterns.\n\n\n\n<img />Alara full-page patterns.\n\n\n\n\n<p>I have built child themes in the past with similar methods, but they were always on unsteady ground. Because WordPress had no standard design system under the hood, changes in the parent could easily break child themes.</p>\n\n\n\n<p>With themes now using a standard <code>theme.json</code> file to control settings and most styling, child themes have some extra layer of protection against breaking changes. Plus, templates will always work because they are made of blocks.</p>\n\n\n\n<p><code>theme.json</code> also makes it easy to create design variations without touching another file. While Framboise includes a custom header and footer templates, all other aspects of its design alterations are handled in one place.</p>\n\n\n\n<p>I did not even recognize that the theme was related to Alara until I installed it and noticed the author. That is the magic of child themes, and it seems that they are finally living up to their potential now that core WordPress has standards to facilitate them.</p>\n\n\n\n<p>My excitement around block theming continues to grow with each new project that lands on WordPress.org. Tomorrow, I can only hope to see something new. But, for now, I think I will continue playing around with Framboise for a little longer.</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, 27 Jan 2022 02:07:14 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s: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:32;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:96:\"WPTavern: Google Abandons FLoC in Favor of New Topics API, a Replacement for Third-Party Cookies\";s: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:30:\"https://wptavern.com/?p=128966\";s: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:235:\"https://wptavern.com/google-abandons-floc-in-favor-of-new-topics-api-a-replacement-for-third-party-cookies?utm_source=rss&utm_medium=rss&utm_campaign=google-abandons-floc-in-favor-of-new-topics-api-a-replacement-for-third-party-cookies\";s: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:3704:\"<p>Google is burying <a rel=\"noreferrer noopener\" href=\"https://blog.google/products/ads-commerce/2021-01-privacy-sandbox/\" target=\"_blank\">FLoC</a> (Federated Learning of Cohorts) in its sea of abandoned experiments. FLoC&#8217;s proposed mechanism for replacing third-party cookies grouped people together and labeled them using machine learning. The controversial origin trial caused a group of WordPress contributors to <a href=\"https://wptavern.com/wordpress-contributors-propose-blocking-floc-in-core\">propose blocking it in core</a> before it was even out of the experimental stage.</p>\n\n\n\n<p>In July 2021, Google concluded FLoC&#8217;s origin trial and removed the project from the testing phase while analyzing feedback. The company did not elaborate on why it dropped FLoC but had previously <a href=\"https://wptavern.com/google-concludes-floc-origin-trial-does-not-intend-to-share-feedback-from-participants\">stated an intention not to share any feedback from the project</a>. </p>\n\n\n\n<p>FLoC ran in limited markets and received overwhelmingly negative feedback from the tech industry that left Google with an uphill battle to get enough buy-in to proceed. Google was not able to get any major browsers on board and Amazon, GitHub, Firefox, Vivaldi, Drupal, Joomla, DuckDuckGo, and other major tech companies and open source projects had opted to block FLoC by default.</p>\n\n\n\n<p>As an alternative, <a href=\"https://blog.google/products/chrome/get-know-new-topics-api-privacy-sandbox/\">Google is now proposing Topics</a>, an interest-based advertising approach, which it says was informed by community feedback from the FLoC trials:</p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>With Topics, your browser determines a handful of topics, like “Fitness” or “Travel &amp; Transportation,” that represent your top interests for that week based on your browsing history. Topics are kept for only three weeks and old topics are deleted. Topics are selected entirely on your device without involving any external servers, including Google servers. When you visit a participating site, Topics picks just three topics, one topic from each of the past three weeks, to share with the site and its advertising partners. </p></blockquote>\n\n\n\n<p>Google contends that this new system would give users more control and plans to build controls into Chrome for viewing the topics and removing irrelevant ones, as well as disabling the feature completely.</p>\n\n\n\n<p>The Topics API would be implemented at the browser level and curated to exclude topics like gender or race, data which could be deemed sensitive. </p>\n\n\n\n<p>Chrome&#8217;s weighty market share would position Topics to be widely used if Google decides to move forward with it, but one hurdle with industry-wide adoption would be convincing other browsers to invest in implementing new ad tech.</p>\n\n\n\n<p>A list of <a href=\"https://github.com/jkarlin/topics/blob/main/taxonomy_v1.md\">proposed taxonomies</a> is available on the <a href=\"https://github.com/jkarlin/topics\">Topics API GitHub repository</a>. The README file includes a technical rundown of how the API will work. It also explains <a href=\"https://github.com/jkarlin/topics#evolution-from-floc\">Topics&#8217; evolution from FLoC</a> and lists FLoC&#8217;s various deficiencies &#8211; i.e. adding too much fingerprinting data to the ecosystem, lack of transparency in the API for users, inclusion of sensitive data, among others.</p>\n\n\n\n<p>Google plans to launch a developer trial of Topics in Chrome that will include user controls and allow  developers and the ad industry to test it. The technical details of the API are expected to change as Google gets more feedback.</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, 27 Jan 2022 00:02:09 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:33;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"Akismet: How to Block a Specific IP Address from a WordPress Website\";s: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:31:\"http://blog.akismet.com/?p=2249\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:96:\"https://blog.akismet.com/2022/01/26/how-to-block-a-specific-ip-address-from-a-wordpress-website/\";s: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:18340:\"<p>Let’s face it: the internet isn’t always a safe place and malicious attacks can come from anywhere. But one good solution to protect your site from hacks and spam is to block malicious IP addresses.</p>\n\n\n\n<p>Fortunately, you don’t have to be a tech whiz to protect your site. By understanding how IP addresses work and how you can manage them on your WordPress website, you can help prevent spam and secure your data.</p>\n\n\n\n<p>In this article, we’ll introduce you to IP addresses and cover why you might want to block some of them. We’ll also show you how to find and remove any problematic ones. Finally, we’ll share three extra ways to prevent WordPress spam.</p>\n\n\n\n<span id=\"more-2249\"></span>\n\n\n\n<h2 id=\"an-introduction-to-ip-addresses\">An introduction to IP addresses</h2>\n\n\n\n<p>Every single one of your users has an IP address. IP addresses are unique numbers that identify which internet connection a visitor is using. That means the address stays the same, even if the person uses a different account.&nbsp;</p>\n\n\n\n<p>IP addresses appear as four sets of numbers divided by individual dots. For reference, here’s what the basic structure looks like, though it also might be longer and more complicated:</p>\n\n\n\n<p><em>123.45.678.9</em></p>\n\n\n\n<p>WordPress collects this number and stores it in an access file whenever someone connects to your site. But some visitors may be using a <a href=\"https://www.cisco.com/c/en/us/products/security/vpn-endpoint-security-clients/what-is-vpn.html\" target=\"_blank\" rel=\"noreferrer noopener\">Virtual Private Network (VPN)</a> to prevent this data storage. Given this possibility, it’s even more important to block any malicious IP addresses that you <em>can </em>identify.&nbsp;</p>\n\n\n\n<h2 id=\"three-reasons-you-might-want-to-blocklist-an-ip-address\">Three reasons you might want to blocklist an IP address</h2>\n\n\n\n<p>The IP addresses that access your site will be perfectly harmless most of the time. Still, there’s always a chance that you’ll want to exclude some. Here are a few reasons why you might need to blocklist an IP address on WordPress website:&nbsp;</p>\n\n\n\n<h3 id=\"1-stop-spam-comments\">1. Stop spam comments</h3>\n\n\n\n<p>A comments section can be a vital part of a website’s community. That’s because it offers connection: your visitors can join the conversation, interacting with your content and each other.&nbsp;</p>\n\n\n\n<p>Organic comments will typically be relevant and intelligible, like the below example:</p>\n\n\n\n<img /><em>Credit to a comments section on </em><a href=\"https://www.gimmesomeoven.com/smores-bars/\" target=\"_blank\" rel=\"noreferrer noopener\"><em>gimmesomeoven.com</em></a><em>. </em>&nbsp;\n\n\n\n<p>The chances are good that real, well-intentioned visitors wrote these comments. Still, this won’t always be the case. Some people or bots will use the <a href=\"https://blog.akismet.com/2022/01/12/how-to-stop-comment-spam-in-wordpress/\">comments box as an opportunity for spam</a>.</p>\n\n\n\n<p>A spam comment might just be completely unrelated commentary. It might also be garbled, unintelligible, or gibberish. These types of spam can drown out real comments and make people’s experience on your website less enjoyable.&nbsp;</p>\n\n\n\n<p>Additionally, spam can cause search engines to flag your site as unsafe. So blocking the IP addresses behind spam can help preserve your search engine optimization (SEO) efforts.</p>\n\n\n\n<h3 id=\"2-keep-out-potential-hackers\">2. Keep out potential hackers</h3>\n\n\n\n<p>Gibberish comments aren’t the only concern. Hackers might use comments to promote malicious links. These URLs can lead to sites designed to steal information from you and your audience.&nbsp;</p>\n\n\n\n<p>Unfortunately, this danger isn’t limited to comments. Hackers may try to gain access to your site with repeated login attempts. These are commonly referred to as <a href=\"https://jetpack.com/features/security/brute-force-attack-protection/\" target=\"_blank\" rel=\"noreferrer noopener\">brute force attacks</a>. They usually come from one IP address, meaning that blocking that address could solve your problem.</p>\n\n\n\n<p>Finally, there’s also a more advanced technique where malicious actors try to inject bad code into your site. By using entry ports like your comments section or sign-up forms, they can try to trick your website into giving them access. Once they’re in, they can do some serious damage to your site.</p>\n\n\n\n<h3 id=\"3-limit-access-to-authorized-users\">3. Limit access to authorized users</h3>\n\n\n\n<p>A membership model is a popular way to run a website. The benefits of more engaged users and lucrative subscription models can be desirable. Still, there’s always a chance that someone tries to access an area they haven’t paid for.</p>\n\n\n\n<p>Membership websites aren’t the only ones who have to deal with this. Any site with user roles may need to be on alert.&nbsp;</p>\n\n\n\n<p>For example, a hacker might try to access an admin-only area. Once they’re in, they’ll have full access to your website.</p>\n\n\n\n<p>In both cases, blocking the visitor’s IP address is easy. It just takes a few minutes to prevent future attempts. Overall, we recommend learning this skill no matter which kind of site you run.&nbsp;</p>\n\n\n\n<h2 id=\"how-to-find-a-user-s-ip-address-in-wordpress\">How to find a user’s IP address in WordPress</h2>\n\n\n\n<p>If you want to block an IP address, the first step is to identify it. Here are two ways that you can uncover someone’s IP address in WordPress:</p>\n\n\n\n<h3 id=\"1-use-the-comments-section\">1. Use the comments section</h3>\n\n\n\n<p>Like we mentioned before, WordPress automatically stores the IP address of every visitor. Fortunately, discovering one is pretty easy — especially if the spam comes from your comments section.</p>\n\n\n\n<p>Start in your WordPress dashboard. Then, go to <strong>Comments</strong><em> </em>and look under the <strong>Author</strong><em> </em>column.</p>\n\n\n\n<img />\n\n\n\n<p>From here, you can view the IP address of whoever left the comment on your WordPress website. You should see this data regardless of the post.&nbsp;</p>\n\n\n\n<h3 id=\"2-check-the-cpanel-access-logs\">2. Check the cPanel access logs</h3>\n\n\n\n<p>If you can get to your website’s access logs, you can use them to check IP addresses.&nbsp;</p>\n\n\n\n<p>Start by going to your hosting account. Then, find the cPanel dashboard, look for the area labeled <strong>Logs,</strong> and click on <strong>Raw Access</strong>.&nbsp;&nbsp;</p>\n\n\n\n<img />\n\n\n\n<p>From here, you’ll be able to click on your domain name and download the access logs. After extracting the records, you should be able to see the IP addresses that have tried to interact with your website.&nbsp;</p>\n\n\n\n<p>We recommend looking through this record to find any addresses that have made many requests. If you find one, chances are good that they’re malicious, and you may want to consider blocking them.&nbsp;</p>\n\n\n\n<h2 id=\"how-to-block-specific-ip-addresses-from-accessing-your-wordpress-site\">How to block specific IP addresses from accessing your WordPress site</h2>\n\n\n\n<p>Once you’ve discovered the IP addresses that you want to block, you have a few options for doing so. Here are four different ways to get started:</p>\n\n\n\n<h3 id=\"1-use-the-comment-blocklist-feature\">1. Use the comment blocklist feature</h3>\n\n\n\n<p>The first route is arguably the easiest: using WordPress built-in features. Start by collecting the IP addresses you want to block from your WordPress website. You can single out one or compile as many as you need — it’s up to you.&nbsp;</p>\n\n\n\n<p>Then, all you have to do is change a few settings. Start in your WordPress dashboard, then go to <strong>Settings → Discussion</strong>. Scroll down until you find the <strong>Disallowed Comment Keys</strong><em> </em>box.</p>\n\n\n\n<img />\n\n\n\n<p>From here, you can grab the list of addresses you made earlier and paste it into the box. Make sure that you only include one IP address per line. Now, anytime someone with that IP address tries to leave a comment, it will go directly into the trash. Keep in mind that this method still allows the person or bot to access your site, just not post any comments.</p>\n\n\n\n<p>This setting serves two main purposes. For one thing, it can cut down on your workload. You won’t have to worry about assessing a massive amount of comments that you already know are spam.</p>\n\n\n\n<p>On the other hand, this setting also helps protect your visitors. That’s because it doesn’t matter what type of spam that IP address is trying to leave — whether it’s gibberish or malicious links — every single message will be blocked.&nbsp;</p>\n\n\n\n<h3 id=\"2-use-a-plugin-to-block-entire-countries\">2. Use a plugin to block entire countries</h3>\n\n\n\n<p>If you see that most IP addresses are coming from a specific country, the above method may not work for you. It would require you to constantly monitor your comments and add to a seemingly never-ending list of blocked users.</p>\n\n\n\n<p>Instead, you can opt to block an entire country. This setup may end up being less work, especially when you use a plugin like <a href=\"https://wordpress.org/plugins/iq-block-country/\" target=\"_blank\" rel=\"noreferrer noopener\">iQ Block Country</a>.</p>\n\n\n\n<p>Start by adding the plugin to your website. After you’ve activated it, you should get an alert asking you to upload a database file. To access this file, you’ll need to sign up for an account on the <a href=\"https://dev.maxmind.com/geoip/geolite2-free-geolocation-data\" target=\"_blank\" rel=\"noreferrer noopener\">MaxMind website</a>. Don’t worry — it’s all free.</p>\n\n\n\n<p>After you’ve logged in, you can go to <strong>Database Products and Subscriptions → Download Databases</strong>. Find the <strong>Country Database</strong><em> </em>and download it. Then, extract the file and upload it using a <a href=\"https://wordpress.org/support/article/ftp-clients/\" target=\"_blank\" rel=\"noreferrer noopener\">File Transfer Protocol (FTP) client</a>.</p>\n\n\n\n<p>Once you’ve completed the upload, go back to the iQ Block Country plugin. Choose whether you want to block addresses from your site’s front or back end. You can also select both.</p>\n\n\n\n<p>Navigate to the tab for the area you want to restrict. Then, select the country you wish to exclude. If you’re going to choose several, hold down the <em>ctrl </em>key while selecting. Finally, save your work. Your website should now ban any IP addresses from your selected countries.</p>\n\n\n\n<p>This method is only recommended if you are certain that all traffic from a specific country will try to negatively influence your website. If you have genuine traffic from those countries, you might want to find <a href=\"https://blog.akismet.com/2022/01/12/how-to-stop-comment-spam-in-wordpress/\">an alternative method to block spam</a>.</p>\n\n\n\n<h3 id=\"3-edit-your-htaccess-file\">3. Edit your .htaccess<em> </em>file</h3>\n\n\n\n<p>Another option is to edit your <em>.htaccess</em> file directly. If you don’t want to get too involved in your website’s code, you may want to choose another option. A single mistake or edit could potentially break your site.</p>\n\n\n\n<p>If you’re confident in your ability to edit files, you can use this method as a fast way to ban IP addresses. Nevertheless, we still recommend <a href=\"https://jetpack.com/2021/11/11/how-to-back-up-your-wordpress-site/\" target=\"_blank\" rel=\"noreferrer noopener\">backing up your site</a> beforehand if something goes wrong.</p>\n\n\n\n<p>Gather the IP addresses that you want to ban. Then, log in to your site using your FTP client of choice. Once you’re in, look for your website’s root folder. It’s most likely named after your domain or called <em>public_html.</em></p>\n\n\n\n<p>Open that folder and find the file named <em>.htaccess</em>. Note that the .<em>htaccess</em> file could be hidden and, depending on the FTP client you use, you’ll need to turn on the option for <a href=\"https://kinsta.com/knowledgebase/filezilla-show-hidden-files/\" target=\"_blank\" rel=\"noreferrer noopener\">showing hidden files.</a> Then, use a text editor to open it. Scroll down to the very bottom of the file.</p>\n\n\n\n<p>Once you’re there, paste the following code:&nbsp;</p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\">\nOrder Allow,Deny\nAllow from all\nDeny from 111.222.333.444\n</pre></div>\n\n\n<p>Remember to replace the example IP address with the one you want to block.</p>\n\n\n\n<p>If you want to block more than one address, repeat the final line with the new IP address. Remember to save your work before exiting the file. Now, those specific IP addresses should be denied access to your site.</p>\n\n\n\n<p>There’s a chance that an error in the process breaks your site. Make sure it’s working properly and, if there are any issues, <a href=\"https://jetpack.com/2021/11/30/how-to-restore-a-wordpress-website-from-a-backup/\" target=\"_blank\" rel=\"noreferrer noopener\">restore an earlier backup</a> before going any further.</p>\n\n\n\n<h3 id=\"4-use-cpanel\">4. Use cPanel</h3>\n\n\n\n<p>This method might be particularly convenient if you already use cPanel to discover which IP addresses you want to ban.</p>\n\n\n\n<p>Start at the cPanel dashboard for your hosting account. Then, scroll down to the <strong>Security</strong><em> </em>section and select <strong>IP Blocker</strong><em>.</em></p>\n\n\n\n<img />\n\n\n\n<p>From there, fill in the fields with the IP addresses you’re trying to prevent. After you save your work, your hosting provider should block those visitors from your WordPress site.</p>\n\n\n\n<h2 id=\"how-to-remove-banned-ip-addresses\">How to remove banned IP addresses</h2>\n\n\n\n<p>Everybody makes mistakes. Whether you mistyped an IP address or misjudged it as spam, you may need to undo your work. Fortunately, it’s a fairly simple process.</p>\n\n\n\n<p>The exact steps will vary depending on which blocking method you chose in the first place. However, the process mostly involves reversing the steps:</p>\n\n\n\n<ul><li><strong>Undo the blocklist method: </strong>Return to your WordPress dashboard and delete the IP addresses you want to unblock.</li><li><strong>Undo the iQ Block Country method</strong>: Return to the plugin settings and remove the chosen countries or disable the plugin altogether.</li><li><strong>Undo the </strong><strong><em>.htaccess </em></strong><strong>file method: </strong>Reopen your <em>.htaccess </em>file and delete the code you added.</li><li><strong>Undo the cPanel method</strong>: Return to your hosting dashboard’s IP Blocker tool and remove your chosen addresses from the list.</li></ul>\n\n\n\n<p>As you can see, it only takes a few steps to undo this work. However, that time can start to add up if you have a ton of blocked IP addresses. Because of this, we recommend that you carefully pick the ones you want to exclude before going through the process.&nbsp;</p>\n\n\n\n<h2 id=\"two-extra-tips-to-prevent-spam-on-your-wordpress-website\">Two extra tips to prevent spam on your WordPress website</h2>\n\n\n\n<p>Blocking IP addresses can be a powerful way to prevent spam. However, it’s not your only option. Here are two more ways you can prevent spam:</p>\n\n\n\n<h3 id=\"1-filter-out-contact-form-spam\">1. Filter out contact form spam</h3>\n\n\n\n<p>Spam can come from more than just comment forms. If you have a contact form on your website, you’ve probably already noticed some malicious submissions. That’s why we recommend spending time on this area of your site.</p>\n\n\n\n<p>One way to filter this spam is by <a href=\"https://blog.akismet.com/2021/12/23/do-captcha-and-recaptcha-protect-wordpress-sites-from-bots/\">adding a reCAPTCHA checkbox</a>. Google offers this tool for free. It’s a Turing test: humans can complete it, but bots can’t.&nbsp;</p>\n\n\n\n<p>Adding a reCAPTCHA checkbox to your contact form is a simple way to cut out a large number of junk entries.</p>\n\n\n\n<img /><em>Photo © </em><a href=\"https://www.google.com/recaptcha/about/\" target=\"_blank\" rel=\"noreferrer noopener\"><em>Google</em></a>.\n\n\n\n<p>If you’re running a membership site with different user access roles, you might also choose to only show the contact form to certain members. Even restricting access to logged-in users can decrease the amount of spam you have to deal with.</p>\n\n\n\n<p>But an even more effective way to <a href=\"https://blog.akismet.com/2021/12/29/how-to-stop-contact-form-spam-on-wordpress/\">prevent contact form spam</a> is to use <a href=\"https://akismet.com/\">Akismet</a>. It automatically blocks spam form submissions so you never even have to deal with them. And, thanks to an advanced list of IP addresses and spam characteristics, it knows exactly what to watch out for. And it works without a reCAPTCHA, so it’s one less thing for real visitors to deal with.</p>\n\n\n\n<h3 id=\"2-detect-misleading-links\">2. Detect misleading links</h3>\n\n\n\n<p>Another option is to keep a close eye on the links that appear on your site. Unfortunately, you probably can’t monitor every URL. That’s why we recommend using Akismet.&nbsp;</p>\n\n\n\n<p>Akismet monitors all of your comments for spam signals and characteristics, like phishy links. It can automatically detect malicious URLs and block those comments from appearing on your site.&nbsp;</p>\n\n\n\n<p>And, if you want to go the extra mile, you can also automatically block all comments that contain a link —&nbsp;or a certain number of links —&nbsp;from your site using WordPress default settings. Simply go to <strong>Settings → Discussion </strong>in your WordPress dashboard. Then, in the <strong>Comment moderation </strong>section, change the line that says, <strong>“Hold a comment in the queue if it contains&nbsp;2 or more links”</strong> to one link.</p>\n\n\n\n<h2 id=\"block-ips-and-eliminate-spam\">Block IPs and eliminate spam</h2>\n\n\n\n<p>Spam can bog down any website. As more malicious actors try to access yours, you could be looking at a serious problem. Fortunately, blocking IP addresses is a quick and simple way to help keep your site safe from known spammers.</p>\n\n\n\n<p>In this article, we introduced you to an IP address and covered a few reasons why you might want to block one. We also showed you four ways to do so. Finally, we provided a couple extra methods to keep your site spam free.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 26 Jan 2022 22:45:03 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Rob Pugh\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:34;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:57:\"Akismet: How to Stop User Spam Registrations in WordPress\";s: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:31:\"http://blog.akismet.com/?p=2234\";s: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://blog.akismet.com/2022/01/26/how-to-stop-user-spam-registrations-in-wordpress/\";s: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:17803:\"<p>Offering a user registration feature on your website can be a great way to generate leads and encourage brand loyalty. On the other hand, it can also make your site vulnerable to spam registrations.</p>\n\n\n\n<p>Fortunately, there are ways to reap the benefits of registrations without opening your site to bad-faith users. By taking some simple precautions, you can block bots and hackers from creating accounts and accessing your WordPress dashboard.</p>\n\n\n\n<p>In this post, we’ll discuss why user registration spam can damage your site. We’ll then share eight ways to stop these unwanted signups.&nbsp;</p>\n\n\n\n<span id=\"more-2234\"></span>\n\n\n\n<h2 id=\"what-is-user-registration-spam\">What is user registration spam?</h2>\n\n\n\n<p>User registration spam occurs when unwanted users register for an account for purposes other than what you intended. They may do so to post malicious comments or even gain access to your dashboard.</p>\n\n\n\n<p>While many know that <a href=\"https://blog.akismet.com/2020/07/06/akismet-five-hundred-billion-with-a-b-spam/\">spam is a huge problem</a> for almost all websites, unwanted user registrations is a kind of spam that’s often overlooked.</p>\n\n\n\n<p>If you allow people to create an account, WordPress’ default registration form is located at <em><a href=\"https://example.com/wp-login.php?action=register\" rel=\"nofollow\">https://example.com/wp-login.php?action=register</a></em>. From there anyone can choose a username, enter an email address, and create an account.</p>\n\n\n\n<img />\n\n\n\n<p>As you can see, malicious third-parties and bots can use this to create spam accounts. They can just append the same URL to any WordPress domain, enter a bit of information, and create an account — it’s that simple.</p>\n\n\n\n<h2 id=\"why-do-spammers-register-on-a-website\">Why do spammers register on a website?</h2>\n\n\n\n<p>Once registered on your site, they can start spreading more spam. This may include posting comments that contain malicious links or self-promotion, which can instantly make your site appear less professional. Junk comments are notorious for damaging the visitor experience, and may even negatively <a href=\"https://jetpack.com/2020/01/02/comment-spam-google-cares/\" target=\"_blank\" rel=\"noreferrer noopener\">impact your Search Engine Optimization (SEO).</a>&nbsp;</p>\n\n\n\n<p>Depending on how you handle registrations, these spam accounts might even have elevated privileges. This can include everything from moderating your site’s comments, to creating new posts, or even accessing your dashboard.</p>\n\n\n\n<p>If a spammer manages to reach the WordPress dashboard, the results could be disastrous. Spammers typically want to spread more spam, but in the worst case scenario they may use this elevated access to launch more sophisticated attacks. This might include deleting your content, stealing your data, or even installing dangerous software.&nbsp;</p>\n\n\n\n<h2 id=\"how-to-stop-user-spam-registrations-in-wordpress\">How to stop user spam registrations in WordPress</h2>\n\n\n\n<p>Hackers and bots are constantly coming up with new techniques for spam registration. For this reason, we recommend using multiple anti-spam strategies simultaneously. This can give you the best chance of catching spambots and malicious third parties. With that in mind, here are eight ways to stop user spam registrations in WordPress:&nbsp;</p>\n\n\n\n<h3 id=\"1-disable-user-registrations\">1. Disable user registrations</h3>\n\n\n\n<p>User registrations can benefit your site in lots of different ways. Often, they can be the first step towards monetizing your content. Free registration can also be a great way to generate leads or build a mailing list.&nbsp;</p>\n\n\n\n<p>Yet not every website requires user registration. If you run a personal blog or business website, you may not necessarily need to offer this feature.&nbsp;</p>\n\n\n\n<p>Depending on your goal, there may be alternative, safer ways to achieve the same results. For example, if you’re planning to use registration as a lead generation tool, you could <a href=\"https://jetpack.com/support/jetpack-blocks/form-block/newsletter-sign-up-form/\" target=\"_blank\" rel=\"noreferrer noopener\">create a newsletter</a> or <a href=\"https://www.elegantthemes.com/blog/tips-tricks/how-to-allow-your-website-visitors-to-request-a-callback\" target=\"_blank\" rel=\"noreferrer noopener\">a callback request form</a> instead. Both of these techniques can generate leads without exposing your site to user spam registrations.&nbsp;</p>\n\n\n\n<p>It’s also possible to accept guest submissions without registration. If you want to feature guest posts on your site, you could use a plugin like <a href=\"https://wordpress.org/plugins/user-submitted-posts/\" target=\"_blank\" rel=\"noreferrer noopener\">User Submitted Posts</a>.</p>\n\n\n\n<p>Disabling user registration isn’t appropriate for every website. For membership sites, forums, and eCommerce sites, user registration is a must-have, and the benefits far outweigh the negatives.</p>\n\n\n\n<p>If you do decide to disable registration, navigate to <strong>Settings → General</strong> in your WordPress dashboard. Then find the <strong>Membership</strong> setting and deselect <strong>Anyone can register</strong>.</p>\n\n\n\n<img />\n\n\n\n<p>Now, no one can register on your WordPress website. This includes those pesky spambots!&nbsp;</p>\n\n\n\n<h3 id=\"2-change-the-wordpress-registration-url\">2. Change the WordPress registration URL</h3>\n\n\n\n<p>By default, all WordPress registration pages are located at /<em>wp-login.php?action=register</em>. This makes it easy for automated scripts and bots to access your site’s signup form. From there, they can create hundreds or even thousands of spam accounts, and flood your site with unwanted content.</p>\n\n\n\n<p>You can reduce this bot-based traffic by changing your registration page URL. Human attackers will still be able to access this form, but an obscure URL can make it virtually impossible for spam bots to attack your site.&nbsp;</p>\n\n\n\n<p>Behind the scenes, the user registration form is actually part of the WordPress login page. This means you can use any plugin that alters the login URL, like <a href=\"https://wordpress.org/plugins/wps-hide-login/\" target=\"_blank\" rel=\"noreferrer noopener\">WPS Hide Login</a>.</p>\n\n\n\n<p>After installing and activating this plugin, navigate to <strong>Settings → WPS Hide Login</strong>. You can now enter your new URL. To really make life difficult for the bots, try to opt for an address that isn’t easy to guess.</p>\n\n\n\n<img />\n\n\n\n<p>Depending on how your site is set up, you may need to update any links, menus, or other content that points to your old registration page URL.</p>\n\n\n\n<h3 id=\"3-perform-email-verification\">3. Perform email verification&nbsp;</h3>\n\n\n\n<p>Every time someone tries to register with your site, you can send an email to the address they provided. The user can then open this email and perform a verification task, like clicking on a link. In this way, email verification can prevent bot-based spam, and will even stop human spammers from registering using fake contact information.&nbsp;</p>\n\n\n\n<p>The drawback is that email verification does add another step to the registration process. To drive conversions, it’s smart to make registration as smooth as possible, and email verification adds friction.</p>\n\n\n\n<p>The good news is that email verification is widely used by many websites. Most internet users are familiar with this technique, and will accept it as a necessary part of creating an account.&nbsp;</p>\n\n\n\n<p>By default, WordPress doesn’t support email verification. But you can add this functionality using the <a href=\"https://wordpress.org/plugins/user-verification/\" target=\"_blank\" rel=\"noreferrer noopener\">User Verification plugin</a>.</p>\n\n\n\n<p>After installing and activating this plugin, navigate to <strong>Users → User Verification</strong>. You can then set <strong>Enable email verification</strong> to <strong>Yes</strong>.</p>\n\n\n\n<img />\n\n\n\n<p>You can also configure some additional options, like choosing the page where users will be redirected following a successful verification.</p>\n\n\n\n<p>This plugin also comes with built-in templates that you can use for your verification emails. To take a closer look, click on the <strong>Email Templates</strong> tab.</p>\n\n\n\n<img />\n\n\n\n<p>You can now explore the various templates and make any desired changes. Once you’ve finished, scroll to the bottom of the screen and click on <strong>Save Changes</strong>.&nbsp;</p>\n\n\n\n<h3 id=\"4-require-admin-approval-for-new-registrations\">4. Require admin approval for new registrations</h3>\n\n\n\n<p>One of the best ways to stop spammers in their tracks is to review each registration. This is a manual process, so if your site receives a large number of signups this can quickly become a time-consuming and frustrating task for your WordPress admin team. For this reason, manual approval is only appropriate for websites that receive a small number of registrations.</p>\n\n\n\n<p>You may also want to opt for this method if you’re highly selective about who can register on your site. For example, if you’re running a private company portal for employees only, it may make sense to review each registration manually.</p>\n\n\n\n<p>If you’ve weighed the pros and cons and decided that manual approval is the preferred way to handle user registrations, you can add this functionality using the <a href=\"https://wordpress.org/plugins/new-user-approve/\" target=\"_blank\" rel=\"noreferrer noopener\">New User Approve</a> plugin.</p>\n\n\n\n<p>The plugin works out of the box, so there are no settings for you to configure. As soon as you activate this plugin, it will add an admin approval notification to your registration form.</p>\n\n\n\n<img />\n\n\n\n<p>Whenever a user completes the registration form, you&#8217;ll receive a notification via email. You can then review the submission by navigating to <strong>Approve New Users → Pending New Users.</strong>&nbsp;</p>\n\n\n\n<h3 id=\"5-add-a-captcha-field\">5. Add a CAPTCHA field</h3>\n\n\n\n<p>A CAPTCHA is a puzzle or challenge that visitors must solve in order to register with your site. These can be an easy way to differentiate between genuine registrations and bots.</p>\n\n\n\n<p><a href=\"https://blog.akismet.com/2021/12/23/do-captcha-and-recaptcha-protect-wordpress-sites-from-bots/\">CAPTCHAs may be effective</a>, but they’re not particularly popular with internet users. There’s even evidence to suggest that CAPTCHAs may reduce your conversion rates by <a href=\"https://web.stanford.edu/~jurafsky/burszstein_2010_captcha.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">up to 40 percent</a>.&nbsp;</p>\n\n\n\n<p>If you do add a CAPTCHA to your registration page, you should ensure that the challenge is easy to solve. You may also want to review your registration process to make sure it’s as painless as possible — even with the addition of a CAPTCHA.</p>\n\n\n\n<p>You should consider that users with visual impairments may find it more difficult to complete certain CAPTCHAs. In particular, we recommend avoiding picture-based puzzles, and opting for text-based challenges wherever possible.</p>\n\n\n\n<p>If you’re using the <a href=\"https://wordpress.org/plugins/contact-form-7/\" target=\"_blank\" rel=\"noreferrer noopener\">Contact Form 7</a> plugin for your registration form, you can add a CAPTCHA using the <a href=\"https://wordpress.org/plugins/really-simple-captcha/\" target=\"_blank\" rel=\"noreferrer noopener\">Really Simple CAPTCHA</a> plugin.</p>\n\n\n\n<p>You can also add an easy, text-based CAPTCHA to your login form using <a href=\"https://wordpress.org/plugins/simple-login-captcha/\" target=\"_blank\" rel=\"noreferrer noopener\">Simple Login Captcha</a>. This may not prevent spammers from registering with your site, but it will prevent bots and automated scripts from accessing their new accounts. In this way, Simple Login Captcha can minimize the damage that spammers can inflict on your site.</p>\n\n\n\n<h3 id=\"6-opt-for-google-s-recaptcha\">6. Opt for Google’s reCAPTCHA</h3>\n\n\n\n<p>When it comes to weeding out the bots, CAPTCHA isn’t your only option. In 2014, Google released <a href=\"https://www.google.com/recaptcha/intro/v3.html\" target=\"_blank\" rel=\"noreferrer noopener\">No CAPTCHA reCAPTCHA</a>, which simply requires visitors to select an <em>I’m not a robot</em> checkbox.</p>\n\n\n\n<p>This is much faster and easier compared to CAPTCHA’s picture-based challenges. It’s also accessible to a wider range of users, particularly people with visual impairments who might be accessing your site using a screen reader.&nbsp;</p>\n\n\n\n<p>It’s important to know that there are <a href=\"https://www.fastcompany.com/90369697/googles-new-recaptcha-has-a-dark-side\" target=\"_blank\" rel=\"noreferrer noopener\">privacy concerns</a> surrounding Google’s reCAPTCHA. In particular, some researchers have theorized that Google may be using cookies to determine whether you&#8217;re a human or a bot.&nbsp;</p>\n\n\n\n<p>You can add a reCAPTCHA checkbox to your site using a plugin like <a href=\"https://wordpress.org/plugins/google-captcha/\" target=\"_blank\" rel=\"noreferrer noopener\">reCaptcha by BestWebSoft</a>. This plugin has additional features that can make the reCAPTCHA authentication less intrusive, including hiding the reCAPTCHA field for whitelisted IP addresses.</p>\n\n\n\n<p>After installing and activating this plugin, navigate to <strong>reCaptcha → Settings</strong>. In the <strong>General</strong><em> </em>section, you can choose which version of reCaptcha you want to use:</p>\n\n\n\n<img />\n\n\n\n<p>Version 2 simply requires visitors to click on a checkbox. Google then determines whether they’re a bot using advanced risk analysis.</p>\n\n\n\n<p>With Version 3, you can either use a checkbox or opt for invisible CAPTCHA. The latter distinguishes between legitimate users and bots by running a script in the background. Since the visitor doesn’t need to manually select a checkbox, this enables you to guard against spammers without affecting the visitor experience.</p>\n\n\n\n<p>The final option is “Invisible”. As the name suggests, this setting evaluates the visitor by running an unobtrusive script. Once again, this promises to minimize spam signups without adding friction to the registration experience. After making your selection, you’ll need to generate a <a href=\"https://www.google.com/recaptcha/admin/create#list\" target=\"_blank\" rel=\"noreferrer noopener\">site key and secret key</a>, and follow the instructions from Google to configure your reCAPTCHA.</p>\n\n\n\n<h3 id=\"7-use-a-geolocation-plugin\">7. Use a geolocation plugin</h3>\n\n\n\n<p>Some websites have a strong connection to a particular location. This includes online stores that only ship to specific countries and websites that specialize in local news. In this scenario, it’s unlikely that someone outside of these areas will need to register.&nbsp;</p>\n\n\n\n<p>If this is the case, you may want to detect each visitor’s whereabouts using a geolocation plugin. You can then grant or deny access to your WordPress registration form based on their current location.&nbsp;</p>\n\n\n\n<p>This can minimize user spam registrations on your WordPress website. At the same time, it may also prevent some legitimate users from registering with your site. There are always going to be special cases where someone may want to create an account from an unexpected location. For example, someone may try to register with your European-based online store while on holiday in America.&nbsp;</p>\n\n\n\n<p>Before enabling geolocation, it’s smart to examine your traffic using a tool like <a href=\"https://analytics.google.com/analytics/web/\" target=\"_blank\" rel=\"noreferrer noopener\">Google Analytics</a>. By evaluating where your visitors originate from, you can identify areas that you may be able to blocklist without losing out on conversions.</p>\n\n\n\n<img />\n\n\n\n<p>You can restrict access to your registration page using the <a href=\"https://wordpress.org/plugins/ip2location-redirection/\" target=\"_blank\" rel=\"noreferrer noopener\">IP2Location Redirection</a> plugin. Unlike some other geolocation plugins, IP2Location enables you to redirect the visitors to an alternative web page depending on their location.</p>\n\n\n\n<p>This can improve the experience for any legitimate visitors who may attempt to register from a blocklisted country. After activating this plugin, select <strong>Redirection</strong> in the left-hand menu. It will then ask you to complete a registration process in order to generate a download key. After inputting this key into the WordPress dashboard, navigate to <strong>Redirection → Rules</strong>.</p>\n\n\n\n<img />\n\n\n\n<p>In the <strong>From</strong><em> </em>field, you can either block access to your registration page or your entire website. Then you can specify all of the locations that you want to block.</p>\n\n\n\n<h2 id=\"protect-your-registration-forms\">Protect your registration forms</h2>\n\n\n\n<p>Many websites use registrations to monetize their content, generate leads, and build relationships with their visitors. But it isn’t all positive! WordPress user spam registrations can flood your database with junk and even put your site at risk.</p>\n\n\n\n<p>While you could simply disable user registrations, this isn’t appropriate for all websites. Fortunately, there are plenty of plugins you can use to offer this functionality safely. This includes performing email verification via the <a href=\"https://wordpress.org/plugins/user-verification/\" target=\"_blank\" rel=\"noreferrer noopener\">User Verification plugin</a> and adding your choice of visible or invisible reCAPTCHA using <a href=\"https://wordpress.org/plugins/google-captcha/\" target=\"_blank\" rel=\"noreferrer noopener\">reCaptcha by BestWebSoft</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 26 Jan 2022 15:02:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Simon Keating\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:35;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"Post Status: WP Career Summit News\";s: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:31:\"https://poststatus.com/?p=92839\";s: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:45:\"https://poststatus.com/wp-career-summit-news/\";s: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:4285:\"<p><strong><a href=\"https://wpcareersummit.com\">The site is live</a>!</strong></p>\n\n\n\n<p><strong>The Call for Speakers is live!</strong></p>\n\n\n\n<p><strong>The Call for Sponsors is live!</strong></p>\n\n\n\n<p><strong>Registration is open!</strong></p>\n\n\n\n<p>The first ever WordPress Career Summit is scheduled for Friday, April 8, 9am-5pm CDT.</p>\n\n\n\n<p>What we have planned:</p>\n\n\n\n<ul><li>7 sessions for Job Seekers</li><li>7 sessions for Employers</li><li>Interactive rooms for Sponsors</li><li>Recorded commercials for Sponsors</li><li>Speaking opportunities</li><li>A Job Fair</li><li>Networking opportunities</li><li>Lots of guidance and instruction!</li></ul>\n\n\n\n<h2 id=\"opportunities-for-sponsors\">Opportunities for Sponsors</h2>\n\n\n\n<p>There are only 12 sponsor spots, so act early if you\'d like to sponsor this event. Sponsors will have the opportunity to show why potential employees would want to work with them, as well as the chance to meet career seekers, accept résumés, and even schedule interviews. The summit will include an online job fair, too.</p>\n\n\n\n<p><a href=\"https://wpcareersummit.com/sponsorship/\">Call for Sponsors Link</a></p>\n\n\n\n<h2 id=\"opportunies-for-speakers\">Opportunies for Speakers</h2>\n\n\n\n<p>We will do specific outreach for some speakers with specific knowledge but will also open a call for speakers, too! And because we believe in honoring those who so generously donate their time, we\'ll have a speaker honorarium. So if you have something to talk about that will help others with job searching, or helping businesses do better recruiting and hiring, watch for our call for speakers soon.</p>\n\n\n\n<p><a href=\"https://wpcareersummit.com/apply-to-speak/\">Call for Speakers Link</a></p>\n\n\n\n<h2 id=\"opportunities-for-job-seekers\">Opportunities for Job Seekers</h2>\n\n\n\n<p>If you\'re someone who is looking for a new career, or to make a move to a new role or company, this will be the perfect opportunity to meet with employers, learn about their workplace cultures, and hear about open positions.</p>\n\n\n\n<p>The job seeker track will also be a great way to learn how to find a new position. It will cover résumé development, job searching, interviewing techniques, portfolio assembly, and more. </p>\n\n\n\n<p><a href=\"https://wpcareersummit.com/register-to-attend/\">Registration Link</a></p>\n\n\n\n<h2>Opportunities for Employers</h2>\n\n\n\n<p>If you\'re someone in HR or who does recruiting, hiring or training for your company, this will be the perfect opportunity to learn best practices for onboarding new employees, recruiting talent, and recruiting underrepresented groups.</p>\n\n\n\n<p><a href=\"https://wpcareersummit.com/register-to-attend/\">Registration Link</a></p>\n\n\n\n<h2 id=\"dont-miss-it\">Don\'t Miss It!</h2>\n\n\n\n<p>Keep an eye on&nbsp;<a href=\"https://twitter.com/post_status\">Post Status Twitter</a>&nbsp;and Slack to keep on top of the many opportunities the WP Career Summit presents.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile has-background\"><a href=\"https://poststatus.com/\"><img src=\"https://cdn.poststatus.com/wp-content/uploads/2021/09/vertical-post-status-logo-250.png\" alt=\"Post Status\" class=\"wp-image-85823 size-full\" /></a><div class=\"wp-block-media-text__content\">\n<p class=\"has-text-align-left has-normal-font-size\" id=\"h-get-ready-for-remote-work\">You — and <a href=\"https://poststatus.com/business-membership/\">your whole team</a> can <a href=\"https://poststatus.com/post-status-membership-club/\">Join Post Status</a> too!</p>\n\n\n\n<p class=\"has-text-align-left has-small-font-size\"><strong>Build your network. Learn with others. Find your next job — or your next hire.</strong> Read the <strong>Post Status</strong> <a href=\"https://poststatus.com/newsletter/\">newsletter</a>. <img src=\"https://s.w.org/images/core/emoji/13.1.0/72x72/2709.png\" alt=\"✉\" class=\"wp-smiley\" /> Listen to <a href=\"https://poststatus.com/podcasts/\">podcasts</a>. <img src=\"https://s.w.org/images/core/emoji/13.1.0/72x72/1f399.png\" alt=\"🎙\" class=\"wp-smiley\" /> Follow <a href=\"https://twitter.com/post_status/\">@Post_Status</a>. <img src=\"https://s.w.org/images/core/emoji/13.1.0/72x72/1f426.png\" alt=\"🐦\" class=\"wp-smiley\" /></p>\n</div></div>\n\n\n\n<div class=\"wp-block-spacer\"></div>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 26 Jan 2022 03:45:08 +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:\"Michelle Frechette\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:36;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:42:\"HeroPress: The Power Of Women In WordPress\";s: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:56:\"https://heropress.com/?post_type=heropress-essays&p=4342\";s: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:136:\"https://heropress.com/essays/the-power-of-women-in-wordpress/#utm_source=rss&utm_medium=rss&utm_campaign=the-power-of-women-in-wordpress\";s: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:7025:\"<img width=\"1024\" height=\"512\" src=\"https://heropress.com/wp-content/uploads/2022/01/012522-min.jpg\" class=\"attachment-large size-large wp-post-image\" alt=\"Pull Quote: To get something new you have to stop doing something old.\" /><p>I would like to share a glimpse of my experience from this tiny but adventurous journey. I would start with the culture of the city I was born in “Lake city Udaipur” located in the state of Rajasthan. It’s a beautiful city with a sparkling culture but also a bit of rigidness about girls&#8217; education. But unlike the societal mentally my parents were the biggest supporters for my education and not only the schooling but till the graduation. With their support and encouragement I completed my graduation in Computer Science Engineering</p>\n<p>After completing my graduation I was able to secure employment at Bosch.</p>\n<p>But later on I ended my journey at Bosch and joined the Ideabox as a QA in my home town Udaipur.</p>\n<h2>How I started my WordPress Journey</h2>\n<p>I started my career/journey with WordPress back in the year 2015. During the time of my graduation I came to know about WordPress but didn’t have much information about the operations of it but I was excited to learn new technology and luckily a couple of years later I got a chance to work as WordPress Quality Analyst. And my Journey with WordPress began with it.</p>\n<p>When I started working as a Quality Analyst I was able to explore WordPress and take a deep dive into it. From that moment, I decided to make it an integral part of my ever learning professional career.</p>\n<p>WordPress is not just a tool that can be used to simplify website building, but also a platform where you can meet new people, share your thoughts, learn from them and improve yourself through the process.</p>\n<p>When I first started out, I had many questions in mind, some really basic ones too, like.</p>\n<p>What are Themes &amp; Plugins ?</p>\n<p>Who developed WordPress ?</p>\n<p>What is WordCamp ?</p>\n<p>It’s the same time where I thought maybe I’ll contribute to WordPress one day.</p>\n<h2>Becoming A Contributor</h2>\n<p>I started contributing to WordPress in 2015 with Theme Review. Where I got a chance to work with WordPress code experts and at the same time I learned concepts of theme development. It was a great opportunity for me to learn and improve my development skills. As I was very much interested in testing from the beginning, I did the same in WordPress and contributed to Core.</p>\n<p>My first contribution was in WordPress 4.7 and I remember the day when I first saw my name in the WordPress contributor list. This thing encourages me to make more contributions towards WordPress. I continued my contribution in all WordPress core updates and am happy to be a part of the community.</p>\n<p><a href=\"https://heropress.com/wp-content/uploads/2022/01/image2.png\"><img /></a></p>\n<p>Then I thought of translating WordPress in my native language Hindi. From there, I started contributing to Translation and became GTE (General Translation Editor) of the Hindi project.</p>\n<p><a href=\"https://heropress.com/wp-content/uploads/2022/01/image4.png\"><img /></a></p>\n<p>Then we organized WordCamp Udaipur 2017, and it helped me to connect to new people, and I got to know many people already working on WordPress. This was my first WordCamp, and the experience was superb. It gave me a chance to share my WordPress contribution journey with all members and I participated as a Panelist. It was a great moment for me when I was speaking in front of hundreds of people and everyone cherished my journey. It inspired me to continue my contribution to another team like Meta, Support WordPress TV.</p>\n<p><a href=\"https://heropress.com/wp-content/uploads/2022/01/image3.png\"><img /></a></p>\n<p>I was very crazy to get new badges on my profile and these things redirect me in all directions.</p>\n<h2>Big Changes</h2>\n<p>In 2019 my life revamped when I got married and with the support and guidance of my life partner, I took a new step in my life and joined Brainstorm Force. where I got a chance to work on WordPress top most product and learned many things from designing to marketing.</p>\n<p>In November 2019 Josepha Haden sent out a call for an all-women release squad. I’ve always felt that not enough women take part in WordPress, so I decided to jump in.</p>\n<p>We talked, and I got on board as the <strong>Test Lead</strong>. It’s been a wonderful journey— worth every second and this was a proud moment for me when I saw my name on the WordPress Noteworthy list . You feel proud when you see your small contributions used by 40% of the web.</p>\n<p>As a test lead, my first priority was to ensure that the release would be stable and more importantly, ready for production sites. To effectively manage all the testing, we decided to run test scrubs every week, and talk about the testing areas to get the entire team involved.</p>\n<p>We initiated the first test scrub on 29th September and we got a great response from everyone. So, we continued to run the scrub every week and also picked up tickets that needed an immediate resolution.</p>\n<p>I continued my role in WordPress 5.7 as well. This was the moment where I met with new people and got a chance to look into WordPress core release.</p>\n<p>This is how I improved my skills and got the chance to work on the core release of WordPress 5.6 &amp; WordPress 5.7.</p>\n<p><a href=\"https://heropress.com/wp-content/uploads/2022/01/image1.png\"><img /></a></p>\n<p><a href=\"https://heropress.com/wp-content/uploads/2022/01/image5.png\"><img /></a></p>\n<p>Skills you have with yourself will eventually fade away unless and until you start working on them and sharpen it. so don’t underestimate the value of any skill. It will eventually help you somehow in your career.</p>\n<p><strong><i>“Believe in Yourself and achieve Success.”</i></strong></p>\n<p>To get something new you have to stop doing something old, and I got the chance to work on WordPress top product MemberPress. In October 2021, I joined Caseproof LLC, a company that specializes in producing WordPress plugins and services for online businesses.</p>\n<p>It’s not difficult to manage personal &amp; Professional life if you have dedication towards the work and I am really enjoying my work with personal life.</p>\n<h2>What’s next ?</h2>\n<p>There is no chance that I’ll stop working with WordPress. I would love to continue working with the community and help more people get involved in WordPress. It is true that many people are working on WordPress, but they don’t know much about contribution. Therefore, my future goal is to help people (especially women) contribute more to WordPress and take this platform on a large scale. I’ll try to be a part of more local and International WordCamp &amp; Meetups.</p>\n<p>So get involved with WordPress and you will eventually evolve.</p>\n<p>Thank you Topher and HeroPress team for giving me a chance to share my experience.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 26 Jan 2022 02:00:56 +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:10:\"Monika Rao\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:37;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:118:\"WPTavern: WordPress 5.9 “Josephine” Released, Introduces Full Site Editing and New Twenty Twenty-Two Default 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:30:\"https://wptavern.com/?p=126378\";s: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:267:\"https://wptavern.com/wordpress-5-9-josephine-released-introduces-full-site-editing-and-new-twenty-twenty-two-default-theme?utm_source=rss&utm_medium=rss&utm_campaign=wordpress-5-9-josephine-released-introduces-full-site-editing-and-new-twenty-twenty-two-default-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:3820:\"<p>After a short delay, <a href=\"https://wordpress.org/news/2022/01/josephine/\">WordPress 5.9 &#8220;Josephine&#8221;</a> has finally arrived with the long-awaited full-site editing features that give users more control over site design and page templates. </p>\n\n\n\n<p>This release is named for American-born jazz singer Joséphine Baker, who found success on broadway before moving to Europe and becoming very popular in France.  She frequently made her way back the US in the 1950&#8217;s to advocate for the Civil Rights Movement, participating in demonstrations and boycotting segregated venues.</p>\n\n\n\n<p>For many years, non-technical WordPress users were told to stay away from the Theme Editor menu and were warned that changes made there could make their sites inoperable. A new era in WordPress theme editing has dawned with the debut of the new template editor. It allows users to manipulate templates (home, single post, etc) and template parts (headers, footers, etc) with a visual interface.</p>\n\n\n\n<img />Appearance &gt; Editor (beta) &gt; Site\n\n\n\n<p>For block themes, the new Site Editor and Styles interface has replaced the Customizer. <a href=\"https://wordpress.org/support/article/styles-overview/\">Styles</a> lets users customize their sites with different colors, typography, and layouts, as well as give blocks a more unifying appearance.</p>\n\n\n\n<div class=\"wp-block-image\"><img /></div>\n\n\n\n<h3 id=\"twenty-twenty-two-a-new-default-theme-for-building-beautiful-block-based-websites\">Twenty Twenty-Two: A New Default Theme for Building Beautiful Block-based Websites</h3>\n\n\n\n<p><a href=\"https://wordpress.org/themes/twentytwentytwo/\">Twenty Twenty-Two</a> is bundled in WordPress 5.9 as the first ever block-based default theme. It comes with a collection of pre-designed color palettes and a beautiful <a href=\"https://make.wordpress.org/core/files/2021/10/Example-Layouts-scaled.jpg\">array of patterns</a> for all kinds of creative combinations. Twenty Twenty-Two was built to showcase full-site editing features, so the layout of every page can be completely customized, making it a truly multipurpose theme.</p>\n\n\n\n<img />\n\n\n\n<h3 id=\"a-new-navigation-block\">A New Navigation Block</h3>\n\n\n\n<p>WordPress 5.9 introduces block-based site navigation. Users can select from a responsive menu that always displays or one that adapts to the viewport. The menu is saved in the database as a custom post type and can be used across templates and even after switching themes.</p>\n\n\n\n<img />\n\n\n\n<p>Other notable updates in the 5.9 release include the following: </p>\n\n\n\n<ul><li><strong>Pattern Explorer</strong>: browse patterns with a near full-screen view. Add new patterns and edit them to suit your site with just a few clicks.</li><li><strong>Revamped list view</strong>: drag and drop list items, expand and collapse sections, add HTML anchors to blocks</li><li><strong>Improved block controls</strong>: new typography tools, flexible layout controls, and finer control of design details like spacing and borders</li><li><strong>Updated Gallery Block</strong>: give all images the same style or style each one differently, change the layout with drag-and-drop</li></ul>\n\n\n\n<p>Developers also have some new tools in 5.9 &#8211; a new API for <a href=\"https://wptavern.com/wordpress-5-9-to-introduce-new-api-for-locking-blocks\">locking blocks</a>, register multiple stylesheets per block, and theme.json support for child themes.</p>\n\n\n\n<p>WordPress 5.9 was made possible by the efforts of 624 contributors, who worked on 371 Trac tickets and submitted <a href=\"https://github.com/WordPress/gutenberg/compare/v10.8.0...v11.9.0\">1,919 PR&#8217;s on GitHub</a>. Translators have made WordPress available in 205 languages, and 71 locales were more than 90 percent translated at the time of the release.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 26 Jan 2022 01:20:19 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:38;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"WPTavern: If This Is Modern WordPress Theme Development, Sign Me Up\";s: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:30:\"https://wptavern.com/?p=128830\";s: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:177:\"https://wptavern.com/if-this-is-modern-wordpress-theme-development-sign-me-up?utm_source=rss&utm_medium=rss&utm_campaign=if-this-is-modern-wordpress-theme-development-sign-me-up\";s: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:8772:\"<p class=\"has-drop-cap\">I have had a block theme idea rattling around in my brain for a while. For months, I have considered building a single-page profile/card theme, and I finally sat down and put in the work over the weekend. In part, I just wanted to do this for fun. However, another part of me wanted to see how block theming has progressed from a developer perspective.</p>\n\n\n\n<p>Inspiration for this theme came from a few other people and projects. Kjell Reigstad&#8217;s <a href=\"https://wptavern.com/carrd-like-theme-experiment-provides-a-glimpse-into-the-future-of-theming\">two-column landing page experiment</a> from October 2020 first triggered it. A recent question to the Ask the Bartender column about <a href=\"https://wptavern.com/ask-the-bartender-are-there-any-compact-and-personal-block-themes\">compact-and-cozy themes</a> got my creative juices flowing again. However, seeing the Themes Team approve a similar block theme, <a href=\"https://wordpress.org/themes/miniblock-ooak/\">Miniblock OOAK</a>, by Carolina Nymark meant that the rules were now lax enough to possibly put something like this out into the world.</p>\n\n\n\n<p>One of the problems is that block-based theming has burned me before. I spent months building a new project last year in my precious free time only to have Gutenberg plugin updates wipe out my progress weeks later. I knew things could change with the unstable foundation of alpha-level software, but it was still deflating. Needless to say, I could never find the motivation to pick it back up.</p>\n\n\n\n<p>With WordPress 5.9 and a more stable block-theming system just mere days ahead, it was time to give it another shot.</p>\n\n\n\n<p>I wanted to <em>learn block theming deeply</em>. The only way I could do that was to go back to the beginning. I needed to reacquaint myself with those foundational elements of plain ol&#8217; HTML, CSS, and PHP. And forget everything I thought I knew building on top of the modern web. I needed to become a <em>noob</em> again.</p>\n\n\n\n<p>Technically, it is impossible to forget everything I know without incurring some sort of amnesia. However, maybe &#8212; <em>just maybe</em> &#8212; I could get back to the building blocks of the web.</p>\n\n\n\n<p>Could I spin up a WordPress theme without a complex web of dependencies spanning over 900 projects in my <code>/node_modules</code> folder?</p>\n\n\n\n<p>Could I create something without dutifully pulling in my base PHP scripts via Composer?</p>\n\n\n\n<p>Could I, <em>you know</em>, just build a WordPress theme?</p>\n\n\n\n<p>The first step was to check my ego at the door. When I set aside years of modern tooling and a workflow built around them, what I found was a beautifully-simple theming system that pays homage to WordPress&#8217;s roots but is flexible enough to extend for advanced builds.</p>\n\n\n\n<p>This is not to say that there were no hiccups along the way, but we hear about those enough. Plus, I consider programming/development to be the art of solving problems.</p>\n\n\n\n<p>I had a restless weekend. I got four, maybe five, hours of solid sleep between Friday and Saturday night. Perhaps I had so many projects and things going on that my mind could not shut them out. Regardless, I was back awake at 3:30am on Sunday morning, tired but unable to catch those much-needed Z&#8217;s. So, I cracked open my code editor and created a new theme project.</p>\n\n\n\n<p>Within an hour, it was working. It was in decent enough shape to share with friends over Twitter in two.</p>\n\n\n\n<p>The following is a screenshot of the current homepage. Technically, it is the only page. I have tinkered a bit since I pushed my first commits live.</p>\n\n\n\n<img />One-page profile card theme.\n\n\n\n<p>This is a block pattern named &#8220;Reflections.&#8221; The <a href=\"https://wordpress.org/photos/photo/32661ecf00/\">mountain reflecting on the lake photo</a> is from WordPress Photos and shot by Anne McCarthy. The gradient used for the background is a reflection of the image&#8217;s colors too, which I thought was a nice touch.</p>\n\n\n\n<p>The theme includes several other patterns. The goal is to allow users to pick their favorite for their profile card, customize the content, and save. <em>Easy peasy.</em> I hit a snag with this, which I dive into at the end of the post. For the most part, everything went well.</p>\n\n\n\n<h2 id=\"what-i-learned-from-the-experience\">What I Learned from the Experience</h2>\n\n\n\n<p class=\"has-drop-cap\">Creating WordPress themes with blocks is easy. Most things are structured and play by a standard set of rules. Templates go here. Parts go there. Plug in your settings over yonder. We are likely to see even more structure in future WordPress versions.</p>\n\n\n\n<p>I built the theme from scratch using only my code editor and a local WordPress install. No Node modules. No PHP libraries. No build setup whatsoever.</p>\n\n\n\n<p>I will likely use those things before this project is complete. Some tools simply make development easier. However, not needing them or diving into more complex PHP APIs has lowered the barrier to entry.</p>\n\n\n\n<p>It felt like I had been transported back to the mid-2000s, just with a better system in place to take care of all the complex bits. For once, I could almost entirely focus on the design.</p>\n\n\n\n<p>There are issues aplenty with the underlying system. Oddities like extra wrapper elements around wide-aligned blocks still exist in the editor. And, several blocks need updating &#8212; <em>I am looking at you File block for not reusing the existing Button block</em>.</p>\n\n\n\n<p>Basically, there are quirks. As a themer, you learn to work with them in mind, wait for a fix upstream, or risk your sanity trying to find workarounds.</p>\n\n\n\n<p>I am hesitant about sharing unfinished work, but I should also show proof. Those interested can check out the <a href=\"https://github.com/x3p0-dev/x3p0-profile/tree/e65b2604c3bd695c67cb16062673519cd48c9ea1\">GitHub repo</a> at the date of this article, at least before I do anything too crazy with it.</p>\n\n\n\n<p>Some theme authors may look at my project and think it is too simple of an example. However, I could easily apply everything about it to a full-blown theme. The standards are the same, regardless of the size.</p>\n\n\n\n<p>Maybe we should start rethinking what a <em>theme</em> is. With block-based theming being so young, we should all be doing a bit of experimentation.</p>\n\n\n\n<h2 id=\"a-missed-opportunity\">A Missed Opportunity</h2>\n\n\n\n<p class=\"has-drop-cap\">I will get slightly technical in this bit because it is crucial for explaining a missed opportunity for a well-rounded user experience. The site editor is in a place where it is easy to build for more advanced users. Patterns help bridge the gap for those less technical, but they are not enough.</p>\n\n\n\n<p>Think about the major sections of a webpage. Pieces like the header, footer, sidebar, content, and even sub-sections of those. As a user, how do you replace the entire content area design that is already on the screen with a different content pattern?</p>\n\n\n\n<p>You could delete the one that is there and insert a new pattern. However, deleting and inserting sections of a page is a high-risk action.</p>\n\n\n\n<p>If the area you want to change is a template part, you can replace one with another. That is assuming the theme author has registered any for that area. This is a low-risk action and one of the best features of the site editor.</p>\n\n\n\n<p>For example, here are header templates that Twenty Twenty-Two registers as they appear under the &#8220;Replace&#8221; toolbar menu item:</p>\n\n\n\n<img />Replacing header template part in Twenty Twenty-Two.\n\n\n\n<p>However, that is not the theme&#8217;s entire array of header patterns &#8212; it has 18 in total. I imagine that most end-users will never discover them.</p>\n\n\n\n<p>One of the downsides of creating patterns meant for specific template parts is that end-users have no way of replacing or transforming a part wholesale with a new pattern.</p>\n\n\n\n<p>Theme authors can duplicate their efforts by copying the pattern code into the template part, assuming it has no PHP mixed in. Or, they can create those parts and pull in the associated pattern via the Pattern block:</p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!-- wp:pattern { \"slug\":\"namespace/slug\" } --&gt;</code></pre>\n\n\n\n<p>The issue with this approach is that the site editor does not display the pattern content in the &#8220;Replace&#8221; dropdown (<em>did I just discover a bug?</em>):</p>\n\n\n\n<img />Template parts that use the Pattern block.\n\n\n\n<p>The solution should be simple. Patterns registered for a template part should be interchangeable via the UI. Or, parts that use the Pattern block should display correctly in the &#8220;Replace&#8221; dropdown.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 26 Jan 2022 00:57:25 +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:39;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"WordPress.org blog: WordPress 5.9 “Josephine”\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"https://wordpress.org/news/?p=12089\";s: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:45:\"https://wordpress.org/news/2022/01/josephine/\";s: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:55987:\"<img width=\"632\" height=\"428\" src=\"https://i1.wp.com/wordpress.org/news/files/2022/01/5-9-inline-v2.png?resize=632%2C428&ssl=1\" alt=\"\" class=\"wp-image-12139\" />\n\n\n\n<h2 id=\"welcome-to-josephine\">Welcome to Joséphine!</h2>\n\n\n\n<p>Introducing 5.9, “Joséphine”. Named in honor of acclaimed international jazz singer Joséphine Baker, this latest, most versatile WordPress release is here: <a href=\"https://wordpress.org/download/\">download it</a> or update it directly from your dashboard. <br /><br />As a lifelong civil rights campaigner, Joséphine Baker believed that all people could live in harmony together, just as different instruments in a jazz band blend together to make a whole piece. Turn on a playlist from your favorite music service and enjoy her famous renditions of “You are the greatest love”, “Sans Amour”, and “Love is a Dreamer” as you discover all the features of this brand-new WordPress release. </p>\n\n\n\n<hr class=\"wp-block-separator\" />\n\n\n\n<h2 id=\"full-site-editing-is-here\">Full site editing is here.</h2>\n\n\n\n<p>It puts you in control of your whole site, right in the WordPress Admin.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<img width=\"632\" height=\"474\" src=\"https://i2.wp.com/wordpress.org/news/files/2022/01/5-9-release-1.png?resize=632%2C474&ssl=1\" alt=\"\" class=\"wp-image-12101\" />\n\n\n\n<h3 id=\"say-hello-to-twenty-twenty-two\">Say hello to Twenty Twenty-Two.</h3>\n\n\n\n<p>And say hello to the first default block theme in the history of WordPress. This is more than just a new default theme. It’s a brand-new way to work with WordPress themes.</p>\n\n\n\n<p><a href=\"https://wordpress.org/support/article/block-themes/\">Block themes</a> put a wide array of visual choices directly in your hands, from color schemes and font combinations to page templates and image filters, all from the <a href=\"https://wordpress.org/support/article/site-editor/\">Site Editor</a>. So in one place, you can give Twenty Twenty-Two the same look and feel as your organization’s other materials—or take your site’s look in another direction.</p>\n\n\n\n<p>You already have the Twenty Twenty-Two theme—it came installed with WordPress 5.9. You will find it with your other installed themes.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<img width=\"632\" height=\"474\" src=\"https://i2.wp.com/wordpress.org/news/files/2022/01/5-9-release-2.png?resize=632%2C474&ssl=1\" alt=\"\" class=\"wp-image-12102\" />\n\n\n\n<h3 id=\"your-personal-paintbox-awaits\">Your personal paintbox awaits</h3>\n\n\n\n<p>Twenty Twenty-Two is not the only theme built for full site editing. More block themes are in the Themes directory, and the number will grow.&nbsp;</p>\n\n\n\n<p>When you use any of those new themes, you no longer need the Customizer. Instead, you have all the power of the Styles interface inside the Site Editor. Just as in Twenty Twenty-Two, you build your site’s look and feel there, with the tools you need for the job in a fluid interface that practically comes alive in your hands.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<img width=\"632\" height=\"474\" src=\"https://i0.wp.com/wordpress.org/news/files/2022/01/5-9-release-3.png?resize=632%2C474&ssl=1\" alt=\"\" class=\"wp-image-12103\" />\n\n\n\n<h3 id=\"the-navigation-block\">The Navigation block</h3>\n\n\n\n<p>Blocks come to site navigation, the heart of user experience.</p>\n\n\n\n<p>The new Navigation block gives you the power to choose: an always-on responsive menu or one that adapts to your user’s screen size. And your choices are remembered! In 5.9, the block saves menus as custom post types, which get saved to the database.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<h2 id=\"more-improvements-and-updates\">More improvements and updates</h2>\n\n\n\n<p>Do you love to blog? New tweaks to the publishing flow help you say more, faster.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<img width=\"632\" height=\"474\" src=\"https://i1.wp.com/wordpress.org/news/files/2022/01/5-9-release-5.png?resize=632%2C474&ssl=1\" alt=\"\" class=\"wp-image-12105\" />\n\n\n\n<h3 id=\"better-block-controls\">Better block controls</h3>\n\n\n\n<p>WordPress 5.9 features new typography tools, flexible layout controls, and finer control of details like spacing, borders, and more—to help you get not just the look, but the polish that says you care about details.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<img width=\"632\" height=\"474\" src=\"https://i2.wp.com/wordpress.org/news/files/2022/01/5-9-release-4.png?resize=632%2C474&ssl=1\" alt=\"\" class=\"wp-image-12104\" />\n\n\n\n<h3 id=\"the-power-of-patterns\">The power of patterns</h3>\n\n\n\n<p>The WordPress Pattern Directory is the home of a wide range of block patterns built to save you time and add to your site&#8217;s functionality. And you can edit them as you see fit. Need something different in the header or footer for your theme? Swap it out with a new one in a few clicks.</p>\n\n\n\n<p>With a nearly full-screen view that draws you in to see fine details, the Pattern Explorer makes it easy to compare patterns and choose the one your users need.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<img width=\"632\" height=\"474\" src=\"https://i2.wp.com/wordpress.org/news/files/2022/01/5-9-release-6.png?resize=632%2C474&ssl=1\" alt=\"\" class=\"wp-image-12106\" />\n\n\n\n<h3 id=\"a-revamped-list-view\">A revamped List View</h3>\n\n\n\n<p>In 5.9, the List View lets you drag and drop your content exactly where you want it. Managing complex documents is easier, too: simple controls let you expand and collapse sections as you build your site—and add HTML anchors to your blocks to help users get around the page.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<img width=\"632\" height=\"474\" src=\"https://i2.wp.com/wordpress.org/news/files/2022/01/5-9-release-7.png?resize=632%2C474&ssl=1\" alt=\"\" class=\"wp-image-12107\" />\n\n\n\n<h3 id=\"a-better-gallery-block\">A better Gallery block</h3>\n\n\n\n<p>Treat every image in a Gallery Block the same way you would treat it in the Image Block.</p>\n\n\n\n<p>Style every image in your gallery differently, or make them all the same, except for one or two. Or change the layout with drag-and-drop.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<hr class=\"wp-block-separator\" />\n\n\n\n<h2 id=\"wordpress-5-9-for-developers\">WordPress 5.9 for developers</h2>\n\n\n\n<h3 id=\"theme-json-for-child-themes\">Theme.json for child themes</h3>\n\n\n\n<p>In 5.9, theme.json supports child themes. That means your users can build a child theme right in the WordPress Admin, without writing a single line of code.&nbsp;</p>\n\n\n\n<p><a href=\"https://make.wordpress.org/core/2022/01/04/block-themes-a-new-way-to-build-themes-in-wordpress-5-9/\">This dev note</a> has all the details. Take a look!</p>\n\n\n\n<h3 id=\"block-level-locking\">Block-level locking</h3>\n\n\n\n<p>Now you can lock any block (or a few of them) in a pattern, just by <a href=\"https://make.wordpress.org/core/2022/01/08/locking-blocks-in-wordpress-5-9/\">adding a lock attribute to its settings in block.json</a>—leaving the rest of the pattern free for users to adapt to their content.&nbsp;</p>\n\n\n\n<h3 id=\"multiple-stylesheets-in-a-block\">Multiple stylesheets in a block</h3>\n\n\n\n<p>Now you can register more than one stylesheet per block, which lets a given block load only the styles its markup requests, and not a whole sheet. Read the details in this <a href=\"https://make.wordpress.org/core/2021/12/15/using-multiple-stylesheets-per-block/\">dev note</a>.</p>\n\n\n\n<h3 id=\"a-refactored-gallery-block\">A refactored Gallery Block</h3>\n\n\n\n<p>The changes to the Gallery Block listed above are the result of near-complete refactor. Have you built a plugin or theme on the Gallery Block functionality? Be sure you read this <a href=\"https://make.wordpress.org/core/2021/08/20/gallery-block-refactor-dev-note/\">dev note</a>. It tells you what you need to do for compatibility.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<hr class=\"wp-block-separator\" />\n\n\n\n<h3 id=\"learn-more-about-the-new-features-in-5-9\">Learn more about the new features in 5.9</h3>\n\n\n\n<p>Want to dive into 5.9 but don’t know where to start? Check out this free course about <a href=\"https://learn.wordpress.org/course/simple-site-design-with-full-site-editing/\">Simple Site Design</a> from <a href=\"https://learn.wordpress.org/\">Learn WordPress</a>. There are a variety of learning materials including short how-to video tutorials and resources on new features in WordPress 5.9, with much more planned.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<hr class=\"wp-block-separator\" />\n\n\n\n<h3 id=\"check-the-field-guide-for-more\">Check the Field Guide for more!</h3>\n\n\n\n<p>Check out the latest version of the WordPress Field Guide. It has lots of useful information with links to detailed developer notes to support you building in WordPress for everyone you serve. <a href=\"https://make.wordpress.org/core/2022/01/10/wordpress-5-9-field-guide/\">WordPress 5.9 Field Guide</a>.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<h2 id=\"the-squad\"><strong>The Squad</strong></h2>\n\n\n\n<p>The WordPress 5.9 release was led by <a href=\"https://profiles.wordpress.org/matt/\">Matt Mullenweg</a>, and supported by this highly enthusiastic release squad:</p>\n\n\n\n<ul><li>Release Lead: <a href=\"https://profiles.wordpress.org/matt/\">Matt Mullenweg</a></li><li>Core Tech and Release Coordinator: <a href=\"https://profiles.wordpress.org/hellofromtonya/\">Tonya Mork</a></li><li>Triage Leads: <a href=\"https://profiles.wordpress.org/audrasjb/\">Jb Audras</a> and <a href=\"https://profiles.wordpress.org/chaion07/\">Ahmed Chaion</a></li><li>Editor Tech: <a href=\"https://profiles.wordpress.org/noisysocks/\">Robert Anderson</a> and <a href=\"https://profiles.wordpress.org/mamaduka/\">George Mamadashvili</a></li><li>Theme Leads: <a href=\"https://profiles.wordpress.org/kjellr/\">Kjell Reigstad</a> and <a href=\"https://profiles.wordpress.org/jffng/\">Jeff Ong</a></li><li>Technical Writer: <a href=\"https://profiles.wordpress.org/psykro/\">Jonathan Bossenger</a></li><li>Documentation Leads: <a href=\"https://profiles.wordpress.org/mkaz/\">Marcus Kazmierczak</a> and <a href=\"https://profiles.wordpress.org/milana_cap/\">Milana Cap</a></li><li>Marketing &amp; Communications Leads: <a href=\"https://profiles.wordpress.org/marybaum/\">Mary Baum</a>, <a href=\"https://profiles.wordpress.org/webcommsat/\">Abha Thakor</a>, and <a href=\"https://profiles.wordpress.org/chanthaboune/\">Josepha Haden Chomphosy</a></li><li>Test Leads: <a href=\"https://profiles.wordpress.org/boniu91/\">Piotrek Boniu</a> and <a href=\"https://profiles.wordpress.org/annezazu/\">Anne McCarthy</a></li></ul>\n\n\n\n<p>WordPress 5.9 also reflects the hard work of 624 generous volunteer contributors. Collaboration occurred on <a href=\"https://core.trac.wordpress.org/query?status=closed&milestone=5.9&group=component&col=id&col=summary&col=status&col=milestone&col=owner&col=type&col=priority&order=priority\">370 tickets on Trac</a> and more than <a href=\"https://github.com/WordPress/gutenberg/compare/v10.8.0...v11.9.0\">1900 pull requests on GitHub</a>.</p>\n\n\n<p><a href=\"https://profiles.wordpress.org/2linctools/\">2linctools</a>, <a href=\"https://profiles.wordpress.org/aaroncampbell/\">Aaron D. Campbell</a>, <a href=\"https://profiles.wordpress.org/jorbin/\">Aaron Jorbin</a>, <a href=\"https://profiles.wordpress.org/aaronrobertshaw/\">Aaron Robertshaw</a>, <a href=\"https://profiles.wordpress.org/abesell132/\">abesell132</a>, <a href=\"https://profiles.wordpress.org/webcommsat/\">Abha Thakor</a>, <a href=\"https://profiles.wordpress.org/acosmin/\">acosmin</a>, <a href=\"https://profiles.wordpress.org/wpmudev-support8/\">Adam - WPMU DEV Support</a>, <a href=\"https://profiles.wordpress.org/bosconiandynamics/\">Adam Bosco</a>, <a href=\"https://profiles.wordpress.org/adam3128/\">Adam Morgan</a>, <a href=\"https://profiles.wordpress.org/adamsilverstein/\">Adam Silverstein</a>, <a href=\"https://profiles.wordpress.org/zieladam/\">Adam Zielinski</a>, <a href=\"https://profiles.wordpress.org/addiestavlo/\">Addie</a>, <a href=\"https://profiles.wordpress.org/aadilali/\">Adil Ali</a>, <a href=\"https://profiles.wordpress.org/aduth/\">aduth</a>, <a href=\"https://profiles.wordpress.org/aezazshekh/\">Aezaz Shekh</a>, <a href=\"https://profiles.wordpress.org/chaion07/\">Ahmed Chaion</a>, <a href=\"https://profiles.wordpress.org/ajotka/\">ajotka</a>, <a href=\"https://profiles.wordpress.org/soniakash/\">Akash Soni</a>, <a href=\"https://profiles.wordpress.org/atachibana/\">Akira Tachibana</a>, <a href=\"https://profiles.wordpress.org/schlessera/\">Alain Schlesser</a>, <a href=\"https://profiles.wordpress.org/alanjacobmathew/\">Alan Jacob Mathew</a>, <a href=\"https://profiles.wordpress.org/xknown/\">Alex Concha</a>, <a href=\"https://profiles.wordpress.org/ajlende/\">Alex Lende</a>, <a href=\"https://profiles.wordpress.org/alexvorn2/\">Alexandru Vornicescu</a>, <a href=\"https://profiles.wordpress.org/alexeydemidov/\">alexeydemidov</a>, <a href=\"https://profiles.wordpress.org/alexislloyd/\">Alexis Lloyd</a>, <a href=\"https://profiles.wordpress.org/alexstine/\">alexstine</a>, <a href=\"https://profiles.wordpress.org/algala/\">AlGala</a>, <a href=\"https://profiles.wordpress.org/firewatch/\">allilevine</a>, <a href=\"https://profiles.wordpress.org/almendron/\">almendron</a>, <a href=\"https://profiles.wordpress.org/amandariu/\">Amanda Riu</a>, <a href=\"https://profiles.wordpress.org/anandau14/\">Anand Upadhyay</a>, <a href=\"https://profiles.wordpress.org/nosolosw/\">Andr&#233;</a>, <a href=\"https://profiles.wordpress.org/afercia/\">Andrea Fercia</a>, <a href=\"https://profiles.wordpress.org/andraganescu/\">Andrei Draganescu</a>, <a href=\"https://profiles.wordpress.org/nacin/\">Andrew Nacin</a>, <a href=\"https://profiles.wordpress.org/anevins/\">Andrew Nevins</a>, <a href=\"https://profiles.wordpress.org/azaozz/\">Andrew Ozz</a>, <a href=\"https://profiles.wordpress.org/andrewserong/\">Andrew Serong</a>, <a href=\"https://profiles.wordpress.org/oandregal/\">André</a>, <a href=\"https://profiles.wordpress.org/afragen/\">Andy Fragen</a>, <a href=\"https://profiles.wordpress.org/apeatling/\">Andy Peatling</a>, <a href=\"https://profiles.wordpress.org/andy-schmidt/\">Andy Schmidt</a>, <a href=\"https://profiles.wordpress.org/andynick/\">andynick</a>, <a href=\"https://profiles.wordpress.org/la-geek/\">Angelika Reisiger</a>, <a href=\"https://profiles.wordpress.org/anjanavasan/\">Anjana Vasan</a>, <a href=\"https://profiles.wordpress.org/ankit-k-gupta/\">Ankit K Gupta</a>, <a href=\"https://profiles.wordpress.org/ankitmaru/\">Ankit Panchal</a>, <a href=\"https://profiles.wordpress.org/annezazu/\">Anne McCarthy</a>, <a href=\"https://profiles.wordpress.org/antpb/\">Anthony Burchell</a>, <a href=\"https://profiles.wordpress.org/anthonyeden/\">Anthony Eden</a>, <a href=\"https://profiles.wordpress.org/paranoia1906/\">Anthony Ledesma</a>, <a href=\"https://profiles.wordpress.org/antonvlasenko/\">Anton Vlasenko</a>, <a href=\"https://profiles.wordpress.org/antonisme/\">Antonis Lilis</a>, <a href=\"https://profiles.wordpress.org/arena/\">arena</a>, <a href=\"https://profiles.wordpress.org/aristath/\">Ari Stathopoulos</a>, <a href=\"https://profiles.wordpress.org/arthur791004/\">Arthur Chu</a>, <a href=\"https://profiles.wordpress.org/ashfame/\">Ashfame</a>, <a href=\"https://profiles.wordpress.org/ayeshrajans/\">Ayesh Karunaratne</a>, <a href=\"https://profiles.wordpress.org/baelx/\">baelx</a>, <a href=\"https://profiles.wordpress.org/allerune/\">Bartlomiej</a>, <a href=\"https://profiles.wordpress.org/beafialho/\">Beatriz Fialho</a>, <a href=\"https://profiles.wordpress.org/beaulebens/\">Beau Lebens</a>, <a href=\"https://profiles.wordpress.org/bedas/\">Beda</a>, <a href=\"https://profiles.wordpress.org/scruffian/\">Ben Dwyer</a>, <a href=\"https://profiles.wordpress.org/utz119/\">Benachi</a>, <a href=\"https://profiles.wordpress.org/benitolopez/\">benitolopez</a>, <a href=\"https://profiles.wordpress.org/rainbowgeek/\">Benjamin Denis</a>, <a href=\"https://profiles.wordpress.org/benjamingosset/\">Benjamin Gosset</a>, <a href=\"https://profiles.wordpress.org/benjaminanakena/\">benjamin.anakena</a>, <a href=\"https://profiles.wordpress.org/bernhard-reiter/\">Bernhard Reiter</a>, <a href=\"https://profiles.wordpress.org/bgardner/\">bgardner</a>, <a href=\"https://profiles.wordpress.org/bijayyadav/\">Bijay Yadav</a>, <a href=\"https://profiles.wordpress.org/binarykitten/\">BinaryKitten</a>, <a href=\"https://profiles.wordpress.org/birgire/\">Birgir Erlendsson (birgire)</a>, <a href=\"https://profiles.wordpress.org/bph/\">Birgit Pauli-Haack</a>, <a href=\"https://profiles.wordpress.org/bobbingwide/\">bobbingwide</a>, <a href=\"https://profiles.wordpress.org/boonebgorges/\">Boone Gorges</a>, <a href=\"https://profiles.wordpress.org/bjorsch/\">Brad Jorsch</a>, <a href=\"https://profiles.wordpress.org/bradparbs/\">Brad Parbs</a>, <a href=\"https://profiles.wordpress.org/bradleyt/\">Bradley Taylor</a>, <a href=\"https://profiles.wordpress.org/kraftbj/\">Brandon Kraft</a>, <a href=\"https://profiles.wordpress.org/bravokeyl/\">bravokeyl</a>, <a href=\"https://profiles.wordpress.org/bgoewert/\">Brennan Goewert</a>, <a href=\"https://profiles.wordpress.org/rzen/\">Brian Richards</a>, <a href=\"https://profiles.wordpress.org/bronsonquick/\">bronsonquick</a>, <a href=\"https://profiles.wordpress.org/ribaricplusplus/\">Bruno Ribaric</a>, <a href=\"https://profiles.wordpress.org/brylie/\">Brylie Christopher Oxley</a>, <a href=\"https://profiles.wordpress.org/icaleb/\">Caleb Burks</a>, <a href=\"https://profiles.wordpress.org/calebwoodbridge/\">calebwoodbridge</a>, <a href=\"https://profiles.wordpress.org/carepsules/\">carepsules</a>, <a href=\"https://profiles.wordpress.org/carike/\">Carike</a>, <a href=\"https://profiles.wordpress.org/cbravobernal/\">Carlos Bravo</a>, <a href=\"https://profiles.wordpress.org/carlosgprim/\">Carlos Garcia</a>, <a href=\"https://profiles.wordpress.org/poena/\">Carolina Nymark</a>, <a href=\"https://profiles.wordpress.org/cdyerkes/\">cdyerkes</a>, <a href=\"https://profiles.wordpress.org/ceyhun0/\">Ceyhun Ozugur</a>, <a href=\"https://profiles.wordpress.org/shireling/\">Chad Chadbourne</a>, <a href=\"https://profiles.wordpress.org/chiaki/\">Chiaki</a>, <a href=\"https://profiles.wordpress.org/chintan1896/\">Chintan hingrajiya</a>, <a href=\"https://profiles.wordpress.org/chipsnyder/\">Chip Snyder</a>, <a href=\"https://profiles.wordpress.org/cbringmann/\">Chloe Bringmann</a>, <a href=\"https://profiles.wordpress.org/chouby/\">Chouby</a>, <a href=\"https://profiles.wordpress.org/cklosows/\">Chris Klosowski</a>, <a href=\"https://profiles.wordpress.org/chrisvanpatten/\">Chris Van Patten</a>, <a href=\"https://profiles.wordpress.org/chriscct7/\">chriscct7</a>, <a href=\"https://profiles.wordpress.org/christianztamayo/\">Christian Tamayo</a>, <a href=\"https://profiles.wordpress.org/amethystanswers/\">Christina Workman</a>, <a href=\"https://profiles.wordpress.org/vimes1984/\">Christopher Churchill</a>, <a href=\"https://profiles.wordpress.org/clucasrowlands/\">clucasrowlands</a>, <a href=\"https://profiles.wordpress.org/costdev/\">Colin Stewart</a>, <a href=\"https://profiles.wordpress.org/callye/\">Collieth Clarke</a>, <a href=\"https://profiles.wordpress.org/collizo4sky/\">Collins Agbonghama</a>, <a href=\"https://profiles.wordpress.org/copons/\">Copons</a>, <a href=\"https://profiles.wordpress.org/coreyw/\">Corey</a>, <a href=\"https://profiles.wordpress.org/cr0ybot/\">Cory Hughart</a>, <a href=\"https://profiles.wordpress.org/courane01/\">Courtney Robertson</a>, <a href=\"https://profiles.wordpress.org/craigfrancis/\">craigfrancis</a>, <a href=\"https://profiles.wordpress.org/mitogh/\">Crisoforo Gaspar</a>, <a href=\"https://profiles.wordpress.org/critterverse/\">critterverse</a>, <a href=\"https://profiles.wordpress.org/littlebigthing/\">Csaba (LittleBigThings)</a>, <a href=\"https://profiles.wordpress.org/davidszabo/\">D&#225;vid Szab&#243;</a>, <a href=\"https://profiles.wordpress.org/daisyo/\">Daisy Olsen</a>, <a href=\"https://profiles.wordpress.org/colorful-tones/\">Damon Cook</a>, <a href=\"https://profiles.wordpress.org/danfarrow/\">Dan Farrow</a>, <a href=\"https://profiles.wordpress.org/dansoschin/\">Dan Soschin</a>, <a href=\"https://profiles.wordpress.org/danielbachhuber/\">Daniel Bachhuber</a>, <a href=\"https://profiles.wordpress.org/danielpost/\">Daniel Post</a>, <a href=\"https://profiles.wordpress.org/talldanwp/\">Daniel Richards</a>, <a href=\"https://profiles.wordpress.org/chthnc/\">Daniel Shaw</a>, <a href=\"https://profiles.wordpress.org/danieldudzic/\">danieldudzic</a>, <a href=\"https://profiles.wordpress.org/mte90/\">Daniele Scasciafratte</a>, <a href=\"https://profiles.wordpress.org/darerodz/\">darerodz</a>, <a href=\"https://profiles.wordpress.org/dariak/\">Daria</a>, <a href=\"https://profiles.wordpress.org/daschmi/\">Daschmi</a>, <a href=\"https://profiles.wordpress.org/datagutten/\">datagutten</a>, <a href=\"https://profiles.wordpress.org/datainterlock/\">datainterlock</a>, <a href=\"https://profiles.wordpress.org/davecpage/\">Dave Page</a>, <a href=\"https://profiles.wordpress.org/davidanderson/\">David Anderson</a>, <a href=\"https://profiles.wordpress.org/davidbaumwald/\">David Baumwald</a>, <a href=\"https://profiles.wordpress.org/davidbinda/\">David Biňovec</a>, <a href=\"https://profiles.wordpress.org/dpcalhoun/\">David Calhoun</a>, <a href=\"https://profiles.wordpress.org/dgwyer/\">David Gwyer</a>, <a href=\"https://profiles.wordpress.org/dlh/\">David Herrera</a>, <a href=\"https://profiles.wordpress.org/davidkryzaniak/\">David Kryzaniak</a>, <a href=\"https://profiles.wordpress.org/davidmosterd/\">David Mosterd</a>, <a href=\"https://profiles.wordpress.org/daviedr/\">David Rozando</a>, <a href=\"https://profiles.wordpress.org/dryanpress/\">David Ryan</a>, <a href=\"https://profiles.wordpress.org/get_dave/\">David Smith</a>, <a href=\"https://profiles.wordpress.org/davidwebca/\">davidwebca</a>, <a href=\"https://profiles.wordpress.org/devutpol/\">Deb Nath Utpol</a>, <a href=\"https://profiles.wordpress.org/dkarfa/\">Debabrata Karfa</a>, <a href=\"https://profiles.wordpress.org/deepaklalwani/\">Deepak Lalwani</a>, <a href=\"https://profiles.wordpress.org/denisco/\">Denis Yanchevskiy</a>, <a href=\"https://profiles.wordpress.org/dingo_d/\">Denis Žoljom</a>, <a href=\"https://profiles.wordpress.org/dmsnell/\">Dennis Snell</a>, <a href=\"https://profiles.wordpress.org/dhanendran/\">Dhanendran</a>, <a href=\"https://profiles.wordpress.org/dhusakovic/\">dhusakovic</a>, <a href=\"https://profiles.wordpress.org/diedeexterkate/\">DiedeExterkate</a>, <a href=\"https://profiles.wordpress.org/dilipbheda/\">Dilip Bheda</a>, <a href=\"https://profiles.wordpress.org/dd32/\">Dion Hulse</a>, <a href=\"https://profiles.wordpress.org/dlt101/\">dlt101</a>, <a href=\"https://profiles.wordpress.org/ocean90/\">Dominik Schilling</a>, <a href=\"https://profiles.wordpress.org/donmhico/\">donmhico</a>, <a href=\"https://profiles.wordpress.org/codezen8/\">Donna Botti</a>, <a href=\"https://profiles.wordpress.org/dontgo2sleep/\">dontgo2sleep</a>, <a href=\"https://profiles.wordpress.org/dougwollison/\">Doug Wollison</a>, <a href=\"https://profiles.wordpress.org/dpegasusm/\">dpegasusm</a>, <a href=\"https://profiles.wordpress.org/raubvogel/\">Dr. Ronny Harbich</a>, <a href=\"https://profiles.wordpress.org/dratwas/\">dratwas</a>, <a href=\"https://profiles.wordpress.org/drewapicture/\">Drew Jaynes</a>, <a href=\"https://profiles.wordpress.org/drosmog/\">drosmog</a>, <a href=\"https://profiles.wordpress.org/dustinrue/\">dustinrue</a>, <a href=\"https://profiles.wordpress.org/seedsca/\">ecotechie</a>, <a href=\"https://profiles.wordpress.org/ehtis/\">ehtis</a>, <a href=\"https://profiles.wordpress.org/ekojr/\">EkoJR</a>, <a href=\"https://profiles.wordpress.org/ellatrix/\">Ella van Durpe</a>, <a href=\"https://profiles.wordpress.org/manooweb/\">Emmanuel Hesry</a>, <a href=\"https://profiles.wordpress.org/empatogen/\">empatogen</a>, <a href=\"https://profiles.wordpress.org/enchiridion/\">Enchiridion</a>, <a href=\"https://profiles.wordpress.org/enej/\">Enej Bajgorić</a>, <a href=\"https://profiles.wordpress.org/nrqsnchz/\">Enrique S&#225;nchez</a>, <a href=\"https://profiles.wordpress.org/erayalakese/\">erayalakese</a>, <a href=\"https://profiles.wordpress.org/teachlynx/\">Eric Malalel</a>, <a href=\"https://profiles.wordpress.org/ethitter/\">Erick Hitter</a>, <a href=\"https://profiles.wordpress.org/kebbet/\">Erik</a>, <a href=\"https://profiles.wordpress.org/etoledo/\">etoledo</a>, <a href=\"https://profiles.wordpress.org/circlecube/\">Evan Mullins</a>, <a href=\"https://profiles.wordpress.org/fabiankaegy/\">Fabian K&#228;gy</a>, <a href=\"https://profiles.wordpress.org/gaambo/\">Fabian Todt</a>, <a href=\"https://profiles.wordpress.org/faisal03/\">Faisal Alvi</a>, <a href=\"https://profiles.wordpress.org/fedepia/\">fedepia</a>, <a href=\"https://profiles.wordpress.org/felipeelia/\">Felipe Elia</a>, <a href=\"https://profiles.wordpress.org/felipeloureirosantos/\">Felipe Santos</a>, <a href=\"https://profiles.wordpress.org/flixos90/\">Felix Arntz</a>, <a href=\"https://profiles.wordpress.org/mista-flo/\">Florian TIAR</a>, <a href=\"https://profiles.wordpress.org/fpcsjames/\">FPCSJames</a>, <a href=\"https://profiles.wordpress.org/piewp/\">fperdaan</a>, <a href=\"https://profiles.wordpress.org/francina/\">Francesca Marano</a>, <a href=\"https://profiles.wordpress.org/fcolombo/\">Francesco</a>, <a href=\"https://profiles.wordpress.org/galbaras/\">Gal Baras</a>, <a href=\"https://profiles.wordpress.org/garrett-eclipse/\">Garrett Hyder</a>, <a href=\"https://profiles.wordpress.org/garyj/\">Gary Jones</a>, <a href=\"https://profiles.wordpress.org/pento/\">Gary Pendergast</a>, <a href=\"https://profiles.wordpress.org/gazchap/\">gazchap</a>, <a href=\"https://profiles.wordpress.org/generosus/\">generosus</a>, <a href=\"https://profiles.wordpress.org/soulseekah/\">Gennady Kovshenin</a>, <a href=\"https://profiles.wordpress.org/revgeorge/\">George Hotelling</a>, <a href=\"https://profiles.wordpress.org/mamaduka/\">George Mamadashvili</a>, <a href=\"https://profiles.wordpress.org/georgestephanis/\">George Stephanis</a>, <a href=\"https://profiles.wordpress.org/geriux/\">Gerardo Pacheco</a>, <a href=\"https://profiles.wordpress.org/gilbitron/\">Gilbert Pellegrom</a>, <a href=\"https://profiles.wordpress.org/glendaviesnz/\">Glen Davies</a>, <a href=\"https://profiles.wordpress.org/goldsounds/\">goldsounds</a>, <a href=\"https://profiles.wordpress.org/gkloveweb/\">Govind</a>, <a href=\"https://profiles.wordpress.org/grantmkin/\">Grant M. Kinney</a>, <a href=\"https://profiles.wordpress.org/gregrickaby/\">Greg Rickaby</a>, <a href=\"https://profiles.wordpress.org/gziolo/\">Greg Zi&#243;łkowski</a>, <a href=\"https://profiles.wordpress.org/guillaumeturpin/\">Guillaume TURPIN</a>, <a href=\"https://profiles.wordpress.org/priethor/\">H&#233;ctor Prieto</a>, <a href=\"https://profiles.wordpress.org/hansjovisyoast/\">Hans-Christiaan Braun</a>, <a href=\"https://profiles.wordpress.org/haosun/\">haosun</a>, <a href=\"https://profiles.wordpress.org/hareesh-pillai/\">Hareesh</a>, <a href=\"https://profiles.wordpress.org/hasanuzzamanshamim/\">Hasanuzzaman</a>, <a href=\"https://profiles.wordpress.org/azhiyadev/\">Hauwa Abashiya</a>, <a href=\"https://profiles.wordpress.org/hazdiego/\">Haz</a>, <a href=\"https://profiles.wordpress.org/henrywright/\">Henry Wright</a>, <a href=\"https://profiles.wordpress.org/herbmiller/\">herbmiller</a>, <a href=\"https://profiles.wordpress.org/hermpheus/\">Herm Martini</a>, <a href=\"https://profiles.wordpress.org/herregroen/\">Herre Groen</a>, <a href=\"https://profiles.wordpress.org/hilayt24/\">Hilay Trivedi</a>, <a href=\"https://profiles.wordpress.org/hirofumi2012/\">hirofumi2012</a>, <a href=\"https://profiles.wordpress.org/hitendra-chopda/\">Hitendra Chopda</a>, <a href=\"https://profiles.wordpress.org/h71/\">Hossein Farahani</a>, <a href=\"https://profiles.wordpress.org/htmgarcia/\">htmgarcia</a>, <a href=\"https://profiles.wordpress.org/hudson-atwell/\">Hudson Atwell</a>, <a href=\"https://profiles.wordpress.org/hlashbrooke/\">Hugh Lashbrooke</a>, <a href=\"https://profiles.wordpress.org/hugod/\">hugod</a>, <a href=\"https://profiles.wordpress.org/iandunn/\">Ian Dunn</a>, <a href=\"https://profiles.wordpress.org/ianhayes94/\">ianhayes94</a>, <a href=\"https://profiles.wordpress.org/ianmjones/\">ianmjones</a>, <a href=\"https://profiles.wordpress.org/ignatggeorgiev/\">Ignat Georgiev</a>, <a href=\"https://profiles.wordpress.org/ibenic/\">Igor Benic</a>, <a href=\"https://profiles.wordpress.org/ilovecats7/\">ilovecats7</a>, <a href=\"https://profiles.wordpress.org/infected/\">infected</a>, <a href=\"https://profiles.wordpress.org/ipstenu/\">Ipstenu (Mika Epstein)</a>, <a href=\"https://profiles.wordpress.org/iluy/\">Isaac</a>, <a href=\"https://profiles.wordpress.org/isabel_brison/\">Isabel Brison</a>, <a href=\"https://profiles.wordpress.org/ismaeld/\">ismaeld</a>, <a href=\"https://profiles.wordpress.org/jdgrimes/\">J.D. Grimes</a>, <a href=\"https://profiles.wordpress.org/jackreichert/\">Jack Reichert</a>, <a href=\"https://profiles.wordpress.org/whyisjake/\">Jake Spurlock</a>, <a href=\"https://profiles.wordpress.org/jakubtyrcha/\">jakub.tyrcha</a>, <a href=\"https://profiles.wordpress.org/mcjambi/\">Jam Viet</a>, <a href=\"https://profiles.wordpress.org/macmanx/\">James Huff</a>, <a href=\"https://profiles.wordpress.org/jameskoster/\">James Koster</a>, <a href=\"https://profiles.wordpress.org/janthiel/\">Jan Thiel</a>, <a href=\"https://profiles.wordpress.org/janwoostendorp/\">janw.oostendorp</a>, <a href=\"https://profiles.wordpress.org/jsnjohnston/\">Jason Johnston</a>, <a href=\"https://profiles.wordpress.org/evermail/\">Jason R. Johnston</a>, <a href=\"https://profiles.wordpress.org/javiarce/\">Javier Arce</a>, <a href=\"https://profiles.wordpress.org/javiercasares/\">Javier Casares</a>, <a href=\"https://profiles.wordpress.org/jayupadhyay01/\">Jay Upadhyay</a>, <a href=\"https://profiles.wordpress.org/audrasjb/\">Jean-Baptiste Audras</a>, <a href=\"https://profiles.wordpress.org/teucrium/\">Jean-Philippe</a>, <a href=\"https://profiles.wordpress.org/jblz/\">Jeff Bowen</a>, <a href=\"https://profiles.wordpress.org/jffng/\">Jeff Ong</a>, <a href=\"https://profiles.wordpress.org/jeffpaul/\">Jeffrey Paul</a>, <a href=\"https://profiles.wordpress.org/jdy68/\">Jenny Dupuy</a>, <a href=\"https://profiles.wordpress.org/jeremyfelt/\">Jeremy Felt</a>, <a href=\"https://profiles.wordpress.org/jeherve/\">Jeremy Herve</a>, <a href=\"https://profiles.wordpress.org/jeremyescott/\">Jeremy Scott</a>, <a href=\"https://profiles.wordpress.org/jeremyyip/\">Jeremy Yip</a>, <a href=\"https://profiles.wordpress.org/amieiro/\">Jes&#250;s Amieiro</a>, <a href=\"https://profiles.wordpress.org/engelen/\">Jesper van Engelen</a>, <a href=\"https://profiles.wordpress.org/luminuu/\">Jessica Lyschik</a>, <a href=\"https://profiles.wordpress.org/jigneshnakrani/\">Jignesh Nakrani</a>, <a href=\"https://profiles.wordpress.org/joedolson/\">Joe Dolson</a>, <a href=\"https://profiles.wordpress.org/joemcgill/\">Joe McGill</a>, <a href=\"https://profiles.wordpress.org/joegasper/\">joegasper</a>, <a href=\"https://profiles.wordpress.org/joelcj91/\">Joel James</a>, <a href=\"https://profiles.wordpress.org/joen/\">Joen Asmussen</a>, <a href=\"https://profiles.wordpress.org/johnbillion/\">John Blackbourn</a>, <a href=\"https://profiles.wordpress.org/johnillo/\">John Espiritu</a>, <a href=\"https://profiles.wordpress.org/johnny5/\">John Godley</a>, <a href=\"https://profiles.wordpress.org/johnjamesjacoby/\">John James Jacoby</a>, <a href=\"https://profiles.wordpress.org/zenithcity/\">john zenith</a>, <a href=\"https://profiles.wordpress.org/lwangaman/\">JohnRDOrazio (CLPTE)</a>, <a href=\"https://profiles.wordpress.org/psykro/\">Jonathan Bossenger</a>, <a href=\"https://profiles.wordpress.org/desrosj/\">Jonathan Desrosiers</a>, <a href=\"https://profiles.wordpress.org/spacedmonkey/\">Jonny Harris</a>, <a href=\"https://profiles.wordpress.org/jonoaldersonwp/\">Jono Alderson</a>, <a href=\"https://profiles.wordpress.org/joostdevalk/\">Joost de Valk</a>, <a href=\"https://profiles.wordpress.org/jorgefilipecosta/\">Jorge Costa</a>, <a href=\"https://profiles.wordpress.org/josklever/\">Jos Klever</a>, <a href=\"https://profiles.wordpress.org/josephdickson/\">Joseph Dickson</a>, <a href=\"https://profiles.wordpress.org/chanthaboune/\">Josepha Haden</a>, <a href=\"https://profiles.wordpress.org/joyously/\">Joy</a>, <a href=\"https://profiles.wordpress.org/jsnajdr/\">jsnajdr</a>, <a href=\"https://profiles.wordpress.org/juanruitina/\">Juan Ruiti&#241;a</a>, <a href=\"https://profiles.wordpress.org/juanmaguitar/\">JuanMa Garrido</a>, <a href=\"https://profiles.wordpress.org/juhise/\">Juhi Saxena</a>, <a href=\"https://profiles.wordpress.org/jrf/\">Juliette Reinders Folmer</a>, <a href=\"https://profiles.wordpress.org/junaidbhura/\">Junaid Bhura</a>, <a href=\"https://profiles.wordpress.org/nukaga/\">Junko Nukaga</a>, <a href=\"https://profiles.wordpress.org/justinahinon/\">Justin Ahinon</a>, <a href=\"https://profiles.wordpress.org/justindocanto/\">Justin DoCanto</a>, <a href=\"https://profiles.wordpress.org/greenshady/\">Justin Tadlock</a>, <a href=\"https://profiles.wordpress.org/kadamwhite/\">K. Adam White</a>, <a href=\"https://profiles.wordpress.org/kafleg/\">KafleG</a>, <a href=\"https://profiles.wordpress.org/kevin940726/\">Kai Hao</a>, <a href=\"https://profiles.wordpress.org/kallookoo/\">kallookoo</a>, <a href=\"https://profiles.wordpress.org/akabarikalpesh/\">Kalpesh Akabari</a>, <a href=\"https://profiles.wordpress.org/kaneva/\">kaneva</a>, <a href=\"https://profiles.wordpress.org/kapilpaul/\">Kapil Paul</a>, <a href=\"https://profiles.wordpress.org/ryelle/\">Kelly Choyce-Dwan</a>, <a href=\"https://profiles.wordpress.org/kellychoffman/\">Kelly Hoffman</a>, <a href=\"https://profiles.wordpress.org/keoshi/\">keoshi</a>, <a href=\"https://profiles.wordpress.org/sourav926/\">Keramot UL Islam</a>, <a href=\"https://profiles.wordpress.org/kingkero/\">kero</a>, <a href=\"https://profiles.wordpress.org/gwwar/\">Kerry Liu</a>, <a href=\"https://profiles.wordpress.org/kevinfodness/\">Kevin Fodness</a>, <a href=\"https://profiles.wordpress.org/keyur5/\">keyur5</a>, <a href=\"https://profiles.wordpress.org/kharisblank/\">Kharis Sulistiyono</a>, <a href=\"https://profiles.wordpress.org/kjellr/\">Kjell Reigstad</a>, <a href=\"https://profiles.wordpress.org/knutsp/\">Knut Sparhell</a>, <a href=\"https://profiles.wordpress.org/vdwijngaert/\">Koen Van den Wijngaert</a>, <a href=\"https://profiles.wordpress.org/obenland/\">Konstantin Obenland</a>, <a href=\"https://profiles.wordpress.org/xkon/\">Konstantinos Xenos</a>, <a href=\"https://profiles.wordpress.org/kurudrive/\">kurudrive</a>, <a href=\"https://profiles.wordpress.org/kwisatz/\">kwisatz</a>, <a href=\"https://profiles.wordpress.org/devnel/\">Kyle Nel</a>, <a href=\"https://profiles.wordpress.org/kzeni/\">KZeni</a>, <a href=\"https://profiles.wordpress.org/lalitjalandhar/\">lalitjalandhar</a>, <a href=\"https://profiles.wordpress.org/laurelfulford/\">laurelfulford</a>, <a href=\"https://profiles.wordpress.org/laxman-prajapati/\">Laxman Prajapati</a>, <a href=\"https://profiles.wordpress.org/leemon/\">leemon</a>, <a href=\"https://profiles.wordpress.org/leogermani/\">leogermani</a>, <a href=\"https://profiles.wordpress.org/lgladdy/\">Liam Gladdy</a>, <a href=\"https://profiles.wordpress.org/liammitchell/\">liammitchell</a>, <a href=\"https://profiles.wordpress.org/rudlinkon/\">Linkon Miyan</a>, <a href=\"https://profiles.wordpress.org/linux4me2/\">linux4me2</a>, <a href=\"https://profiles.wordpress.org/webaxones/\">Lo&#239;c Antignac</a>, <a href=\"https://profiles.wordpress.org/loranrendel/\">Loran A. Rendel</a>, <a href=\"https://profiles.wordpress.org/karpstrucking/\">Lucas Karpiuk</a>, <a href=\"https://profiles.wordpress.org/lucasw89/\">lucasw89</a>, <a href=\"https://profiles.wordpress.org/lucatume/\">lucatume</a>, <a href=\"https://profiles.wordpress.org/zaguiini/\">Luis Felipe Zaguini</a>, <a href=\"https://profiles.wordpress.org/lukecarbis/\">Luke Carbis</a>, <a href=\"https://profiles.wordpress.org/lukecavanagh/\">Luke Cavanagh</a>, <a href=\"https://profiles.wordpress.org/luovalabs/\">luovalabs</a>, <a href=\"https://profiles.wordpress.org/lynk/\">lynk</a>, <a href=\"https://profiles.wordpress.org/asif2bd/\">M Asif Rahman</a>, <a href=\"https://profiles.wordpress.org/gorby31/\">Madalin Gorbanescu</a>, <a href=\"https://profiles.wordpress.org/aetherunbound/\">Madison</a>, <a href=\"https://profiles.wordpress.org/onemaggie/\">Maggie Cabrera</a>, <a href=\"https://profiles.wordpress.org/mai21/\">Mai</a>, <a href=\"https://profiles.wordpress.org/malae/\">Malae</a>, <a href=\"https://profiles.wordpress.org/malthert/\">malthert</a>, <a href=\"https://profiles.wordpress.org/manfcarlo/\">manfcarlo</a>, <a href=\"https://profiles.wordpress.org/manishamakhija/\">Manisha Makhija</a>, <a href=\"https://profiles.wordpress.org/manzoorwanijk/\">Manzoor Wani</a>, <a href=\"https://profiles.wordpress.org/fullofcaffeine/\">Marcelo de Moraes Serpa</a>, <a href=\"https://profiles.wordpress.org/mciampini/\">Marco Ciampini</a>, <a href=\"https://profiles.wordpress.org/mkaz/\">Marcus Kazmierczak</a>, <a href=\"https://profiles.wordpress.org/marekhrabe/\">Marek Hrabe</a>, <a href=\"https://profiles.wordpress.org/tyxla/\">Marin Atanasov</a>, <a href=\"https://profiles.wordpress.org/clorith/\">Marius L. J.</a>, <a href=\"https://profiles.wordpress.org/mark-k/\">Mark-k</a>, <a href=\"https://profiles.wordpress.org/marybaum/\">Mary Baum</a>, <a href=\"https://profiles.wordpress.org/wetah/\">Mateus Machado Luna</a>, <a href=\"https://profiles.wordpress.org/matveb/\">Matias Ventura</a>, <a href=\"https://profiles.wordpress.org/mhuntdesign/\">Matt</a>, <a href=\"https://profiles.wordpress.org/mattchowning/\">Matt Chowning</a>, <a href=\"https://profiles.wordpress.org/matt/\">Matt Mullenweg</a>, <a href=\"https://profiles.wordpress.org/mattwiebe/\">Matt Wiebe</a>, <a href=\"https://profiles.wordpress.org/mattoakley/\">mattoakley</a>, <a href=\"https://profiles.wordpress.org/wppunk/\">Max</a>, <a href=\"https://profiles.wordpress.org/max-dayala/\">MaxD</a>, <a href=\"https://profiles.wordpress.org/maximeculea/\">Maxime Culea</a>, <a href=\"https://profiles.wordpress.org/mclaurent/\">mclaurent</a>, <a href=\"https://profiles.wordpress.org/medusor/\">MEDUSOR</a>, <a href=\"https://profiles.wordpress.org/megphillips91/\">Meg Phillips</a>, <a href=\"https://profiles.wordpress.org/meher/\">Meher Bala</a>, <a href=\"https://profiles.wordpress.org/melchoyce/\">Mel Choyce-Dwan</a>, <a href=\"https://profiles.wordpress.org/mgol/\">mgol</a>, <a href=\"https://profiles.wordpress.org/wpscholar/\">Micah Wood</a>, <a href=\"https://profiles.wordpress.org/mdawaffe/\">Michael Adams (mdawaffe)</a>, <a href=\"https://profiles.wordpress.org/tw2113/\">Michael Beckwith</a>, <a href=\"https://profiles.wordpress.org/mburridge/\">Michael Burridge</a>, <a href=\"https://profiles.wordpress.org/mnelson4/\">Michael Nelson</a>, <a href=\"https://profiles.wordpress.org/czapla/\">Michal Czaplinski</a>, <a href=\"https://profiles.wordpress.org/michelwppi/\">Michel - xiligroup dev</a>, <a href=\"https://profiles.wordpress.org/mcsf/\">Miguel Fonseca</a>, <a href=\"https://profiles.wordpress.org/mikaelmayer/\">mikaelmayer</a>, <a href=\"https://profiles.wordpress.org/mikejolley/\">Mike Jolley (a11n)</a>, <a href=\"https://profiles.wordpress.org/mikeschroder/\">Mike Schroder</a>, <a href=\"https://profiles.wordpress.org/dimadin/\">Milan Dinić</a>, <a href=\"https://profiles.wordpress.org/milana_cap/\">Milana Cap</a>, <a href=\"https://profiles.wordpress.org/multidots1896/\">Minal Diwan</a>, <a href=\"https://profiles.wordpress.org/0mirka00/\">mirka</a>, <a href=\"https://profiles.wordpress.org/mjaschen/\">mjaschen</a>, <a href=\"https://profiles.wordpress.org/mjulian7/\">mjulian7</a>, <a href=\"https://profiles.wordpress.org/mmxxi/\">mmxxi</a>, <a href=\"https://profiles.wordpress.org/moch11/\">moch11</a>, <a href=\"https://profiles.wordpress.org/opurockey/\">Mohammad Rockeybul Alam</a>, <a href=\"https://profiles.wordpress.org/monikarao/\">Monika Rao</a>, <a href=\"https://profiles.wordpress.org/mt8biz/\">moto hachi</a>, <a href=\"https://profiles.wordpress.org/computerguru/\">mqudsi</a>, <a href=\"https://profiles.wordpress.org/mreishus/\">mreishus</a>, <a href=\"https://profiles.wordpress.org/mrjoeldean/\">mrjoeldean</a>, <a href=\"https://profiles.wordpress.org/mtoensing/\">mtoensing</a>, <a href=\"https://profiles.wordpress.org/wparslan/\">Muhammad Arslan</a>, <a href=\"https://profiles.wordpress.org/muhammadfaizanhaidar/\">Muhammad Faizan Haidar</a>, <a href=\"https://profiles.wordpress.org/mukesh27/\">Mukesh Panchal</a>, <a href=\"https://profiles.wordpress.org/musabshakeel/\">Musab Shakeel</a>, <a href=\"https://profiles.wordpress.org/amustaque97/\">Mustaque Ahmed</a>, <a href=\"https://profiles.wordpress.org/assassinateur/\">Nadir Seghir</a>, <a href=\"https://profiles.wordpress.org/nalininonstopnewsuk/\">Nalini Thakor</a>, <a href=\"https://profiles.wordpress.org/namithjawahar/\">Namith Jawahar</a>, <a href=\"https://profiles.wordpress.org/nao/\">Naoko Takano</a>, <a href=\"https://profiles.wordpress.org/natewr/\">NateWr</a>, <a href=\"https://profiles.wordpress.org/greatislander/\">Ned Zimmerman</a>, <a href=\"https://profiles.wordpress.org/nettsite/\">NettSite</a>, <a href=\"https://profiles.wordpress.org/eidolonnight/\">Nicholas Garofalo</a>, <a href=\"https://profiles.wordpress.org/ndiego/\">Nick Diego</a>, <a href=\"https://profiles.wordpress.org/celloexpressions/\">Nick Halsey</a>, <a href=\"https://profiles.wordpress.org/nickcernis/\">nickcernis</a>, <a href=\"https://profiles.wordpress.org/nico23/\">Nico</a>, <a href=\"https://profiles.wordpress.org/jainnidhi/\">Nidhi Jain</a>, <a href=\"https://profiles.wordpress.org/nielslange/\">Niels Lange</a>, <a href=\"https://profiles.wordpress.org/ntsekouras/\">Nik Tsekouras</a>, <a href=\"https://profiles.wordpress.org/nikschavan/\">Nikhil Chavan</a>, <a href=\"https://profiles.wordpress.org/nlpro/\">nlpro</a>, <a href=\"https://profiles.wordpress.org/ockham/\">ockham</a>, <a href=\"https://profiles.wordpress.org/oglekler/\">Olga Gleckler</a>, <a href=\"https://profiles.wordpress.org/domainsupport/\">Oliver Campion</a>, <a href=\"https://profiles.wordpress.org/alshakero/\">Omar Alshaker</a>, <a href=\"https://profiles.wordpress.org/omarreiss/\">Omar Reiss</a>, <a href=\"https://profiles.wordpress.org/opr18/\">opr18</a>, <a href=\"https://profiles.wordpress.org/ellenbauer/\">Outzen Larkin</a>, <a href=\"https://profiles.wordpress.org/ov3rfly/\">Ov3rfly</a>, <a href=\"https://profiles.wordpress.org/ovann86/\">ovann86</a>, <a href=\"https://profiles.wordpress.org/ovidiul/\">ovidiul</a>, <a href=\"https://profiles.wordpress.org/paaljoachim/\">Paal Joachim Romdahl</a>, <a href=\"https://profiles.wordpress.org/pablohoneyhoney/\">Pablo Honey</a>, <a href=\"https://profiles.wordpress.org/iaaxpage/\">page-carbajal</a>, <a href=\"https://profiles.wordpress.org/palmiak/\">palmiak</a>, <a href=\"https://profiles.wordpress.org/pankajmohale/\">Pankaj Mohale</a>, <a href=\"https://profiles.wordpress.org/swissspidy/\">Pascal Birchler</a>, <a href=\"https://profiles.wordpress.org/patrick-b/\">Patrick Boehner</a>, <a href=\"https://profiles.wordpress.org/pbearne/\">Paul Bearne</a>, <a href=\"https://profiles.wordpress.org/pbiron/\">Paul Biron</a>, <a href=\"https://profiles.wordpress.org/pabline/\">Paul Bunkham</a>, <a href=\"https://profiles.wordpress.org/rixeo/\">Paul Kevin</a>, <a href=\"https://profiles.wordpress.org/paulschreiber/\">Paul Schreiber</a>, <a href=\"https://profiles.wordpress.org/pschrottky/\">Paul Von Schrottky</a>, <a href=\"https://profiles.wordpress.org/psrpinto/\">Paulo Pinto</a>, <a href=\"https://profiles.wordpress.org/pbking/\">pbking</a>, <a href=\"https://profiles.wordpress.org/pedromendonca/\">Pedro Mendon&#231;a</a>, <a href=\"https://profiles.wordpress.org/pputzer/\">pepe</a>, <a href=\"https://profiles.wordpress.org/peterwilsoncc/\">Peter Wilson</a>, <a href=\"https://profiles.wordpress.org/walbo/\">Petter Walb&#248; Johnsg&#229;rd</a>, <a href=\"https://profiles.wordpress.org/johnstonphilip/\">Phil Johnston</a>, <a href=\"https://profiles.wordpress.org/philipmjackson/\">Philip Jackson</a>, <a href=\"https://profiles.wordpress.org/pierlo/\">Pierre Gordon</a>, <a href=\"https://profiles.wordpress.org/nekojonez/\">Pieterjan Deneys</a>, <a href=\"https://profiles.wordpress.org/boniu91/\">Piotrek Boniu</a>, <a href=\"https://profiles.wordpress.org/webtechpooja/\">Pooja Derashri</a>, <a href=\"https://profiles.wordpress.org/powerbuoy/\">powerbuoy</a>, <a href=\"https://profiles.wordpress.org/praem90/\">praem90</a>, <a href=\"https://profiles.wordpress.org/promz/\">Pramod Jodhani</a>, <a href=\"https://profiles.wordpress.org/presskopp/\">Presskopp</a>, <a href=\"https://profiles.wordpress.org/presstoke/\">presstoke</a>, <a href=\"https://profiles.wordpress.org/procodewp/\">procodewp</a>, <a href=\"https://profiles.wordpress.org/psealock/\">psealock</a>, <a href=\"https://profiles.wordpress.org/psufan/\">psufan</a>, <a href=\"https://profiles.wordpress.org/pwtyler/\">pwtyler</a>, <a href=\"https://profiles.wordpress.org/rachelbaker/\">Rachel Baker</a>, <a href=\"https://profiles.wordpress.org/radixweb/\">Radixweb</a>, <a href=\"https://profiles.wordpress.org/rtm909/\">Rahul Mehta</a>, <a href=\"https://profiles.wordpress.org/ralucastn/\">ralucastn</a>, <a href=\"https://profiles.wordpress.org/rahmohn/\">Ramon Ahnert</a>, <a href=\"https://profiles.wordpress.org/ramonopoly/\">ramonopoly</a>, <a href=\"https://profiles.wordpress.org/ravipatel/\">ravipatel</a>, <a href=\"https://profiles.wordpress.org/rehanali/\">Rehan Ali</a>, <a href=\"https://profiles.wordpress.org/renathoc/\">Renatho (a11n)</a>, <a href=\"https://profiles.wordpress.org/retrofox/\">retrofox</a>, <a href=\"https://profiles.wordpress.org/youknowriad/\">Riad Benguella</a>, <a href=\"https://profiles.wordpress.org/rianrietveld/\">Rian Rietveld</a>, <a href=\"https://profiles.wordpress.org/richtabor/\">Rich Tabor</a>, <a href=\"https://profiles.wordpress.org/richardfoley/\">Richard Foley</a>, <a href=\"https://profiles.wordpress.org/richards1052/\">richards1052</a>, <a href=\"https://profiles.wordpress.org/rickcurran/\">Rick Curran</a>, <a href=\"https://profiles.wordpress.org/rbrishabh/\">Rishabh Budhiraja</a>, <a href=\"https://profiles.wordpress.org/saju4wordpress/\">Riyadh Ahmed</a>, <a href=\"https://profiles.wordpress.org/rmartinezduque/\">rmartinezduque</a>, <a href=\"https://profiles.wordpress.org/noisysocks/\">Robert Anderson</a>, <a href=\"https://profiles.wordpress.org/robertghetau/\">robertght</a>, <a href=\"https://profiles.wordpress.org/robtarr/\">robtarr</a>, <a href=\"https://profiles.wordpress.org/kreppar/\">Rodrigo Arias</a>, <a href=\"https://profiles.wordpress.org/rohan013/\">Rohan Rawat</a>, <a href=\"https://profiles.wordpress.org/rhnsharma/\">Rohan Sharma</a>, <a href=\"https://profiles.wordpress.org/ronakganatra/\">Ronak Ganatra</a>, <a href=\"https://profiles.wordpress.org/rkohilakis/\">Roxy Kohilakis</a>, <a href=\"https://profiles.wordpress.org/russhylov/\">Ruslan</a>, <a href=\"https://profiles.wordpress.org/rviscomi/\">rviscomi</a>, <a href=\"https://profiles.wordpress.org/welcher/\">Ryan Welcher</a>, <a href=\"https://profiles.wordpress.org/skierpage/\">S Page</a>, <a href=\"https://profiles.wordpress.org/sebastienserre/\">S&#233;bastien SERRE</a>, <a href=\"https://profiles.wordpress.org/soean/\">S&#246;ren Wrede</a>, <a href=\"https://profiles.wordpress.org/sabbirshouvo/\">Sabbir Hasan</a>, <a href=\"https://profiles.wordpress.org/sabrib/\">Sabri Bouchaala</a>, <a href=\"https://profiles.wordpress.org/zeo/\">Safirul Alredha</a>, <a href=\"https://profiles.wordpress.org/solarissmoke/\">Samir Shah</a>, <a href=\"https://profiles.wordpress.org/otto42/\">Samuel Wood (Otto)</a>, <a href=\"https://profiles.wordpress.org/sandipmondal/\">Sandip Mondal - a11n</a>, <a href=\"https://profiles.wordpress.org/sanketchodavadiya/\">Sanket Chodavadiya</a>, <a href=\"https://profiles.wordpress.org/mikachan/\">Sarah Norris</a>, <a href=\"https://profiles.wordpress.org/sarayourfriend/\">sarayourfriend</a>, <a href=\"https://profiles.wordpress.org/sathyapulse/\">Sathiyamoorthy V</a>, <a href=\"https://profiles.wordpress.org/savicmarko1985/\">savicmarko1985</a>, <a href=\"https://profiles.wordpress.org/sayedulsayem/\">Sayedul Sayem</a>, <a href=\"https://profiles.wordpress.org/swb1192/\">Scott Buscemi</a>, <a href=\"https://profiles.wordpress.org/scribu/\">scribu</a>, <a href=\"https://profiles.wordpress.org/seanmcmillan/\">Sean McMillan</a>, <a href=\"https://profiles.wordpress.org/sebastianpisula/\">Sebastian Pisula</a>, <a href=\"https://profiles.wordpress.org/omaeyusuke/\">Segayuu</a>, <a href=\"https://profiles.wordpress.org/sergeybiryukov/\">Sergey Biryukov</a>, <a href=\"https://profiles.wordpress.org/sergiocinos/\">Sergio Cinos</a>, <a href=\"https://profiles.wordpress.org/sergioestevao/\">SergioEstevao</a>, <a href=\"https://profiles.wordpress.org/shaharyar10/\">Shaharyar Afzal</a>, <a href=\"https://profiles.wordpress.org/shaunandrews/\">shaunandrews</a>, <a href=\"https://profiles.wordpress.org/shohag121/\">Shazahanul Islam Shohag</a>, <a href=\"https://profiles.wordpress.org/shimon246/\">shimon246</a>, <a href=\"https://profiles.wordpress.org/shital-patel/\">Shital Marakana</a>, <a href=\"https://profiles.wordpress.org/shivapoudel/\">Shiva Poudel</a>, <a href=\"https://profiles.wordpress.org/rsiddharth/\">siddharth</a>, <a href=\"https://profiles.wordpress.org/nomnom99/\">Siddharth Thevaril</a>, <a href=\"https://profiles.wordpress.org/siliconforks/\">siliconforks</a>, <a href=\"https://profiles.wordpress.org/simonhammes/\">simonhammes</a>, <a href=\"https://profiles.wordpress.org/siobhan/\">Siobhan</a>, <a href=\"https://profiles.wordpress.org/siobhyb/\">Siobhan</a>, <a href=\"https://profiles.wordpress.org/sirreal/\">sirreal</a>, <a href=\"https://profiles.wordpress.org/sjlevy/\">sjlevy</a>, <a href=\"https://profiles.wordpress.org/skunkbad/\">skunkbad</a>, <a href=\"https://profiles.wordpress.org/smit08/\">Smit Rathod</a>, <a href=\"https://profiles.wordpress.org/snapfractalpop/\">snapfractalpop</a>, <a href=\"https://profiles.wordpress.org/sourovroy/\">Sourov Roy</a>, <a href=\"https://profiles.wordpress.org/spytzo/\">spytzo</a>, <a href=\"https://profiles.wordpress.org/ssergei/\">ssergei</a>, <a href=\"https://profiles.wordpress.org/stacimc/\">stacimc</a>, <a href=\"https://profiles.wordpress.org/ryokuhi/\">Stefano Minoia</a>, <a href=\"https://profiles.wordpress.org/hypest/\">Stefanos Togoulidis</a>, <a href=\"https://profiles.wordpress.org/sabernhardt/\">Stephen Bernhardt</a>, <a href=\"https://profiles.wordpress.org/netweb/\">Stephen Edgar</a>, <a href=\"https://profiles.wordpress.org/strider72/\">Stephen Rider</a>, <a href=\"https://profiles.wordpress.org/dufresnesteven/\">Steve Dufresne</a>, <a href=\"https://profiles.wordpress.org/stevehenty/\">Steve Henty</a>, <a href=\"https://profiles.wordpress.org/stevegs/\">stevegs</a>, <a href=\"https://profiles.wordpress.org/stormrockwell/\">Storm Rockwell</a>, <a href=\"https://profiles.wordpress.org/cybr/\">Sybre Waaijer</a>, <a href=\"https://profiles.wordpress.org/synchro/\">Synchro</a>, <a href=\"https://profiles.wordpress.org/szaqal21/\">szaqal21</a>, <a href=\"https://profiles.wordpress.org/tacoverdo/\">Taco Verdonschot</a>, <a href=\"https://profiles.wordpress.org/takahashi_fumiki/\">Takahashi Fumiki</a>, <a href=\"https://profiles.wordpress.org/karmatosed/\">Tammie Lister</a>, <a href=\"https://profiles.wordpress.org/sparklingrobots/\">Tara King</a>, <a href=\"https://profiles.wordpress.org/tareiking/\">Tarei King</a>, <a href=\"https://profiles.wordpress.org/tellyworth/\">Tellyworth</a>, <a href=\"https://profiles.wordpress.org/terraling/\">terraling</a>, <a href=\"https://profiles.wordpress.org/terriann/\">Terri Ann</a>, <a href=\"https://profiles.wordpress.org/wildworks/\">Tetsuaki Hamano</a>, <a href=\"https://profiles.wordpress.org/themiked/\">theMikeD</a>, <a href=\"https://profiles.wordpress.org/tweetythierry/\">Thierry Muller</a>, <a href=\"https://profiles.wordpress.org/thulshof/\">Thijs Hulshof</a>, <a href=\"https://profiles.wordpress.org/thimalw/\">Thimal Wickremage</a>, <a href=\"https://profiles.wordpress.org/thisiswilliam/\">thisiswilliam</a>, <a href=\"https://profiles.wordpress.org/thomasplevy/\">Thomas Patrick Levy</a>, <a href=\"https://profiles.wordpress.org/timlappe/\">Tim Lappe</a>, <a href=\"https://profiles.wordpress.org/timothyblynjacobs/\">Timothy Jacobs</a>, <a href=\"https://profiles.wordpress.org/titsmaker/\">titsmaker</a>, <a href=\"https://profiles.wordpress.org/tjcafferkey/\">tjcafferkey</a>, <a href=\"https://profiles.wordpress.org/tmatsuur/\">tmatsuur</a>, <a href=\"https://profiles.wordpress.org/tobiasbg/\">TobiasBg</a>, <a href=\"https://profiles.wordpress.org/tobifjellner/\">tobifjellner (Tor-Bjorn Fjellner)</a>, <a href=\"https://profiles.wordpress.org/tomalec/\">Tomek</a>, <a href=\"https://profiles.wordpress.org/shimotomoki/\">Tomoki Shimomura</a>, <a href=\"https://profiles.wordpress.org/starbuck/\">Tony G</a>, <a href=\"https://profiles.wordpress.org/ttahmouch/\">Tony Tahmouch</a>, <a href=\"https://profiles.wordpress.org/hellofromtonya/\">Tonya Mork</a>, <a href=\"https://profiles.wordpress.org/toro_unit/\">Toro_Unit (Hiroshi Urabe)</a>, <a href=\"https://profiles.wordpress.org/zodiac1978/\">Torsten Landsiedel</a>, <a href=\"https://profiles.wordpress.org/sierratr/\">Tracy</a>, <a href=\"https://profiles.wordpress.org/travisnorthcutt/\">Travis Northcutt</a>, <a href=\"https://profiles.wordpress.org/tubys/\">tubys</a>, <a href=\"https://profiles.wordpress.org/dinhtungdu/\">Tung Du</a>, <a href=\"https://profiles.wordpress.org/twstokes/\">twstokes</a>, <a href=\"https://profiles.wordpress.org/desaiuditd/\">Udit Desai</a>, <a href=\"https://profiles.wordpress.org/umesh84/\">umesh84</a>, <a href=\"https://profiles.wordpress.org/webulous/\">Venkat Raj</a>, <a href=\"https://profiles.wordpress.org/versusbassz/\">versusbassz</a>, <a href=\"https://profiles.wordpress.org/bartoszgrzesik/\">verybg</a>, <a href=\"https://profiles.wordpress.org/vcanales/\">Vicente Canales</a>, <a href=\"https://profiles.wordpress.org/szepeviktor/\">Viktor Sz&#233;pe</a>, <a href=\"https://profiles.wordpress.org/vishitshah/\">Vishit Shah</a>, <a href=\"https://profiles.wordpress.org/vladytimy/\">Vlad T</a>, <a href=\"https://profiles.wordpress.org/vondelphia/\">Vondelphia.com</a>, <a href=\"https://profiles.wordpress.org/vortfu/\">vortfu</a>, <a href=\"https://profiles.wordpress.org/wb1234/\">wb1234</a>, <a href=\"https://profiles.wordpress.org/webmandesign/\">WebMan Design &#124; Oliver Juhas</a>, <a href=\"https://profiles.wordpress.org/west7/\">Wes Theron</a>, <a href=\"https://profiles.wordpress.org/westonruter/\">Weston Ruter</a>, <a href=\"https://profiles.wordpress.org/wfmattr/\">WFMattR</a>, <a href=\"https://profiles.wordpress.org/skorasaurus/\">Will Skora</a>, <a href=\"https://profiles.wordpress.org/earnjam/\">William Earnhardt</a>, <a href=\"https://profiles.wordpress.org/williampatton/\">williampatton</a>, <a href=\"https://profiles.wordpress.org/wojsmol/\">wojsmol</a>, <a href=\"https://profiles.wordpress.org/woodyhayday/\">woodyhayday</a>, <a href=\"https://profiles.wordpress.org/wp_kc/\">wp_kc</a>, <a href=\"https://profiles.wordpress.org/wpnomad/\">wpnomad a11n</a>, <a href=\"https://profiles.wordpress.org/wpweaver/\">wpweaver</a>, <a href=\"https://profiles.wordpress.org/yagniksangani/\">Yagnik Sangani</a>, <a href=\"https://profiles.wordpress.org/fierevere/\">Yui</a>, <a href=\"https://profiles.wordpress.org/yvettesonneveld/\">Yvette Sonneveld</a>, <a href=\"https://profiles.wordpress.org/zebulan/\">Zebulan Stanphill</a>, and <a href=\"https://profiles.wordpress.org/zoiec/\">zoiec</a>.</p>\n\n\n\n<p>By release day, 71 locales had translated 90 percent or more of WordPress 5.9 in their language. Community translators are hard at work ensuring more translations are on their way. Thank you to everyone who helps to make WordPress available in 205 languages.</p>\n\n\n\n<p>Many thanks to all of the community volunteers who contribute in the <a href=\"https://wordpress.org/support/\">support forums</a>. They help to answer questions from people across the world. The success of releases, from the first one in 2003, owes much to the efforts of the support contributors.&nbsp;</p>\n\n\n\n<p><em>If contributing to WordPress appeals to you, it’s easy to learn more and get involved. Discover the different teams that come together to <a href=\"https://make.wordpress.org/\">Make WordPress</a> website and find out the latest plans on the <a href=\"https://make.wordpress.org/core/\">core development blog</a>.</em></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 25 Jan 2022 16:17:19 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:40;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"WPTavern: WordPress.org Gets New Global Header and Footer Design\";s: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:30:\"https://wptavern.com/?p=128824\";s: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:173:\"https://wptavern.com/wordpress-org-gets-new-global-header-and-footer-design?utm_source=rss&utm_medium=rss&utm_campaign=wordpress-org-gets-new-global-header-and-footer-design\";s: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:5296:\"<p class=\"has-drop-cap\">If you happened to be browsing <a href=\"https://wordpress.org/\">WordPress.org</a> on Sunday, you might have been in for a shock. The website got a bit of an upgrade. A partial one, at least, as developers implemented a new <a href=\"https://github.com/WordPress/wporg-mu-plugins/issues/38\">global header and footer across the site</a>. This is the first stage of a longer-term overhaul of the site&#8217;s front end.</p>\n\n\n\n<img />Global header and footer sections on WordPress.org.\n\n\n\n<p>Not everyone was ecstatic about the change, and there were at least some mobile-related issues. Some visitors could not close an open nav menu when browsing with mobile Safari, but that issue has <a href=\"https://github.com/WordPress/wporg-mu-plugins/issues/110\">since been addressed</a>.</p>\n\n\n\n<p>Others, such as Support Team rep Steve Stern were concerned about the rollout. &#8220;It bothers me that changes like this are made with no notification,&#8221; he said over WordPress Slack in the #meta channel. &#8220;Yes, it&#8217;s on GH, but really, if you&#8217;re going to change the look/feel of support pages, it might be nice to drop a note in a place where the support team lives (or at least notify the team rep via DM or some Slack message). I can&#8217;t patrol forum messages, Slack, and things hidden in a repo about mu-plugins.&#8221;</p>\n\n\n\n<p>His criticism of keeping track of things is fair. Aside from the Slack app, I have 15 browser tabs open that are somewhat related to this story. WordPress has always seemed to have this problem, and you have to be in it neck-deep to keep up with the channels where everything is happening, lest you be surprised with an update like this one.</p>\n\n\n\n<p>Some people noticed the growing list of links in the navigation menu. It now displays 12 top-level items. Previously, it had 10, but links for <a href=\"https://wordpress.org/patterns/\">Patterns</a> and <a href=\"https://wordpress.org/openverse/\">Openverse</a> were added.</p>\n\n\n\n<p>&#8220;We need a structure,&#8221; said Dennis Žoljom in the Slack #meta channel. &#8220;Not everything can be a top-level menu, that just doesn&#8217;t make any sense. If everything is an important piece of information, then nothing is important. Somebody should get the analytics on what page is most visited and those should be left, and the other parts should be categorized in dropdown menus or placed in the footer.&#8221;</p>\n\n\n\n<p>Dion Hulse noted that this is merely Phase 1 of an ongoing design project. There is more to come.</p>\n\n\n\n<p>&#8220;So understandable for it to feel odd,&#8221; he said. &#8220;But it&#8217;s one part of a lot of design work that the design teams have been up to.&#8221;</p>\n\n\n\n<p>I am a fan of the sharper and cleaner look of the new header and footer. I just have one complaint. The header is sticky, staying attached to the top of the site as readers scroll down the page.</p>\n\n\n\n<p>I know it is a personal hangup, but large sticky headers feel like walls are closing in on me as I scroll the page. It can get bad enough that I have trouble breathing. I have written about this in the past while <a href=\"https://wptavern.com/rosa-2-restaurant-theme-provides-a-frustrating-and-satisfying-experience\">reviewing a theme</a>. Do not worry about me, though. There is still a developer underneath this writer-like exterior and plenty of browser extensions for storing custom, per-site CSS. So, I am enjoying a sticky-free browsing experience.</p>\n\n\n\n<p>WordPress.org actually has two sticky sections at the top of the page. The first is the standard WordPress toolbar, and the second is the new header. Together, they combine for about 135 pixels of valuable screen real estate.</p>\n\n\n\n<p>With the design update, at least one inconsistency across the site is blaring. Not every page displays the toolbar.</p>\n\n\n\n\n<img />Homepage with toolbar.\n\n\n\n<img />News page without toolbar.\n\n\n\n\n<p>The sticky header is more acceptable on the <a href=\"https://wordpress.org/news/\">News page</a>, but it does not display the toolbar. Snipping a few extra pixels off its top and bottom still would not hurt.</p>\n\n\n\n<p>Speaking of the News page, it should be receiving a new coat of paint within the next week or so. Beatriz Fialho first <a href=\"https://make.wordpress.org/design/2021/06/03/redesign-of-wordpress-org-news/\">introduced the proposed redesign</a> in June 2021.</p>\n\n\n\n<img />\n\n\n\n<p>The News page redesign has its own <a href=\"https://github.com/WordPress/wporg-news-2021\">GitHub repository</a>. There is also a <a href=\"https://wordpress.org/news-test/\">test site</a> and <a href=\"https://www.figma.com/file/O9I8Jl7kaUMTX39LlRGbGO/News-Page\">Figma project</a> for people who want to visually browse it.</p>\n\n\n\n<p>Hulse said that its update &#8220;will form the base for further rollout of the style and design to other sites.&#8221; In this instance, &#8220;sites&#8221; are the subsites across WordPress.org, such as the individual Make blogs.</p>\n\n\n\n<p>I have been looking forward to the fresh style. The News section has always felt like an afterthought, especially when compared to the rest of the site.</p>\n\n\n\n<p>I am eager to see more parts of WordPress.org updated. The design was getting a bit stale. What do you think of the progress so far?</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 25 Jan 2022 01:36:01 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s: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:41;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:113:\"WPTavern: WordPress Community Team Updates COVID-19 Safety Guidelines to Relieve Volunteers of Enforcement Burden\";s: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:30:\"https://wptavern.com/?p=128769\";s: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:271:\"https://wptavern.com/wordpress-community-team-updates-covid-19-safety-guidelines-to-relieve-volunteers-of-enforcement-burden?utm_source=rss&utm_medium=rss&utm_campaign=wordpress-community-team-updates-covid-19-safety-guidelines-to-relieve-volunteers-of-enforcement-burden\";s: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:3692:\"<p>Earlier this month the WordPress Community Team <a href=\"https://wptavern.com/wordpress-community-team-proposes-stricter-covid-19-safety-protocols-for-in-person-events-in-2022\">proposed stricter guidelines</a> for hosting in-person events, as the pandemic continues to warrant vigilance and a nimble approach to ensuring attendees&#8217; safety. The <a href=\"https://make.wordpress.org/community/2022/01/24/updated-guidelines-for-in-person-wordcamps-and-meetups-2022/\">updated guidelines</a> were published today with an important change that relieves volunteers of the burden of enforcing the safety measures.</p>\n\n\n\n<p>The new mandatory guidelines require meetup and WordCamp organizers to follow local laws for events with more than 50 attendees. If the location requires or permits venues to limit admission based on vaccination status and masking, the selected venue must be able to provide staff to enforce these measures during the event. Otherwise, the event cannot be hosted there. </p>\n\n\n\n<p>If the area or venue cannot legally check vaccination status, organizers must ensure their location passes the <strong><a href=\"https://wordcampcentral.survey.fm/2022-host-in-person-wordpress-event-checklist\"><strong>in-person checklist</strong></a></strong> at application and at the time of the event. This checklist requires the area&#8217;s average positive case rate to average under 4% for 28 days, and to have under 50 new cases reported per 100,000 people for 14 days, among other requirements. During this Omicron surge, very few places in the world could qualify for an in-person WordPress event if using this checklist.</p>\n\n\n\n<div class=\"wp-block-image\"><img /></div>\n\n\n\n<p>&#8220;For the WordPress Community, another important consideration needs to be the health of the events program,&#8221; WordPress Community Team leader Angela Jin said in the announcement. &#8220;As you might imagine, the people who support this program really, truly, deeply want events that connect and inspire WordPress enthusiasts to continue! Moving forward with in-person events that risk the health of community members is unacceptable, and also poses risks to the program itself.&#8221;</p>\n\n\n\n<p>Many participants in the comments on the original proposal asked why the team couldn&#8217;t just leave the camps to be subject to local guidelines. </p>\n\n\n\n<p>&#8220;It could make things easier if organizers were simply asked to follow local guidelines when planning a WordCamp,&#8221; Jin said. &#8220;In reading comments on the recent post, I am reminded that many local governments are in similar situations: at the whim of when and what the next variant will bring, and debating best approaches to safety.&#8221;</p>\n\n\n\n<p>Another problem with following local guidelines is that these are not always safe or adequate to meet the current threat. Some people have the privilege of having their health prioritized by local officials. Others live under corrupt leaders whose political ambitions compromise the health of the people they are meant to serve.</p>\n\n\n\n<p>One of the main benefits of the new guidelines is that it imposes more safety measures while protecting volunteers by offloading enforcement to the venues. This may also come at a cost in cases where WordCamps will not be able to use a venue that is not staffed on the weekends. For some smaller, local camps, this could be limiting if they do not have a budget for the type of venue that is required. </p>\n\n\n\n<p>For meetup events with fewer than 50 attendees, the Community team recommends organizers follow local guidelines and limit the event to those who are fully vaccinated or who have tested negative within 48 hours.</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, 24 Jan 2022 21:19:51 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:42;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"Akismet: Version 4.2.2 of the Akismet WordPress Plugin is Now Available\";s: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:31:\"http://blog.akismet.com/?p=2231\";s: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:99:\"https://blog.akismet.com/2022/01/24/version-4-2-2-of-the-akismet-wordpress-plugin-is-now-available/\";s: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:840:\"<p>Version 4.2.2 of <a href=\"http://wordpress.org/plugins/akismet/\">the Akismet plugin for WordPress</a> is now available. This update contains the following improvements:</p>\n<ul>\n<li>Better compatibility with Formidable Forms</li>\n<li>Fixed a bug that could cause issues when multiple contact forms appear on one page.</li>\n<li>Updated the delete_comment and deleted_comment actions to pass two arguments to match WordPress core since 4.9.0.</li>\n<li>A new filter that allows comment types to be excluded when counting users&#8217; approved comments.</li>\n</ul>\n<p>To upgrade, visit the Updates page of your WordPress dashboard and follow the instructions. If you need to download the plugin zip file directly, links to all versions are available in <a href=\"http://wordpress.org/plugins/akismet/\">the WordPress plugins directory</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 24 Jan 2022 16:15:03 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Christopher Finke\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:43;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:107:\"Gutenberg Times: 42 Block Themes, Developer Hours and Plugins for the block editor — Weekend Edition #200\";s: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=20093\";s: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:112:\"https://gutenbergtimes.com/42-block-themes-developer-hours-and-plugins-for-the-block-editor-weekend-edition-200/\";s: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:23182:\"<p>Well, who would have thunk when I started the newsletter in 2018, that I will still be doing it four years later. Welcome to the 200th edition! A huge &#8220;Thank you&#8221; to you, dear reader, for browsing and reading it week after week.  </p>\n\n\n\n<p>I am also deeply grateful for the contributors working on the block editor and the theme and plugin  developers building on top of it. I am an absolute fan and love to be a scribe of your work and art. And there are others in the community who write, test, and build sites with it. All your encouragement, tips, news and conversations, make working on this newsletter an absolute pleasure.</p>\n\n\n\n<p>Besides the weekend editions, we also publish other articles. There might be more in the future, too. Let me point you to two here. </p>\n\n\n\n<p>Don&#8217;t miss Anne McCarthy&#8217;s article <a href=\"https://gutenbergtimes.com/how-5-9-creates-a-strong-foundation-for-the-future/\"><strong>How 5.9 creates a strong foundation for the future</strong></a>. She wrote about the various features the developers are working on and how to participate in the process.</p>\n\n\n\n<p>As a reminder, I list here the <a href=\"https://gutenbergtimes.com/whats-new-in-wordpress-5-9-a-reading-list-on-full-site-editing-and-block-themes/\"><strong>WordPress 5.9 Reading list for FSE and Block Themes.</strong></a> </p>\n\n\n\n<p>And now I get out of the way to the rest of the Gutenberg news. Have a great weekend, </p>\n\n\n\n<p>Yours, 💕<br />Birgit </p>\n\n\n\n<p>PS: Last Monday, I was having great fun with the members at the <a href=\"https://www.meetup.com/BoulderWP/events/282792359\">WordPress Meetup in Boulder </a>on a panel with Brian Gardner and Courtney Robertson. discussing various aspects of the upcoming WordPress 5.9 Release. The <a href=\"https://www.youtube.com/watch?v=WUhBitZOD8Q\">video</a> and the <a href=\"https://docs.google.com/document/d/18EMyHCYZnCv668LSBPchh83JUbt4UZSI70AM42093cU/edit\">document with questions and links</a> are now available. Huge Thank you to Angela Bowman for the invitation. She is a wiz with excellent moderating and live demoing skills and she was doing both at the same time. </p>\n\n\n\n\n<div class=\"wp-container-62028adbd1e2a wp-block-group has-light-background-background-color has-background\"><div class=\"wp-block-group__inner-container\">\n<p><strong>Table of Contents</strong></p>\n\n\n\n<div class=\"wp-block-sortabrilliant-guidepost\"><ul><li><a href=\"https://gutenbergtimes.com/feed/#wordpress-project-updates\">WordPress Project updates</a><ul><li><a href=\"https://gutenbergtimes.com/feed/#gutenberg-12-4\">Gutenberg 12.4 </a></li></ul></li><li><a href=\"https://gutenbergtimes.com/feed/#developing-for-the-block-editor-and-building-blocks\">Developing for the block editor and building blocks. </a></li><li><a href=\"https://gutenbergtimes.com/feed/#using-the-block-editor-and-building-sites-nocode\">Using the Block editor and building sites #nocode</a><ul><li><a href=\"https://gutenbergtimes.com/feed/#plugins-extending-the-block-editor\">Plugins extending the block editor</a></li></ul></li><li><a href=\"https://gutenbergtimes.com/feed/#block-theme-development\">Block Theme development </a></li><li><a href=\"https://gutenbergtimes.com/feed/#wordpress-social-learning-events-and-meetups\">WordPress Social Learning Events (and Meetups)</a></li></ul></div>\n</div></div>\n\n\n\n\n<h2 id=\"wordpress-project-updates\">WordPress Project updates</h2>\n\n\n\n<p><strong>Tonya Mork</strong>, release coordinator for WordPress 5.9 invites you to join the team for the <a href=\"https://make.wordpress.org/core/2022/01/20/wordpress-5-9-release-day-process/\"><strong>WordPress 5.9 Release Party</strong></a> 🙌 on Tuesday, January 25th, 2022 at 11 am ET / 16:00 UTC. You bring your favorite beverage and cookies, as it all will happen in the #core channel on WordPress Slack. <em><a href=\"https://make.wordpress.org/chat/\">You would need to have an account there.</a></em> </p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\" />\n\n\n\n<p>The <a href=\"https://buddypress.org/2022/01/buddypress-10-0-0-la-pinoz/\"><strong>BuddyPress Team released the 10.0 version</strong></a>. In his release post <strong><a href=\"https://twitter.com/imath\">Mathieu Viet</a></strong> wrote: &#8220;We’ve adjusted our BP Theme Compatibility API so that you can enjoy this amazing feature, making sure that BuddyPress-generated content integrates optimally within themes supporting it.&#8221;. Take a look at the rest of the post as the team added some neat features to the social networks plugin for self-hosted WordPress sites. </p>\n\n\n\n<p>In a separate note, Viet also  announced that the new version won&#8217;t load legacy widget by default anymore. <a href=\"https://bpdevel.wordpress.com/2022/01/16/legacy-widgets-in-buddypress-10-0-0/\">Details in this separate note</a> by </p>\n\n\n\n\n<p><strong>&nbsp;<a href=\"https://make.wordpress.org/core/handbook/references/keeping-up-with-gutenberg-index/\" target=\"_blank\" rel=\"noreferrer noopener\">&#8220;Keeping up with Gutenberg &#8211; Index 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>\n\n\n\n\n<h3 id=\"gutenberg-12-4\">Gutenberg 12.4 </h3>\n\n\n\n<p><strong>Alex Lende</strong> published the release notes for this week&#8217;s release: <a href=\"https://make.wordpress.org/core/2022/01/19/whats-new-in-gutenberg-12-4-19-january/\">What’s new in Gutenberg 12.4 (19 January )</a></p>\n\n\n\n<p>The highlighted features and enhancements</p>\n\n\n\n<ul><li><a href=\"https://make.wordpress.org/core/2022/01/19/whats-new-in-gutenberg-12-4-19-january/#accessibility-improvements\">Accessibility improvements</a></li><li><a href=\"https://make.wordpress.org/core/2022/01/19/whats-new-in-gutenberg-12-4-19-january/#post-publish-panel-categories-reminder\">Post publish panel categories reminder</a></li><li><a href=\"https://make.wordpress.org/core/2022/01/19/whats-new-in-gutenberg-12-4-19-january/#site-editor-keyboard-shortcuts-help-panel\">Site editor keyboard shortcuts help panel</a></li><li><a href=\"https://make.wordpress.org/core/2022/01/19/whats-new-in-gutenberg-12-4-19-january/#core-blocks-recategorization\">Core blocks recategorization</a></li></ul>\n\n\n\n<p>In a new section he also give kudos to first time contributors for their first merged PRs in this release. </p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\" />\n\n\n\n<p>For the <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-59-extensibility-of-the-block-editor/\"><strong>59th episode of the Gutenberg Changelog</strong></a> podcast, my co-host, <strong>Grzegorz Ziolkowski</strong> and I were delighted to have <strong>Fabian Kägy</strong> as our guest on the show. We discussed Gutenberg 12.4, Developer Hours, how to best implement extensibility of the block editor and much more. </p>\n\n\n\n<img />Recording the Gutenberg Changelog #59: Fabian Kägy, Birgit Pauli-Haack and Grzegorz Ziolkowski. \n\n\n\n\n<p>Never miss an episode again 🙂 </p>\n\n\n\n<p><strong>Subscribe to the&nbsp;<a href=\"https://gutenbergtimes.com/podcast/\">Gutenberg Changelog</a>&nbsp;podcast </strong><br />🎙️&nbsp;<a href=\"https://open.spotify.com/show/620NwVKQJGdTupy36zYxvg?mc_cid=4b6c9f88fe\">Spotify</a>&nbsp;|&nbsp;<a href=\"https://podcasts.google.com/feed/aHR0cHM6Ly9ndXRlbmJlcmd0aW1lcy5jb20vZmVlZC9wb2RjYXN0\">Google</a>&nbsp;|&nbsp;<a href=\"https://podcasts.apple.com/us/podcast/gutenberg-changelog/id1469294475\">iTunes</a>&nbsp;|&nbsp;<a href=\"https://pca.st/podcast/f8445ec0-7508-0137-f267-1d245fc5f9cf\">PocketCasts</a>&nbsp;|&nbsp;<a href=\"https://www.stitcher.com/show/gutenberg-changelog\">Stitcher</a>&nbsp;|<br />🎙️&nbsp;<a href=\"https://www.podbean.com/podcast-detail/chi7j-9904a/Gutenberg-Changelog-Podcast\">Pod Bean</a>&nbsp;|&nbsp;<a href=\"https://castbox.fm/channel/Gutenberg-Changelog-id2173375\">CastBox</a>&nbsp;|&nbsp;<a href=\"https://www.podchaser.com/podcasts/gutenberg-changelog-878239/\">Podchaser</a>&nbsp;|&nbsp;<a href=\"https://gutenbergtimes.com/feed/podcast\">RSS Feed</a>&nbsp;</p>\n\n\n\n<img />\n\n\n\n\n<hr class=\"wp-block-separator is-style-wide\" />\n\n\n\n<p>On the WPTavern, Justin Tadlock, took the new Gutenberg release for a spin. <a href=\"https://wptavern.com/gutenberg-12-4-includes-accessibility-improvements-categories-reminder-and-a-tag-cloud-outline-style\"><strong>Gutenberg 12.4 Includes Accessibility Improvements, Categories Reminder, and a Tag Cloud Outline Style</strong></a></p>\n\n\n\n<h2 id=\"developing-for-the-block-editor-and-building-blocks\">Developing for the block editor and building blocks. </h2>\n\n\n\n<p>Check out Fabian Kägy&#8217;s project: <a href=\"https://gutenberg-playground.vercel.app/\"><strong>Gutenberg Playgrond</strong></a>  enables a way to embed a browser-based coding experience of example code within a post. This allows the reader to modify that code on the fly and see the changes, without a build steps or setting up a local dev environment. The project is in its infancy and was inspired by the <a href=\"https://beta.reactjs.org/learn\">beta of ReactJS new documentation site.</a> <em>We spoke with Kägy about that project on <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-59-extensibility-of-the-block-editor/\">the Gutenberg Changelog #59</a></em></p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\" />\n\n\n\n<p>For February and March, we plan a series of <strong>Developer Hours</strong>, for theme, plugin, freelance, or agency developers to get their burning questions about building blocks, and other feature for the block editor answered. Expert panelist, developers from the Community will be available to discuss code problems, different approaches to solve a problem or just bounce of ideas for future development. You can read more about the <a href=\"https://make.wordpress.org/core/2021/10/07/proposal-gutenberg-developer-hours-series-of-events/\">details in this Proposal on the Make Blog</a>. <br /></p>\n\n\n\n<p>The first event will take place on <strong>February 8th, 2022 at 11 am ET / 16:00 UTC</strong> with  <strong>Tammie Lister, Fabian Kägy and Nick Diego</strong>.  You can <a href=\"https://www.meetup.com/wordpress-social-learning/events/283412026/\">register via the WordPress Social Learning </a>space on Meetup.  </p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\" />\n\n\n\n<p><strong><a href=\"https://twitter.com/CometMarie\">Marie Comet </a></strong>has to convert content created with the Classic Block to Block and found that tables carefully created, would to be so beautiful when converted to a table block. Her plugin <strong><a href=\"https://github.com/MarieComet/Gutenberg-Convert-Table-Classic\">Gutenberg-Convert-Table-Classic</a></strong>, taps into the conversion script and keeps tables in Custom HTML blocks instead. If you ran into a similar problem, modify your plugin as you see fit. </p>\n\n\n\n\n<p><strong><a href=\"https://gutenbergtimes.com/need-a-zip-from-master/\">Need a plugin .zip from Gutenberg&#8217;s main (trunk) 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>\n\n\n\n<p><img alt=\"GitHub all releases\" src=\"https://img.shields.io/github/downloads/bph/gutenberg/total\" /></p>\n\n\n\n\n<h2 id=\"using-the-block-editor-and-building-sites-nocode\">Using the Block editor and building sites #nocode</h2>\n\n\n\n<p><strong><a href=\"https://twitter.com/joedolson\">Joe Dolson</a></strong> who works as an accessibility consultant and is part of the WordPress Accessibility team posted an answer to those who mocked the WordPress project for hundreds of open accessibility issues on the GitHub repository. It&#8217;s rather a sign of increased focus on accessibility. But read for yourself <a href=\"https://www.joedolson.com/2022/01/dont-judge-progress-by-the-number-of-open-issues/\"><strong>Don’t judge progress by the number of open issues</strong></a>. </p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\" />\n\n\n\n<p>For the Torque Magazine, <strong>Nick Diego</strong>, developer advocate at WPEngine,  wrote about <a href=\"https://torquemag.io/2022/01/builder-basics-exploring-block-patterns/\"><strong>Guide to Explorie Block Patterns</strong></a> and answers questions as the Why used them, where to find them and how to use block patterns. </p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\" />\n\n\n\n<p><a href=\"https://wptavern.com/ask-the-bartender-are-there-any-compact-and-personal-block-themes\"><strong>Ask the Bartender: Are There Any Compact and Personal Block Themes?</strong></a>  &#8220;<em>By “compact and personal,” I think of something like a small room cramped with all your belongings, photos, postcards, etc., giving it a cozy feeling (Tumblr themes kind of fit this).&nbsp;</em>&#8221; wrote the person asking the question. Justin Tadlock has some suggestions for her. &#8220;Right now, I only know of one block theme that fits into the compact-and-cozy category, and that is&nbsp;<a href=\"https://wordpress.org/themes/kubrick2/\">Kubrick2</a>. I covered it in detail&nbsp;<a href=\"https://wptavern.com/yes-a-block-based-version-of-the-kubrick-wordpress-theme-exists\">last month in a review</a>. It is now live on WordPress.org.&#8221; Tadlock wrote. </p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\" />\n\n\n\n<p><strong>Anne McCarthy</strong> is chipping way on the long list of End-user Documentation for WordPress 5.9 and just published the <a href=\"https://wordpress.org/support/article/dimension-controls-overview/\"><strong>Dimension Controls</strong></a>.</p>\n\n\n\n<img /><em>Screenshot on the location of the Dimension Controls for Post Title, Cover and Buttons blocks. </em>\n\n\n\n<p><em>A list of more new documentation pages is available in this post <a href=\"https://href.li/?https://gutenbergtimes.com/whats-new-in-wordpress-5-9-a-reading-list-on-full-site-editing-and-block-themes/#user-documentation-for-site-builders-and-content-creators\">WordPress 5.9 Reading List on Block Themes and Full Site Editing</a></em></p>\n\n\n\n<h3 id=\"plugins-extending-the-block-editor\">Plugins extending the block editor</h3>\n\n\n\n<p id=\"todo-plugin-by-david-towoju-here-is-justin-tadlock-s-review-on-the-wptavern-create-todo-and-checklists-in-the-wordpress-editor-with-new-plugin\"><strong><a href=\"https://wordpress.org/plugins/todo-block/\">Todo plugin </a>by David Towoju</strong></p>\n\n\n\n<p><em>&#8220;Your todo checkboxes will appear both on the&nbsp;<strong>frontend</strong>&nbsp;and&nbsp;<strong>backend</strong>. It will even keep the current state of the checkbox when shown on the frontend.&#8221;</em> Towoju wrote. </p>\n\n\n\n<p id=\"todo-plugin-by-david-towoju-here-is-justin-tadlock-s-review-on-the-wptavern-create-todo-and-checklists-in-the-wordpress-editor-with-new-plugin\">Here is Justin Tadlock&#8217;s review on the WPTavern: <a href=\"https://wptavern.com/create-todo-and-checklists-in-the-wordpress-editor-with-new-plugin\">Create Todo and Checklists in the WordPress Editor With New Plugin</a></p>\n\n\n\n<hr class=\"wp-block-separator is-style-default\" />\n\n\n\n<p><strong><a href=\"https://wordpress.org/plugins/newsletter-glue/\">Newsletter Glue</a> by Lesley Sim and Ahmed Fouad</strong></p>\n\n\n\n<p>In her post, <strong><a href=\"https://newsletterglue.com/blog/product-updates/newsletter-glue-v2/\">Newsletter Glue released 2.0,</a></strong> Lesley Sim Informs their users about the the brand-new admin settings user interface for the premium version of the plugin. I have been using this plugin since Dec. 2020, and I would not go back to any other newsletter tool. </p>\n\n\n\n<hr class=\"wp-block-separator is-style-default\" />\n\n\n\n<p><strong><a href=\"https://wordpress.org/plugins/social-sharing-block/\">Social Sharing Block </a>by Nick Diego</strong></p>\n\n\n\n<p><em>&#8220;A simple little block that allows you to add social share icons to the Block Editor. Choose from 10+ of the most popular social channels.&#8221;</em> Diego wrote</p>\n\n\n\n<p>Justin Tadlock took it for a spin and shared his thought in his article, <a href=\"https://wptavern.com/nick-diego-forks-core-wordpress-block-creates-social-sharing-plugin\">Nick Diego Forks Core WordPress Block, Creates Social Sharing Plugin</a>.  </p>\n\n\n\n<hr class=\"wp-block-separator is-style-default\" />\n\n\n\n<p>&nbsp;<strong><a href=\"https://wordpress.org/plugins/wicked-block-builder/\">Wicked Block Builder</a> by Wicked Plugins</strong></p>\n\n\n\n<p>&#8220;Create your own custom blocks with Wicked Block Builder!&nbsp;&#8221; </p>\n\n\n\n<p>Seems to land in the same space as Genesis Custom Blocks (former Block Labs), Lazy Blocks, ACF Blocks.</p>\n\n\n\n<p>You can learn more in from Justin Tadlock on the WPTavern. <a href=\"https://wptavern.com/wicked-plugins-launches-ui-based-wordpress-block-builder\"><strong>Wicked Plugins Launches UI-Based WordPress Block Builder</strong></a></p>\n\n\n\n<hr class=\"wp-block-separator is-style-default\" />\n\n\n\n<h2 id=\"block-theme-development\">Block Theme development </h2>\n\n\n\n<p>In his tutorial, <a href=\"https://speckyboy.com/introduction-wordpress-block-themes/\"><strong>An Introduction to WordPress Block Themes</strong></a>, <a href=\"https://twitter.com/karks88\"><strong>Eric Karkovack</strong></a> takes you on a tour of the different components that make a Block Theme: Template files,  folder structure, using theme.json for styling and creating templates. The article is a quick overview with a comprehensive list of resources to learn more. </p>\n\n\n\n<hr class=\"wp-block-separator is-style-wide\" />\n\n\n\n<p>Theme team member, <a href=\"https://twitter.com/sandilyakafle\"><strong>Ganga Kafle</strong></a> started a <a href=\"https://twitter.com/sandilyakafle/status/1483437345643048964\">Twitter Thread</a>  with this question: </p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>Why are you not submitting block themes in WordPress as you submit classic themes on a regular basis? What are the reasons behind it? Please comment below.</p><cite><a href=\"https://twitter.com/sandilyakafle/status/1483437345643048964\">Ganga Kafle on Twitter</a></cite></blockquote>\n\n\n\n<p><strong>Sarah Gooding</strong> picked up the answers and put them into bigger context. <a href=\"https://wptavern.com/what-arent-more-wordpress-theme-authors-creating-block-themes\"><strong>&#8220;Why Aren’t More WordPress Theme Authors Creating Block Themes?&#8221;</strong></a>. </p>\n\n\n\n<p>When I saw the tweet, I thought, WordPress 5.9 hasn&#8217;t been released yes, how can there be an expectation that there is a mass submission of block themes happening? Some theme developers did anyway. Ahead of Tuesday&#8217;s release,  <a href=\"https://wordpress.org/themes/tags/full-site-editing/\"><strong>42 Block Themes built for Fullsite Editing are already available</strong></a> in the WordPress Themes directory. </p>\n\n\n\n<h2 id=\"wordpress-social-learning-events-and-meetups\">WordPress Social Learning Events (and Meetups)</h2>\n\n\n\n<p><strong>January 23, 2022 – 4 pm ET / 21:00 UTC</strong> <br /><a href=\"https://www.meetup.com/Eastbay-WordPress-Meetup/events/283253433/\"><strong>WordPress: the Next Generation</strong></a> with Sallie Goetsch via The East Bay WordPress Meetup Group</p>\n\n\n\n<p><strong>January 24, 2022, 6 pm ET / 23:00 UTC</strong> <br /><a href=\"https://www.meetup.com/WordPressHartford/events/283118120/\"><strong>What Will WordPress 5.9 Mean for You?</strong></a> with Ray and Peter Ingersoll via WordPress Hartford, CT</p>\n\n\n\n<p><strong>January 26 , 2022, 1 pm ET / 18:00 UTC</strong> <br /><a href=\"https://www.meetup.com/wordpress-social-learning/events/283360329/\"><strong>Zero to Block Theme Series #2: theme.json</strong></a> with Daisy Olsen via WordPress Social Learning Spaces</p>\n\n\n\n<p><strong>January 26, 2022, 6 pm ET / 23:00 UTC</strong> <br /><a href=\"https://www.meetup.com/wordpress-social-learning/events/282773311/\"><strong>Intro to Templates and Template Parts (Full Site Editing)</strong></a> with Wes Theron via WordPress Social Learning Spaces</p>\n\n\n\n<p><strong>January 28, 2022, 3 pm ET / 20:00 UTC</strong> <br /><a href=\"https://www.meetup.com/wordpress-social-learning/events/283227922/\"><strong>Demo: Build Your Homepage Using Full Site Editing</strong></a> with Roxy Kohilakis via WordPress Social Learning Spaces</p>\n\n\n\n<p><strong>February 4, 2022, 3 pm ET / 20:00 UTC</strong> <br /><a href=\"https://www.meetup.com/wordpress-social-learning/events/283228078/\"><strong>Beginner&#8217;s Guide to Full Site Editing</strong></a><strong> </strong>with Roxy Kohilakis via WordPress Social Learning Spaces</p>\n\n\n\n<p><strong>February 7, 2022, 12pm (noon) ET / 17:00 UTC </strong><br /><a href=\"https://www.meetup.com/wordpress-social-learning/events/283323367/\"><strong>Taking Control Over the Editor for Client Builds</strong></a> with Fabian Kägy via WordPress Social Learning Spaces</p>\n\n\n\n<p><strong>February 8th, 2022 11 am / 16:00 UTC </strong><br /><a href=\"https://www.meetup.com/wordpress-social-learning/events/283412026/\"><strong>Developer Hours</strong></a> with Birgit Pauli-Haack and expert panel via WordPress Social Learning Spaces</p>\n\n\n\n<p><strong>February 9th, 2022 5pm ET / 22:00 UTC </strong><br /><a href=\"https://www.meetup.com/wordpress-social-learning/events/283371670/\"><strong>Using Block Patterns</strong></a> with Wes Theron via WordPress Social Learning Spaces</p>\n\n\n\n<p><strong>February 11, 2022 – 3 pm ET / 20:00 UTC</strong> <br /><a href=\"https://www.meetup.com/wordpress-social-learning/events/283228209/\"><strong>Breaking it Down: Blocks, Patterns, And Templates with Full Site Editing</strong></a> with Roxy Kohilakis via WordPress Social Learning Spaces</p>\n\n\n\n<p><strong>February 14, 2022 – 4 pm ET / 21:00 UTC </strong><br /><a href=\"https://www.meetup.com/wordpress-social-learning/events/283237147/\"><strong>Exploring Theme Blocks</strong></a><strong> </strong>with Wes Theron via WordPress Social Learning Spaces</p>\n\n\n\n\n<hr class=\"wp-block-separator is-style-wide\" />\n\n\n\n<p class=\"has-text-align-center\"><strong>Don&#8217;t want to miss the next Weekend Edition? </strong></p>\n\n\n\n<form class=\"wp-block-newsletterglue-form ngl-form ngl-portrait\" action=\"https://gutenbergtimes.com/feed/\" method=\"post\"><div class=\"ngl-form-container\"><div class=\"ngl-form-field\"><label class=\"ngl-form-label\" for=\"ngl_email\">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 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>\n\n\n\n<hr class=\"wp-block-separator 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, 22 Jan 2022 22:21:50 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s: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:44;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:120:\"Gutenberg Times: Gutenberg Changelog #59 – Gutenberg 12.4, Developer Hours, Extensibility of the Block Editor and more\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"https://gutenbergtimes.com/?post_type=podcast&p=20143\";s: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:92:\"https://gutenbergtimes.com/podcast/gutenberg-changelog-59-extensibility-of-the-block-editor/\";s: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:62082:\"<p>Birgit Pauli-Haack and Grzegorz Ziolkowski discuss with their guest, Fabian Kägy Gutenberg 12.4, Developer Hours, and how to best implement extensibility of the block editor</p>\n\n\n\n<ul><li>Music:&nbsp;<a href=\"https://soundcloud.com/xirclebox\">Homer Gaines</a></li><li>Editor:&nbsp;<a href=\"https://www.linkedin.com/in/sandy-reed/\">Sandy Reed</a></li><li>Logo:&nbsp;<a href=\"https://markuraine.com/\">Mark Uraine</a></li><li>Production:&nbsp;<a href=\"https://paulisystems.net/wordpress-consulting\">Pauli Systems</a></li></ul>\n\n\n\n<span id=\"more-20143\"></span>\n\n\n\n<p><a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-58-devnotes-for-full-site-editing#shownotes\">Show Notes </a>/ <a href=\"https://gutenbergtimes.com/podcast/gutenberg-changelog-59-extensibility-of-the-block-editor/#transcript\">Transcript</a></p>\n\n\n\n<p><strong>Subscribe to the&nbsp;<a href=\"https://gutenbergtimes.com/podcast/\">Gutenberg Changelog</a>&nbsp;podcast via your favorite podcast apps!</strong><br />🎙️&nbsp;<a href=\"https://open.spotify.com/show/620NwVKQJGdTupy36zYxvg?mc_cid=4b6c9f88fe\">Spotify</a>&nbsp;|&nbsp;<a href=\"https://podcasts.google.com/feed/aHR0cHM6Ly9ndXRlbmJlcmd0aW1lcy5jb20vZmVlZC9wb2RjYXN0\">Google</a>&nbsp;|&nbsp;<a href=\"https://podcasts.apple.com/us/podcast/gutenberg-changelog/id1469294475\">iTunes</a>&nbsp;|&nbsp;<a href=\"https://pca.st/podcast/f8445ec0-7508-0137-f267-1d245fc5f9cf\">PocketCasts</a>&nbsp;|&nbsp;<a href=\"https://www.stitcher.com/show/gutenberg-changelog\">Stitcher</a>&nbsp;|<br />🎙️&nbsp;<a href=\"https://www.podbean.com/podcast-detail/chi7j-9904a/Gutenberg-Changelog-Podcast\">Pod Bean</a>&nbsp;|&nbsp;<a href=\"https://castbox.fm/channel/Gutenberg-Changelog-id2173375\">CastBox</a>&nbsp;|&nbsp;<a href=\"https://www.podchaser.com/podcasts/gutenberg-changelog-878239/\">Podchaser</a>&nbsp;|&nbsp;<a href=\"https://gutenbergtimes.com/feed/podcast\">RSS Feed</a>&nbsp;</p>\n\n\n\n<p class=\"has-large-font-size\" id=\"shownotes\"><strong>Show Notes </strong></p>\n\n\n\n<p><strong>Developer Hours</strong> &#8211; <a href=\"https://www.meetup.com/wordpress-social-learning/events/283412026/\">Register for Feb 8th, 2022 at 11 am ET / 16:00 UTC via Meetup</a></p>\n\n\n\n<h2 id=\"community-contributions\">Community Contributions</h2>\n\n\n\n<h3 id=\"gutenberg-playground-project-by-fabian-kagy\">Gutenberg Playground project by Fabian Kägy</h3>\n\n\n\n<p><a href=\"https://gutenberg-playground.vercel.app\">Gutenberg Playground</a> website</p>\n\n\n\n<p><a href=\"https://github.com/fabiankaegy/gutenberg-playground\">GitHub repo </a></p>\n\n\n\n<p><a href=\"https://wordpress.github.io/gutenberg\">Official Storybook website</a></p>\n\n\n\n<h2 id=\"what-s-released\">What&#8217;s released?</h2>\n\n\n\n<p id=\"what-s-released\"><a href=\"https://make.wordpress.org/core/2022/01/20/wordpress-5-9-release-day-process/\">WordPress 5.9 Release Day Process</a> and Party! </p>\n\n\n\n<p id=\"what-s-released\"><a href=\"https://make.wordpress.org/core/2022/01/19/whats-new-in-gutenberg-12-4-19-january/\">What’s new in Gutenberg 12.4 ( 19 January )</a></p>\n\n\n\n<p id=\"what-s-released\">WPTavern: <a href=\"https://wptavern.com/gutenberg-12-4-includes-accessibility-improvements-categories-reminder-and-a-tag-cloud-outline-style\">Gutenberg 12.4 Includes Accessibility Improvements, Categories Reminder, and a Tag Cloud Outline Style</a></p>\n\n\n\n<h2 id=\"what-s-released\">What’s in active development or discussed </h2>\n\n\n\n<p><a href=\"https://github.com/WordPress/gutenberg/discussions/37448\">Proposal for opening the editor interface to more extensibility</a> GitHub Discussion started by Fabian Kägy </p>\n\n\n\n<p><a href=\"https://github.com/WordPress/gutenberg/pull/38063\">Query Loop: Add support for custom taxonomies filtering</a></p>\n\n\n\n<p><a href=\"https://github.com/WordPress/gutenberg/pull/38024\">Query Loop: Add multiple authors support</a></p>\n\n\n\n<p><a href=\"https://github.com/WordPress/gutenberg/pull/35619\">Allow switching global styles variations</a></p>\n\n\n\n<p class=\"has-large-font-size\">Stay in Touch</p>\n\n\n\n<ul><li>Did you like this episode? <a href=\"https://lovethepodcast.com/gutenbergchangelog\"><strong>Please write us a review </strong></a></li><li>Ping us on Twitter or send DMs with questions. <a href=\"https://twitter.com/gziolo\">@gziolo </a>and <a href=\"https://twitter.com/bph\">@bph</a>.</li><li><em>If you have questions or suggestions, or news you want us to include, send them to <a href=\"mailto:changelog@gutenbergtimes.com\">changelog@gutenbergtimes.com</a>. </em></li><li><em>Please write us a review on iTunes! <a href=\"https://gutenbergtimes.com/itunes/\">(Click here to learn how)</a></em></li></ul>\n\n\n\n<p class=\"has-large-font-size\" id=\"transcript\">Transcript </p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Hello, and welcome to our 59th episode of the Gutenberg Changelog podcast. In today&#8217;s episode, we will talk about Gutenberg 12.4, developer hours are coming, and extensibility of Gutenberg and so much more. I&#8217;m Birgit Pauli-Haack, curator at the Gutenberg Times and WordPress developer advocate and I&#8217;m here with my co-host, Grzegorz Ziolkowsk. JavaScript developer at Automattic and WordPress core contributor. Howdy Grzegorz, how are you today?</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: I&#8217;m feeling very excited and that&#8217;s because I have a great pleasure to introduce our guest today, Fabian Kägy. Developer at 10up, core contributor and not unknown to the listeners and traders of the Gutenberg Times. I also see that Fabian is going to lead the next Gutenberg 12.5 release. How is it going, Fabian?</p>\n\n\n\n<p><em>Fabian Kägy</em>: Hey, thank you so much for having me on. I&#8217;m excited to be part of this.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Well, Welcome Fabian. So happy to have you on the show. You have been busy around the Gutenberg project, so thank you for making the time. I heard you work for the 10up agency. That&#8217;s a large agency. How are you all adopting, working, building sites around the block editor?</p>\n\n\n\n<p><em>Fabian Kägy</em>: Yeah. That is correct. I&#8217;ve been working at 10up for two years now and in that time I&#8217;ve not really come across an installation of the classic editor plugin. We&#8217;ve really, full on, adapted the usage of blocks for pretty much everything that you see. We aren&#8217;t really all the way into full site editing just yet, but that is also something on the horizon.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. Not many people are yet, because it hasn&#8217;t been released yet. It&#8217;s coming though.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah. In a few days.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: In a few days, yeah, Tuesday, January 25th. All right. So we have a one announcement. Yeah. Oops, sorry.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah. Be before that, I just wanted to ask, Fabian, how do you find time for contributing to Gutenberg? You are very active on that field.</p>\n\n\n\n<p><em>Fabian Kägy</em>: For me personally, that is split, I have some overhead hours dedicated to contributing, so part of my time that I spend on open source is actually sponsored time. Currently, there&#8217;s not too much that you can do in the winter and in these weird times that we&#8217;re living in and so it&#8217;s just something that I enjoy very much and something that I&#8217;m passionate about. I want to do as much of that as I can.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. It&#8217;s wonderful. Well, thank you. You&#8217;re one of the rising stars here.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah, definitely.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: And the Gutenberg project. Yeah. So we are glad you&#8217;re here. Okay.</p>\n\n\n\n<h3 id=\"announcements\"><strong>Announcements</strong></h3>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: And now we can go with the announcement, right? So developer hours, hurray. So Birgit, can you tell us more about the idea?</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yes. We will start developer hours next month. And it&#8217;s been a while that I published a proposal on the core block about this idea. I think it was back in October. So briefly the format is we will have a panel of free community developers and contributors and a short educational segment and then we open the floor for questions and discussion.</p>\n\n\n\n<p>This event is mainly for developers learning and working with blocks or the editor itself. You can bring your questions, code samples or bugs to the panel and Screen Share and we&#8217;ll try to help you out. Well, the panel will help, not so much me, but the panel will help you out. And you can also bring you ideas like, &#8220;I do this plugin for the classic editor, how would I approach it for the block editor?&#8221;</p>\n\n\n\n<p>These are actually some great conversations that we are looking forward to. And we have a fantastic group of volunteers right now and among them, of course, Grzegorz and Fabian. Thank you. And also thank you to Tammie Lister, Nick Diego, George Mamadashvili, Daisy Olsen, and Joni Halabi, who will join in on different days.</p>\n\n\n\n<p>The events will be announced on the core Make Blog on the Gutenberg Times and the meet up, because they all will be located in the WordPress social learning group. So if haven&#8217;t joined that yet on meetup.com, do it now and you get automatic notification when it&#8217;s live and of course you follow Twitter. If you want to save the dates, now that you are hearing this on the podcast, it will be…. So the four events are trial events and Tuesdays, every other week. February 8th, February 22, March 8th and March 22nd. Always at 11:00 AM, Eastern 16 UTC.</p>\n\n\n\n<p>And after the four trial events, we will open them up to other time zones and days and we&#8217;ll all come together and kind of figure that out on the team. Yeah, that&#8217;s it. I&#8217;m really excited about this. I&#8217;m actually kicking around that idea since September, 2020 and kind of, yeah, the bandwidth for it was just not there. And, yeah, a lot of people were not in the situation where they could do additional hours spent with other people. So there was also the Zoom fatigue. Okay. Yeah. But I think we&#8217;re good now. All right.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah. That sounds very exciting. Can you tell more about the format, in a way, where it&#8217;s going to be available would be that YouTube, I don&#8217;t know. What other platform people would be able to follow?</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. We are not quite sure and we need to talk to the attendees on how they feel about recording things, because if you share code samples that might not be available for public consumption, so we need to kind of see that they are&#8230;. There will definitely be a follow up on learned lessons or what was discussed and if there were solutions which were provided, but for now, especially in the test trial, I think it would be good to maybe only record the educational segment. And when I say educational segment, what do I talk about? It&#8217;s more like, so how to add block variations or how to create dynamic blocks. Yeah. So smaller things, but that are really in the mind of a beginner developer. Also, how to add block styles, these kind of things. Or another one debugging JavaScript. So we will kind of have them in there and then that&#8217;s maybe 15 minutes and then the rest of the hour will be just open floor and who comes in and has a problem.</p>\n\n\n\n<p>We do a round robin kind of, so everybody can talk about what they brought or what they are interested in and then we moderate that through the panel. Yeah. It&#8217;s going to be a meeting, not a webinar kind of thing, so we all can share screens. And so when you have something like a bug that you want to show, yeah, or a code segment that we can do this with the screens share on zoom and afterwards we have at least some blog post about it. So we know everything that was learned in this 60 minutes.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: It sounds like a local meet up, but held online. So I like the format. It&#8217;s really exciting, especially because we don&#8217;t have so many opportunities these days to meet other people in our area, which is great. So that&#8217;s great that you were able to finally set the dates and organize everything.</p>\n\n\n\n<p><em>Fabian Kägy</em>: And the group of contributors that you got together to help out is really incredible, is really strong. So I&#8217;m really looking forward to also just seeing what&#8217;s being shared in all the sessions.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. And for listeners, if you don&#8217;t have a problem, yeah, it might be something that you just want to hang out amongst developers and, yeah, shoot the breeze if nobody has, but we are still there. So, yeah, we can all have some discussions.&nbsp;</p>\n\n\n\n<h3 id=\"community-contribution\"><strong>Community Contribution</strong></h3>\n\n\n\n<p>Speaking of discussions, we have a community contribution and it&#8217;s a project you actually are experimenting with. Grzegorz, you want to kind of take us into that.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah. Actually this is the project that Fabian started. And so the idea is that, now we have the block editor handbook and other resources, which contain a lot of APIs code examples, but all of them are static. So the challenge for many developers that they cannot play with that they need to set up the whole environment like WordPress and have Gutenberg plugin, to start playing with the code, tweaking some lines of code and seeing how it impacts the data. So Fabian had this brilliant idea, let&#8217;s make Interactive. There are so many tools out there that help with that and maybe Fabian will tell more about the thing you figure out.</p>\n\n\n\n<p><em>Fabian Kägy</em>: Sure. Definitely. Yeah. Well, actually taking a look at the new React Beta website, where they&#8217;re kind of relaunching their entire documentation. And one of the cool things that they are doing over there is showing live examples of React Code on the website, where you have an editor open and can actually explore and play with the code right on the website. And knowing that one of the common complaints that we see and hear from folks looking at Gutenberg documentation is, just getting set up initially is a hard thing. You have to make sure you have the correct node version installed.</p>\n\n\n\n<p>There&#8217;s so many things to get your local set up correctly and if you are just starting out, if you just want to learn and understand how &#8216;little efforts,&#8217; it actually is to get a block up and running or to do something there, that is a blocker that I was curious, whether it could be solved. And that is what this exploration is about. It&#8217;s using a code editor from CodeSandbox in that case, the online editors and embedding that in the page and that shows a split screen between your code editor in the browser. And then the code needs to compile in order to be previewed and that is all happening in the browsers. You have your code editor on once side, live preview on the other side and if you change something in your code, you see the live preview rendering in the browser.<em>Birgit Pauli-Haack</em>: It&#8217;s a little hard to describe, but I think you posted a great job in doing this on an audio podcast. And I have the pleasure to have Fabian walk me through this a little bit more yesterday, because I had no clue what that actually would do, but now I get it. So the project&#8217;s name is Gutenberg Playground, and we will have in the show notes, the site that Fabian put together as well as his code to put it together on, on GitHub. So, it&#8217;s not only good for documentation as I understood it, you could also use a similar system for tutorial. So if you are working in an agency or you are a trainer or you just want to share a little bit more interactive, what you learned about block development, you can add that also to your post once it&#8217;s a little bit more finalized. Yeah. I think Fabian, you told me yesterday, you&#8217;re still working on quite a few tweaks to make it available, to also work with a more complex coding and concepts apart from the HELLER world examples.</p>\n\n\n\n<p><em>Fabian Kägy</em>: Yeah. Definitely. Yeah, this actually really just started out as this exploration of, is this even possible? Can we live compile Gutenberg in a browser? And that is all it meant for initially and now the next stages, once this has now been proven it is working, well, it isn&#8217;t the fastest and there are definitely many improvements, the next steps for me personally, with this are actually taking the code that is on that example repository and trying to put that into a block, let&#8217;s say, where you could put that on your website, if you&#8217;re writing about Gutenberg stuff and if you&#8217;re teaching things with it. Yeah, just allowing you to embed that on your site and having those live examples embedded in your post.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Fabulous. Yeah. If I hope it works out that way, as you envision that, so it gets to a point where many people can use it or we can actually discuss it on the documentation and code team to maybe help implement it also there. All right. Cool. Do you wanted to say something additionally, Grzegorz?</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah. I wanted to say that the Gutenberg project itself, the contributors are using this tool called Storybook, which is more for designing the react components, in this particular case, which allows you to browse all the components. However, the challenge with that is, that is a large collection of those components, which is very hard to navigate, for someone who doesn&#8217;t know what to look for. And it is completely separate, so you don&#8217;t have this connection, which Fabian is trying to solve here.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. No. And it&#8217;s definitely a good resource for developers who just want to see how the components are working and what attributes they&#8217;re going to need or want or can, optional or default ones. I think that&#8217;s not a resource that&#8217;s also well known in the developer area, so I&#8217;m going to share that also in the show notes, the existing Storybook that is also on GitHub. I love the creativity, now that there is so much tooling going on. Yeah. The theme team also has this create this block theme out of the box on the theme dish experimentation. And I know that there&#8217;s also the block JSON Builder from David Guire just, yeah, getting better and better every week. So there&#8217;s quite some tooling now available for developers and Gutenberg and I love that.</p>\n\n\n\n<h3 id=\"what-s-released-1\"><strong>What’s Released</strong></h3>\n\n\n\n<p>All right. So we are getting into the What&#8217;s Released section of this podcast. WordPress 5.9 is around the corner, Release Candidate 3 is out. Keep testing your plugins and themes for compatibility and post bugs you find. They are probably not going to get into the release anymore. And Tonya Mork, the release coordinator did a marvelous job rallying all the trips for each release, the Beta releases and the Release Candidates, as well as managing the change of schedule. And she invites you to observe or participate in the final release party on Tuesday, January 25th, at 1600 UTC, that&#8217;s 11:00 AM. And it will happen at the WordPress core channel, WordPress Slack. Bring your own favorite beverage, or cookies. So, and then there was Gutenberg 12.4 was released. Grzegorz, you want to lead us into that.</p>\n\n\n\n<h3 id=\"gutenberg-12-4\"><strong>Gutenberg 12.4</strong></h3>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yes. So the release was led by Alex Lende and it contains several new features. It wasn&#8217;t a big release, mostly because core contributors were busy with preparing the major WordPress release. However, there are a few things to tell about, but first maybe you will tell about the new section that was added, which was a big surprise. And I really like that and big it. Yeah.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. I like that new section and Hector Pietro, he also did it in the core editor meeting. There is props to new contributors giving kudos to the first time contributors that joined during the last release cycle and for 12.4, it was Alberto Marin from Suffolk in England, Emir Ugljanin from Serbia and Mike Auteri from New Jersey. So welcome as contributors. And if you are interested in contributing just the shout to the regular weekly meeting for the core editor teams, Wednesdays at 1400 UTC, that&#8217;s 9:00 Eastern, in the core-editors channel, in the WordPress Slack. So now go ahead with the release. I just wanted to put this out there.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah, that&#8217;s great. I think the same shout out for contributors is shared for the WordPress, PHP part of core. There is this weekly update and it&#8217;s always a list of new contributors, which is really great and I&#8217;m happy that we finally have that for Gutenberg as well. And speaking of new features. So the first one that I wanted to talk about is for the post excerpt. So before, if you had, for instance, a query loop that contained at list of posts and you had post content, you had to remove this block and insert a poster excerpt instead. And now there is this challenge form option that allows the users to switch between those two at will. So that&#8217;s a really nice user experience comparing to the old behavior that we had.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. So, yeah, I really like that. And I think they&#8217;re also working now on transforming other content and to make them available, so you don&#8217;t have to switch out the blocks and lose content.&nbsp;</p>\n\n\n\n<h3 id=\"enhancements\"><strong>Enhancements</strong></h3>\n\n\n\n<p>There were also some accessibility improvements in the Block Inserter 1 and the other one was for the list view as well. And it just kind of makes it better the Block Inserter to have a&#8230; It needed a close button. It wouldn&#8217;t display all the time for the screen reader. And then the list view part.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: For the list view, it&#8217;s not only the close button, but also the escape key, when you press that it closes the list view. And the other thing that was improved, the focus, we will return to the button that is opening the list view, which is a great improvement when you don&#8217;t see the screen, because it&#8217;s much easier to orient yourself what you&#8217;d have to do next and whereas in the past the focus was lost and it was just randomly put on the page.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. Makes sense. All right. Next, Fabian.</p>\n\n\n\n<p><em>Fabian Kägy</em>: Yeah. One thing that I really liked to see in this release is adding an upload states to the audio block and outside of just this item, there was also some discussion in the editor chat this week, about a similar thing of just improving the upload states and the failure states of media handling in general, with the image component, for example. If an image isn&#8217;t accepted, how all of that is treated. I think it&#8217;s great that it&#8217;s getting more robust, how Gutenberg is handling, not just the happy path, but all these different other behaviors, when your network isn&#8217;t so fast and the upload takes a little longer and so forth.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. And there are hooks in place on the PHP side, like the WP handler upload pre-filter, where you could add error handling as well and error messages and they wouldn&#8217;t show through on the Gutenberg editor. Yeah, there is another issue in the repository that is worked on, for not only the audio, but also for image of uploads and other media uploads. Excellent. Yeah.</p>\n\n\n\n<p><em>Grzegorz Ziolkowsk</em>i: This media, it&#8217;s also very interesting, because in practice and the browser is capable of processing the audio before it gets uploaded to the server. So you can see the media, however, this loaning indicator just ensures that people know that the processing is happening in the background. So that&#8217;s just wanted to clarify that. The same would apply to images. You see them immediately, but sending the server might take some time, depending on the connection.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. And I think for images with a new gallery block or the refactored gallery block, there is some additional handing of image uploads that are previews, so it might confuse users that they think it&#8217;s already uploaded, but it hasn&#8217;t, so they are not closing things.</p>\n\n\n\n<p>All right. So what I also like it&#8217;s an update now for the Tag Cloud. It now has an outline style. So Tag Cloud is the list of tags. Previously it was in a widget, where the font size was determined by how often the Tag was used and some designers don&#8217;t like that very much, because it can&#8217;t be controlled and now with the outline stage, you can just have a list of tags, but then there are all outlined like a button. And I really like that. The views in the PR look quite nicely and it also adjusts the box, depending on what font size you use and uses all the gaps and all the nice features from display on the front end. There was some testing to be done for that. How it works with normal themes out of the box, so a theme designer doesn&#8217;t have to design anything for it, so still works. And there was some testing done, but it could probably use more. So if you&#8217;re a theme developer and look at that and see if it works for your design.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah. This block reminds me all the times when internet, it was all about flicker or issues and services like that, which was the killer feature of the web tag cloud.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Tagging. Yes. But I also like it when the blogs have it in the sidebar or somewhere, because apart from the categories, you see what really the emphasis is of a blog. Because, some bloggers have all kind of different topics on their blog and you are only interested in, for instance, the WordPress ones or just the photography ones and you can quickly discover all those. It&#8217;s still important and relevant, so I like that they give some more love and care to it.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: The next one is change the publishing flow. It&#8217;s An addition. So we already had an option to suggest that user didn&#8217;t add taxonomy to the post and this one also brings the same priority for the category, so if they doesn&#8217;t pick any of them, then it will just say, &#8220;Maybe you should do it and consider that.&#8221; And, yeah, when you unfold the section, you just see the same category picker as you would see in the sidebar when dealing with the post or page.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. I really like that feature. It&#8217;s a little bit, kind of, mommy kind of thing. Yeah. Kind of reminder, but how often have we published something in the uncategorized category? Yeah. It&#8217;s kind of a little dorky. Yeah. And some people have for each site, kind of, a different method, what they do when they implement a new site. We have, for instance, change the default category. We created a news category right at the beginning of any website and then switch that over to the default category, so nobody would actually publish in an uncategorized category, but normal blogs wouldn&#8217;t do that. So this pre-published suggestion is really nice. Of course, and it&#8217;s in the second published step, so you could certainly switch that off completely if you don&#8217;t use the second step on the public&#8217;s workflow, but this certainly doesn&#8217;t have an off switch right now. So maybe we should think about every new feature we have, needs an off switch because a lot of people don&#8217;t want it. Yeah.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah, that&#8217;s true. As far as I remember, you only can disable this step, but not tweak how it looks like.</p>\n\n\n\n<p><em>Fabian Kägy</em>: Yeah. the next item I see on the list is, regarding the site editor and that is actually also a feature that not everybody knows about or is too familiar with, the actual keyboard shortcut help modal, which is something that you can access using the ellipsis button in the upper right corner, but this has now also gotten its own dedicated shortcut to open this very quickly, which is either control option H on macOS or control alt and H on windows.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Excellent. Yes. Yeah.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: It&#8217;s sort of a chicken and egg problem, because you first need to know the shortcut to open this modal to learn about the shortcut and other shortcuts.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. And that&#8217;s our job. Yeah. Right? We point people to things that they don&#8217;t know yet and try it out.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah. But there&#8217;s also pretty standard shortcut. So if you try the same combination for other websites, it&#8217;s very likely that something will pop up.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Mm-hmm. Yeah. There was another discussion on GitHub repo, where somebody wanted to try the shift on H or something like that, shortcut to convert from the classic editor, to convert a line of normal text into a heading and was trying that out in the block editor and of course the classic editor, well, I say, of course, but it&#8217;s kind of me four years block editor experience, but if you use it for the first time, it&#8217;s not so much, yeah, self explanatory that the shortcuts from the classic editor wouldn&#8217;t work in the block editor, but there&#8217;s another way to do this. You can either do /H if you don&#8217;t have written it yet.</p>\n\n\n\n<p>/H gives you a heading block from the keyboard shortcut. If it&#8217;s already a line that is in a normal text paragraph format you just go to the beginning of that line, hit the pound sign twice to get an H2. So twice pound sign space and then it automatically converts the paragraph line to a heading line. So that&#8217;s a different way to get very fast to your headings. The user who had this problem had to do 50 or 60 headings a day. So he&#8217;s really using that shortcut.</p>\n\n\n\n<p><em>Fabian Kägy</em>: All of the markdown related shortcuts in Gutenberg are really something that make me happy every single day, because I&#8217;m used to writing so much in markdown and just doing the same thing in Gutenberg. It just works.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. It&#8217;s a more technical thing. Yeah. I know that there are quite a few writers who are also developers who have been developers, they use markdown, but it&#8217;s not so much something that other bloggers are using. Yeah. And I like the technical term, the markdown markup. Yeah, kind of it&#8217;s, &#8220;What now?&#8221; Yeah. But, yeah, it&#8217;s true, yeah, if you want to do very fast lists and create lists or, yeah, heading and image inserts. It&#8217;s sometimes easier to do it via keyboard rather than wire interface.</p>\n\n\n\n<h3 id=\"bug-fixes\"><strong>Bug Fixes</strong></h3>\n\n\n\n<p>All right. So we are getting through the bug fixes and there were a few bug fixes. I haven&#8217;t counted them, but that looks like more than 30 or 40. And one of them is that the refactored gallery also has a migration script that converts gallery block from the first version to the second version, to the new version and it now also passes all the custom attributes that come with it, to the new gallery block. I think there were some major hiccups and that has been resolved with the 12.4 Gutenberg plugin now. And it will be, I hope in the next minor version of WordPress release that is somewhat around the corner already 5.9.1.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: And just to remind our listeners that gallery version 2, it means that this new approach is using inner blocks, which means that inside the gallery block, there will be image blocks that you can rearrange the way you want and change the same way the regular image block works.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Thank you for pointing that out. Yes. You have all the features like duo tone, and cropping, and resizing and all that, so this is really good. And I also like that you can have different styles on the image for each picture there. So you can use the round style for, yeah, speaker heads or something like that for conferences. Yeah. One of the bug fixes also was that the query loop now uses the gap feature for the grid views, so that has been now resolved and it can now be handled like any other gaps for the columns or the media text blocks.</p>\n\n\n\n<p><em>Fabian Kägy</em>: Yeah. Another item on the list that I found very interesting is, it was reverted that the paragraph block itself supports picking your own font family and I, digging into this, found the rationale behind it quite interesting, because it is so that is definitely on the horizon and something that we want to get implemented and added to the block, but right now, because there isn&#8217;t a robust solution to adding custom fonts into, kind of, that dropdown menu. It just isn&#8217;t super useful currently. And so that is why this decision was made to take out this relatively recent edition again and, yeah, revisit this in a future point when the new font registration API that was just cut out of WordPress 5.9 will eventually make its way into the Gutenberg plugin.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. We mentioned it in our last changelog and even had it in the listener question. Okay, because it&#8217;s not a good user experience to just select between system font and nothing, so the designers are working on a better user experience. And I think it&#8217;s a good decision to wait for the web funds API, yeah, that was cut from 5.9, because it needs more testing, but I hope they release it soon, so we can have it in the Gutenberg plugin for a few user testing cycles as well.</p>\n\n\n\n<p>And then for the colors, there was one thing, there was also a big boo boo, so to speak. The coloring panel for the customizer to select colors wasn&#8217;t usable in right to left languages, because there was a double double handling. It was first handled through the CSS and then through the package and so it wouldn&#8217;t work on right to left and that is fixed now and works brilliantly now in Hebrew and Arabic and other languages that are read right to left.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah. Another change that was out that is related to the templates API, but it&#8217;s more about the case when you want to define a template for your content. In post or page, you are able using PHP to define inner blocks, now they all block templates that will be embedded by default in the editor. So for instance, let&#8217;s say you want to have custom post type called books and you will just provide paragraph heading and image and so on.</p>\n\n\n\n<p>So the issue was that whenever someone would provide a block that no longer is registered on the page, it wouldn&#8217;t bring very bad experience. So this one fixes that by ensuring that the proper messages displayed to the user, instead of having some broken HTML or something like that. So we will see the same message when you see whenever you uninstall and the other blocking other place, that block is missing. You will see the name of the block. I hope that in the future, if the block is inside the block directory, it will show the link, so you could install that block back. Maybe it&#8217;s implement. I haven&#8217;t checked that, but looking briefly at the PR it didn&#8217;t look like it covers that, but yes.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. The missing blocks that happens definitely when you deinstall a plugin that you were using before. And I think a good block manager feature that shows you which block is used, how often, would also help a user making a decision on installing a block plugin that they don&#8217;t know if it had been used on the site before. All right. Yeah. But I like that the user handling is not so much better, the messaging, but you&#8217;re still losing some content, so I need to test this a little some more if there&#8217;s some, yeah, that you can take care of, the non content loss.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah. And there is also good news for people who don&#8217;t remember the shortcut to the help model. There is also now, a link in the drop down menu that you see on the top right in English, when you are browsing in English and it is just the help item in the menu that allows you to open the same dialogue.</p>\n\n\n\n<h3 id=\"developer-experience\"><strong>Developer Experience</strong></h3>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Good. And then in terms of developer experience, quite a few things that we wanted to talk about here, the first two are about the JSON file Schemas for block and theme. The JSON schema now has properties to control font size, and the theme. JSON now allows for per block management of the settings and the fix has been done for the appearance tools, which you can say to false, if you don&#8217;t want users to be able to control some of the settings or styles for your site. So these are the three PR for that.</p>\n\n\n\n<p><em>Fabian Kägy</em>: Yeah. And the second item of that list, the updating the theme JSON Schema to allow per block management of the settings. That is actually something that is very useful when you&#8217;re building stuff with the theme JSON files, because by default, when you are trying to override settings on a power block basis, you&#8217;re getting all of the options that theoretically could be supported by a block, but it doesn&#8217;t list them of whether that particular block actually supports that or not. And this is something that Ryan Welcher is working on here, just to get better alignment of what the block actually supports also into the Schema.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. Ryan does quite a few work behind the scenes for the JSON schemas. So, yeah, thank you. Shout for Ryan.</p>\n\n\n\n<p><em>Fabian Kägy</em>: For the custom name. I don&#8217;t actually know too much about the feature. I can talk about the dependency stuff, but for the custom name&#8230; And since you worked on both of these,</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: We have also changes to the Create Block tool. They are still not published to NPM, so you need to wait a few days until it&#8217;s available. So the first change is for supporting multiple blocks when you scaffold your plugin. And the challenge was, for now, that you couldn&#8217;t identify which part of the templates you had, are for the block and that was raised many times by developers using that tool and now is possible to do that with special configuration flag. And that also will allow us to Create Block JSON for every single block, so you will have an option to have multiple of them. And the other change that was introduced there is something that Fabian might know better, because he was one of the people arising this issue.</p>\n\n\n\n<p><em>Fabian Kägy</em>: Yeah. That is, when you previously installed and scaffolded a package using the Create Block tool, it took quite a while for you to get through this installation process. And that was mainly because previously to this fix, we were including all of the WordPress packages in the actual theme, not JSON file and so they were all being downloaded from NPM. And what&#8217;s interesting about this is that the way that the block editor works in regards to all these different packages, is that pretty much all of them are bundled in WordPress and are made available through the window object and so these packages that are installed via NPM, don&#8217;t actually get used in the block editor.</p>\n\n\n\n<p>One of the benefits of having them is that your actual code editor can pick up some more intelligent code suggestion and if you want to do end to end testing, it is useful to have that there, but it is needed for the block to work and it made the experience of first getting started with creating your block quite slow and less ideal. And so looking at the trade offs of those two approaches, it&#8217;s the right decision to, yeah, make it so that you&#8217;re just up and running faster and you can install them if you want to, at a later point yourself.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: So is it a separate attribute?</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: No. It just works on Create a Blocks.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: It&#8217;s built-in, so if you do Create Block, you get all the questions, but it also doesn&#8217;t download all the node modals. Okay.</p>\n\n\n\n<p><em>Fabian Kägy</em>: Yes.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah. Also based on the feedback, people who knew why those packages shouldn&#8217;t be there, they are also aware when to use them, so let&#8217;s assume for now that this default approach is better, because if someone is going to use Linter, then their Linter will complain that the package is not there, so just an example of that. If you start importing the package, it will be not installed, so you will get feedback as well. So I agree that it&#8217;s a trade off, but it&#8217;s for better.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: So there was also a recent change to the Create Block scaffolding, where there was a web pack feature in there, there was a fast reload that does automatic build, that wouldn&#8217;t interfere with that either.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: No, not at all. Because, when you are developing a block, you don&#8217;t change all the scripts that WordPress provides, say like blocks or components or block editor packages that are converted to script handles. So it&#8217;s something that is set in stone, you don&#8217;t touch it at all, you just consume that, so you don&#8217;t have to worry about that.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. That&#8217;s a nice change. Congratulations there. Yeah.&nbsp;</p>\n\n\n\n<h3 id=\"documentation\"><strong>Documentation</strong></h3>\n\n\n\n<p>The next items are now in the documentation section of the release and the changelog, and then there was one for the automated theme. JSON reference documentation was added to it, the automation script that renders the documentation now has all the information from the theme JSON, including the explanations for it. So that&#8217;s definitely a good improvement there.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski:</em> Yeah. I&#8217;m looking at the generated page now and it&#8217;s very similar to what we covered last time for blocks. It&#8217;s just scanning all the options that team JSON has and generate something that is nicer for people to read. So it just provides all the options on one page.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. That&#8217;s really good. Yeah. So we can all look it up. What does it all mean?</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: The experience is getting much better with every release, because now you have support inside IDE, if you are using visuals studio code or sense tools, stuff like this PHP storm, for instance, you can install extensions that are able to work with those Schemas, but also if you just wants to go to the browser and look for things you have now also better ways to do that.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yes. And that sounds a part of the developer experience. The next thing is that now for the JavaScript APIs that are removed, it will list also which WordPress version was it removed, so people can kind of organize themselves around that. I really like that there, because, as a developer, you also have to support older versions of WordPress. So knowing which version has what and not, is definitely helpful.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah. I&#8217;m seeing that there are a few old APIs added to the WordPress 5.3 that are scheduled to be removed either in WordPress 6.2 or the version after that. So it&#8217;s not in the near future, but it&#8217;s just preparation, so there would be message on the JavaScript console in the browser saying that, &#8220;You are using something that won&#8217;t be supported anymore in the future. So plugin out.&#8221; Or, &#8220;Scan update their code.&#8221;</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. Very important. Yes. So 6.2, what&#8217;s the chance that&#8217;s going to be released this year. I think it&#8217;s relatively good, but it might be next year. Yeah.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah. It still isn&#8217;t decided whether there will be three or four leases this year. So more likely 2023.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. So there&#8217;s another year for those. Yeah. Josepha Haden Chomphosy, she had a post on the make blog about the release schedule for 2022 and was collecting comments and she hasn&#8217;t published the outcome of that yet, but I think she&#8217;s very much in the works of it. So when we are recalling the next changelog podcasts, we probably have some more information about that. All right, what&#8217;s next? Are we through? No, we still have a few things.</p>\n\n\n\n<h3 id=\"code-quality\"><strong>Code Quality</strong></h3>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: It still part of the code quality part. I think it&#8217;s a change that improves the readability of the code inside the block API, in particular, for block passing. It&#8217;s now in separate stages, but I don&#8217;t think it has any implication on how it works.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Not on the implication on how the block works, but I think it&#8217;s easier to dissect the depreciation code that you&#8230; If you change a block in the next release, you need to have a section in your block for the depreciation. And I think that tripped quite a few developers up, because it wasn&#8217;t really clear what works and what doesn&#8217;t work and it wasn&#8217;t consistently working. So they switched to dynamic blocks where the rendering is actually done in PHP and any change to the render would just be applicable to all the front end, where the block is used. I don&#8217;t think it takes care of that, but at least you&#8217;re not getting these large error messages, but that&#8217;s certainly something that trips up quite a few developers, I would think.</p>\n\n\n\n<h3 id=\"tools\"><strong>Tools</strong></h3>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah. And we are now in the tools section and there&#8217;s one interesting change. There is WordPress environment tool, in short wp-env and the change that&#8217;s there is that, in Gutenberg, there is no longer at 2021 blocks theme used, but instead there is now empty theme, which is interesting name, but the idea is that that is just the smallest amount of code you need to create a theme, and it&#8217;s used now for automated testing. And the reason for that was that every theme has opinions and can change font, colors, gradients, and the list goes on. With theme JSON is like the list is so long that you can change whatever you want. And for automatic testing, you want to have a predictable state, so this is the solution for that. But also it&#8217;s interesting because everyone can go to the Gutenberg repository, find this empty theme and see how easy it&#8217;s to create a new theme now.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. I&#8217;m definitely going to check that out.<em>Fabian Kägy</em>: Another great enhancement in the built tooling section is for the WP scripts package, there is a new command that was added in this release that allows you to create zip of your plugin. And that is something that has always been painful, especially these days with the node modules and these source files and all those files that you don&#8217;t actually need to submit or need to upload to WordPress. And this new command now allows you to automatically just take the build files and the PHP files and kind of the assets that you need and automatically create a zip file out of that that you can use to upload your block to your own site or submit to the repository and that is kind of cool.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. I really like that. And I think it was the first thing that I said to Greg, when I was first playing around with the Create Block scaffolding. Well, we could use a plugin ZIP right from there, because I wanted to test it out on other sites and he said, &#8220;Yeah.&#8221; But sometimes it takes a while and some patience, because there are other priorities, but I really like that it&#8217;s in there. So I also have a little blog post on my personal Tag blog about that, because I was so excited when I was testing the PR of it, that it&#8217;s now available and it also has links to&#8230; Is a 10 up? That has this deploy tool from GitHub to the WordPress repository, because not everybody is fluent in SVN. So I have a link there as well. I&#8217;ve shared in the show notes, so you don&#8217;t have to go through, because it&#8217;s just a small post about that, so you can now&#8230;</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah.&nbsp;</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. Go ahead.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: From my perspective, it becomes a bit annoying that there is no easy way to take your block and validate its content against the block directory. They have a special validator and so it allows you either to provide a zip file or GitHub repository. Creating a GitHub repository when you are just playing around is just too much, in my opinion, so this solves all the issues. Also, if you want to submit a plugin to the plugin directory, you also need to have a Zip file to start the process before the SVN magic has even created for you. So yeah. I guess, it&#8217;s going to be very useful.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. I&#8217;m really&#8230;</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah. And again, this is something that will be published next week probably on Thursday or maybe Wednesday evening, depends how the things go with the Gutenberg plugin release.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: The plugin is already released. Right?</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: I mean the Gutenberg&#8230;</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Oh, the packaging.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah, that. So it all depends on Fabian, in fact, because he&#8217;s in charge of 12.5, so whenever he&#8217;s done with RC 1, then the packages will be published to NPM.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: All right. Cool. Thank you. And this concludes our Gutenberg Changelog part of our podcast.&nbsp;</p>\n\n\n\n<h3 id=\"what-s-in-active-development-or-discussed\"><strong>What’s in Active Development or Discussed</strong></h3>\n\n\n\n<p>And we&#8217;re now coming to a section, which we omitted in the last few Changelog podcasts, because we had so much other things to talk about and I&#8217;m really glad that we can go back to the sections what&#8217;s in development and what&#8217;s discussed, and I&#8217;m glad we have Fabian on the show today and there was a reason for it, not only for the Gutenberg playground. So you posted a proposal on the GitHub discussions for opening the editor interface to more extensibility. It&#8217;s a long post, but could you summarize it for our listeners, Fabian?</p>\n\n\n\n<p><em>Fabian Kägy</em>: Yeah. Of course, I&#8217;d love to. It is a proposal going over, especially in custom builds in the world that I&#8217;m coming from in these custom client builds, there often are problems that we need to solve for that aren&#8217;t really right for everybody. That isn&#8217;t something that the Gutenberg plugin should do by default, because it may be too confusing or too specialized of a use case. And in a lot of those cases, it just comes down to needing to be able to have slots available in Gutenberg or have APIs to extend and change the core behavior.</p>\n\n\n\n<p>And that has been something that purposefully has been kept very closed for a long time, and there are very good reasons for it because it can very badly hurt performance, it can make it very difficult to maintain the project long term and so I&#8217;ve created this discussion to start a thread of just, yeah, a place where we can collect issues that we&#8217;re running into, collect thoughts of, &#8220;Hey, we&#8217;d like to be able to do this kind of extension.&#8221; So that we can hopefully may maybe come up with solutions of how we can not hurt performance and these goals of the project, but still allows some more customization.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Well, thank you.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah. I think that there is an answer from Riad on the discussion on GitHub that pretty much summarizes the reasons why core team was so conservative about limiting the number of new extension points. In short, my version of that is, because full site editing project or in full motion and if you look back and see how the interface changed, if you would open too many places for extensions, we would have to keep similar interface to ensure that all of the plugins that modify that still work. It&#8217;s a bit sad that we didn&#8217;t do that here, but now we also are in a good position to collect all the use cases that plugin outers have, and together think about the best approaches for that.</p>\n\n\n\n<p>And so in the past, it was much easier to extend everything, because it was based on PHP and the flow was easy, because you just run some PHP modify think and you output some HTML code. Whereas in the block editor, everything is interactive. So it&#8217;s not that simple to apply the changes, because it needs to be done in the right time and reapply it after something else changes. So it needs much more thinking. Well, I think we will do that eventually, but we are looking for feedback on this GitHub discussions from all the plugin authors, because this will help us to drive the development. So thank you Fabian for starting something more broad, because we had a lot of issues created in the past, but they were oriented for this particular cases, user head, and now it&#8217;s time to collect them together in one place and think, &#8220;Okay, what next?&#8221;</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Well, thank you. And this is the call for you, dear listeners, if you have a certain use case that you would like to tackle with the block editor, but you didn&#8217;t see or find the right place yet to tab into it, like a hooks or a filter, yeah, now would be a good time to, if you haven&#8217;t yet, create an issue and add it to that discussion so the developers can kind of really collect all their use cases and think about, &#8220;Okay, what would be the right approach.&#8221; But I can see how it takes a while to be ready for that when you have a moving target. Yeah. And if you don&#8217;t know yet how this all works, that there&#8217;s a lot of development that went back to figure out, &#8220;Okay, now this is a block that works in the post, but it doesn&#8217;t work in the rigid editor or site editor. And now you have to change it.</p>\n\n\n\n<p>If that block would have a filter or a hook to be changed, yeah, all of the backwards compatibility would kind of stifle this new development already, in a very early stage. So I really see how that was a hold close to the vest, but yeah, starting a discussion is a really good way to start also the process to getting this opened up a bit more for the extenders.</p>\n\n\n\n<p>All right. Thank you very much for putting this out there. In terms of the extension, there are two things in the works and I got them from the core editor meeting. Nick Seguras has an update that query loop block now supports custom taxonomies. That was certainly something that, yeah, when you have custom post types, you also want the custom taxonomies being available to the block editor and that is now available in the Gutenberg plug in, so it can be used furthermore. He also added support for multiple author filtering, in the query block. That was also a request from a few site owners that have multiple editors that coming through, actually, be able to have separate editor pages, for instance, where this is helpful.</p>\n\n\n\n<p><em>Fabian Kägy</em>: Yeah. And especially for the query loop block and all of the new things like now, custom taxonomy support, looking at the pull request, this is the first step. This was now merged in and the query loop block now supports those custom taxonomies, but the UI is still something that definitely is looking for some refinement. And there have been some great actual discoveries into this. I think Sean Andres did some great experimentation with how the pattern that we see in the dimension panel, and also the font panel in Gutenberg, where you can toggle on or off different features, like how something like that could be included in the query block. And I think there are definitely some movements going on, on that query loop block that may be in interesting to see how far we get by the time 6.0 gets released.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. And that&#8217;s exactly what Nick also said that he really thinks it needs particular testing and for any regression and also, yeah, kind of buck fixes or bug reports would be really helpful to get it to the next stage. This is just the first version. As always in WordPress, first versions are minimal viable product. Yeah. It works somehow, but there it&#8217;s not yet the final stage.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: There is also another work in progress that was rise by Jorge Costa. It&#8217;s actually proof of concept that was developed by Riad Benguela. And the idea is that, right now, when you have a team, you have global styles. However, the intent is that it would be great if you could just switch only the styles part and leave the rest of the theme the same. So what&#8217;s being explored is a special picker or switcher that shows different variations of the same theme that changes fonts, colors, and stuff like this. Let&#8217;s say in the far future, you just have your own taste for colors, fonts, and so on, and you just install that in your theme and you can check whether that works together. So I think that&#8217;s a really promising and exploration is happening and, yeah, we are looking for feedback and see how people like it. And it&#8217;s also quite similar to the demo that was presented during the State of the Word where Matt was playing a video that showed this idea that the same thing, how different it looks if you just switch colors, fonts and so on.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. and I think that&#8217;s the part that was still missing from FSC and now it&#8217;s merged with Gutenberg trunk, so if you use the Gutenberg nightly, that comes out of the Gutenberg Times, you should already be able to test it with a normal plugin, zip and, yeah, send in your feedback for that. All right. Is there anything else that you want to talk about? Any reminders or announcements or something you didn&#8217;t get a chance to talk about, Fabian?</p>\n\n\n\n<p><em>Fabian Kägy</em>: I don&#8217;t think so. I think we&#8217;ve covered pretty much all the items that I had on my list. I think it&#8217;s, again, a great call out for anybody who has opinions and thoughts or examples of what they weren&#8217;t previously able to do, because there wasn&#8217;t a slot for something, just to add those items to the discussion, because it is super useful and we can only get this right if we have actual examples of what folks are trying to do. So I&#8217;d encourage everybody to add their thoughts there, but outside of that, I think I have everything.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: All right. So if people want to reach you, how can they get in touch with you, Fabian?</p>\n\n\n\n<p><em>Fabian Kägy</em>: You can find me always active in the WordPress Slack, and of course on Twitter @FabianKägy. Maybe you put that in the podcast notes also because it&#8217;s not the easiest to spell.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: Yeah. That&#8217;s true. It has this German Umlaut thingy in there and the two dots there. All right. So before we end the show, also reminder from me, developer hours are coming, keep an eye out for the announcements and join us with all your developer questions on building blocks or working with the Gutenberg block editor. All right. As always the show notes will be published on gutenbergtimes.com/podcast. This is episode 59. I&#8217;ve just realized that it&#8217;s WordPress 5.9 and Gutenberg Changelog 59, so, yeah, that&#8217;s a coincidence, but I like it.</p>\n\n\n\n<p>Okay. So show notes are publish guttenbergtimes.com\\podcast episode 59. If you have questions and suggestions or news, you want us to include the next time, send them to <a href=\"mailto:changelog@guttenbergtimes.com\">changelog@guttenbergtimes.com</a>. Yeah. That&#8217;s an email address for <a href=\"mailto:changelog@guttenbergtimes.com\">changelog@guttenbergtimes.com</a> or you can just kind of reach out to Grzegorz or myself via Twitter on the ends or, of course, on the WordPress Slack. We are all active there. So thank you so much for joining us again, Fabian. And also thank you Grzegorz for a wonderful show. I think we got a little bit more out of that. Oh, next item. So we talk a little bit more about what&#8217;s happening in the community.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Yeah, that was great. Thank you both for a great chat. And thank you to our listeners for being with us.</p>\n\n\n\n<p><em>Birgit Pauli-Haack</em>: And if you like the show, send us a review. Bye.</p>\n\n\n\n<p><em>Grzegorz Ziolkowski</em>: Bye. Bye.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 22 Jan 2022 19:46:49 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Birgit Pauli-Haack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:45;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:78:\"WPTavern: WP Career Summit Opens Registration, Calls for Speakers and Sponsors\";s: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:30:\"https://wptavern.com/?p=128725\";s: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:199:\"https://wptavern.com/wp-career-summit-opens-registration-calls-for-speakers-and-sponsors?utm_source=rss&utm_medium=rss&utm_campaign=wp-career-summit-opens-registration-calls-for-speakers-and-sponsors\";s: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:3159:\"<div class=\"wp-block-image\"><img /></div>\n\n\n\n<p><a href=\"https://wpcareersummit.com/\">WP Career Summit</a> is a new event hosted by the <a href=\"https://poststatus.com/\">Post Status</a> community that will take place on April 8, 2022. The summit is the first of its kind in the WordPress space &#8211; an event entirely focused on job seekers and employers.</p>\n\n\n\n<p>Attendees will have the opportunity to network with each other, check out job postings, visit live virtual sponsor tables, and connect with companies that are actively hiring.</p>\n\n\n\n<p>&#8220;Back in 2020 I saw companies posting jobs and I saw friends posting a need for jobs, and I thought we needed to find a way to match those people with companies,&#8221; WP Career Summit organizer Michelle Frechette said. &#8220;So I built <a rel=\"noreferrer noopener\" href=\"http://wpcareerpages.com/\" target=\"_blank\">wpcareerpages.com</a> and started tweeting a job thread every Wednesday.&#8221;</p>\n\n\n\n<p>After awhile of regularly tweeting the Wednesday job thread, Frechette found that it started to take off. Depending on the week, her threads would get anywhere from 2k-18k impressions.</p>\n\n\n\n<p>&#8220;Clearly, there is a need,&#8221; she said. &#8220;I’ve had people tell me they’ve found their new job through those tweets. As a result of that project and conversations with Allie Nimmons around underrepresentation, <a href=\"http://underrepresentedintech.com/\">underrepresentedintech.com</a> was born, and projects and people started getting paired up through that site.&#8221;</p>\n\n\n\n<p>Frechette said when she first joined the team at Post Status, she was tasked with writing about underrepresentation and job-related content, topics for which she has a passion. She pitched the idea of a career conference to Cory Miller, the club&#8217;s new owner, and he loved it.</p>\n\n\n\n<p>&#8220;My hope is that this summit is the start of even bigger conversations in the WordPress community about connecting talent with opportunity, especially for those graduating from training and education and starting their careers,&#8221; Frechette said. &#8220;If we can get younger talent into WordPress, in my opinion, we should see even more growth in our ecosystem.&#8221;</p>\n\n\n\n<p>The call for speakers and sponsors is now open. Jonathan Wold is managing the sponsorship aspect of the event and Post Status has hired Dan Maby from Big Orange Heart to run the tech part of the conference using the platform he developed and uses for WordFest.</p>\n\n\n\n<p>Organizers are looking for speakers who are particularly adept at job hunting or who are knowledgeable about how to recruit and hire talent. Selected speakers will share their expertise in 30-minute recorded presentations and will receive a $200 stipend for participating. WP Career Summit will be a virtual event but will have 15 minutes of live Q&amp;A time immediately following each session.</p>\n\n\n\n<p><a href=\"https://wpcareersummit.com/register-to-attend/\">Registration</a> is now open and is free, thanks to the event&#8217;s sponsors. Attendees will be emailed information about how to log in and participate closer to the event. </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, 22 Jan 2022 02:50:49 +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:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:46;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:70:\"WPTavern: BlackPress Meetup To Host Meet and Greet Mixer on January 27\";s: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:30:\"https://wptavern.com/?p=128621\";s: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:185:\"https://wptavern.com/blackpress-meetup-to-host-meet-and-greet-mixer-on-january-27?utm_source=rss&utm_medium=rss&utm_campaign=blackpress-meetup-to-host-meet-and-greet-mixer-on-january-27\";s: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:4994:\"<img />\n\n\n\n<p class=\"has-drop-cap\">Established this year by Destiny Fox Kanno and Joe A. Simpson, Jr, the <a href=\"https://www.meetup.com/blackpress-meetup/\">BlackPress Meetup</a> group will host its <a href=\"https://www.meetup.com/blackpress-meetup/events/283221243/\">first event next week</a>. It will be a meet-and-greet social hour for attendees. The session will run from 7pm to 8pm CST on Thursday, January 27.</p>\n\n\n\n<p>There is also a <a href=\"http://blackpress-group.slack.com/\">BlackPress Slack</a> group they want to raise awareness about and bring more people in. It can be handy for members to asynchronously communicate about the event, discuss broader topics, and talk with others.</p>\n\n\n\n<p>&#8220;Our goal is to both bring more creators of Black African descent into the WordPress Community and also provide a Community space for those already there to connect, learn from, and support each other,&#8221; responded the organizers on the reason for the Meetup. &#8220;This Meetup was also created to raise awareness about WordPress, recruit organizers and volunteers, and eventually lead to a WordCamp-style event on an HBCU campus.&#8221;</p>\n\n\n\n<p><a href=\"https://profiles.wordpress.org/piyopiyofox/\">Kanno</a> is an Automattic-sponsored Developer Relations Advocate from the San Francisco Bay area. She helps global WordPress contributors get the most out of available tools and resources to create products and sites for and with globally-diverse online communities.</p>\n\n\n\n<p><a href=\"https://profiles.wordpress.org/joesimpsonjr/\">Simpson</a> is a Digital Communications Administrator at Metro Los Angeles and a team rep for the WordPress Accessibility Team. He is also a Community Deputy, leading three WordCamps and two WordPress-related Meetups in Santa Clarita, California.</p>\n\n\n\n<p>The format of the event is an open video chat. There will be a central room where anyone can chime in at any time. However, there will also be some time in breakout rooms if there is a large enough turnout. This would allow more intimate discussions and attendees to speak directly with others.</p>\n\n\n\n<p>Currently, the co-organizers are not yet shooting for weekly meetings. &#8220;We would love to have a regular schedule like that, but since this group has just started, we are targeting monthly Meetups for now while we build our network and momentum,&#8221; they responded. &#8220;Once we have regular membership, we will most definitely try to accommodate not only more regular meetings but more meetings in other time zones as well.&#8221;</p>\n\n\n\n<p>This also plays into how they will run future events and their content. The goal for the first Meetup is to identify the community&#8217;s needs. Some example questions they posed were:</p>\n\n\n\n<ul><li>Do we have a large number of folks who are creating themes and plugins or are working on design, accessibility, or marketing, etc.?</li><li>Are folks mostly freelancers or working for larger businesses?</li></ul>\n\n\n\n<p>&#8220;Once we get a better understanding of this, we would like to create more targeted events and spaces for folks to knowledge share and collaborate with their peers,&#8221; they said.</p>\n\n\n\n<p>They are also looking for speakers to present at future events.  Anyone interested should let the co-organizers know if they can contribute.</p>\n\n\n\n<p>&#8220;We definitely have ambitions to have our next Meetup event include a speaker for a certain topic &#8212; potentially a look ahead for the 6.0 WordPress release,&#8221; they said. &#8220;We are also hopeful to have a Mega Meetup event as this is a globally-focused group and an end-of-year release holiday party event.&#8221;</p>\n\n\n\n<div class=\"wp-container-6201f4e9d0134 wp-block-group has-neutral-100-background-color has-background\">\n<h2 id=\"meet-and-greet-mixer\">Meet and Greet Mixer</h2>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-top ticss-b48fe0ba\">\n<div class=\"wp-block-column is-vertically-aligned-top\">\n<p class=\"has-base-font-size\"><img src=\"https://s.w.org/images/core/emoji/13.1.0/72x72/1f4c5.png\" alt=\"📅\" class=\"wp-smiley\" /> Thursday, January 27, 2022<br /><img src=\"https://s.w.org/images/core/emoji/13.1.0/72x72/1f556.png\" alt=\"🕖\" class=\"wp-smiley\" /> 7pm &#8211; 8pm CST</p>\n</div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-top\">\n<div class=\"wp-container-6201f4e9cfee4 wp-block-buttons\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link\" href=\"https://www.meetup.com/blackpress-meetup/events/283221243/\">View Event →</a></div>\n</div>\n</div>\n</div>\n\n\n\n<p><strong>Description:</strong> Please join us for BlackPress&#8217;s first meetup event focused on networking with fellow community members. During this first social hour, we&#8217;d like to also talk about what you&#8217;d like to see from this meetup group! Do you have a speaker you&#8217;d like to invite or a discussion topic for our next meetup? We&#8217;re all ears!</p>\n\n\n\n<p>Looking forward to connecting with you all!</p>\n</div>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 21 Jan 2022 22:40:49 +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:47;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"Post Status: WordPress as a Commons\";s: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:31:\"https://poststatus.com/?p=92793\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:46:\"https://poststatus.com/wordpress-as-a-commons/\";s: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:29158:\"<p class=\"has-drop-cap\">Open source governance and WordPress as a commons have been a hot topic this past couple of weeks. Having both watched the discussion and shared my informal thoughts on Twitter as well as the Post Status Slack group, I was invited to write a lengthier article about the subject.</p>\n\n\n\n<p>To begin, here’s a summary of my current thoughts:</p>\n\n\n\n<p>As WordPress matures, I believe more open discussion needs to be had about:</p>\n\n\n\n<ul><li>How the various WordPress and Automattic entities are inextricably linked</li><li>Potential conflicts of interest</li><li>Who officially speaks for the WordPress open source project internally and externally</li><li>Transparency and formalization around governance</li></ul>\n\n\n\n<h2 id=\"h-wordpress-where-we-are-now-and-why-it-s-worth-writing-about\">WordPress: Where we are now and why it’s worth writing about</h2>\n\n\n\n<p>I agreed to write this article as I’ve long been interested in this topic. It was the excuse I needed to dive headfirst into the multitude of posts, research, and books that I knew existed but didn’t previously have time for.</p>\n\n\n\n<p>As it turns out, this article was very difficult to write because the more I learned, the more my views and writing evolved.</p>\n\n\n\n<blockquote><p>I’m writing this to bring awareness and not blind criticism to these issues. I want to ignite curiosity and conversation around them as I believe they are worth discussing.</p></blockquote>\n\n\n\n<p>Where I’ve landed is a place of empathy, respect, and curiosity. To get to where we are, WordPress’ leaders had to get so much right. It’s impressive, and I’m so glad to be a part of this community.</p>\n\n\n\n<p>And yet, there’s so much more to be done.</p>\n\n\n\n<p>What follows are my thoughts and explorations on this subject. I’m writing them not because I believe I’m smart and/or right, but because:</p>\n\n\n\n<ul><li>I believe more transparency and research are needed around the subjects of governance and WordPress as a commons.</li><li>I believe this is something that should be actively discussed so that good ideas might emerge from bad ones; and that, with every new person and perspective that joins, previously hidden research and successful case studies might be unearthed so we might learn from them.</li><li>I believe this is a very complex issue that benefits from more eyes, brains, voices, and, most importantly, <strong><em>sunlight</em></strong>. Without bringing the history and consequences of past choices to light, we risk wrongly calling for reform and failing the <a href=\"https://fs.blog/chestertons-fence/\">Chesterton’s Fence</a> heuristic.</li></ul>\n\n\n\n<p>In short, I’m writing this to bring awareness and not blind criticism to these issues. I want to ignite curiosity and conversation around them as I believe they are worth discussing.</p>\n\n\n\n<h2 id=\"h-the-convoluted-current-state-of-affairs\">The convoluted current state of affairs</h2>\n\n\n\n<p>There’s a lack of clarity and distinction around the roles and responsibilities of Automattic, WordPress.com, WordPress.org, and the WordPress Foundation.</p>\n\n\n\n<p>As a result, it’s not clear who external and internal parties should turn to for guidance, governance, and more.</p>\n\n\n\n<p>As an example, here’s some of the confusing overlap between leadership roles at WordPress:</p>\n\n\n\n<p>Matt Mullenweg is the CEO of Automattic, the organization that runs WordPress.com: a hosting company. He is also the <a href=\"https://wordpressfoundation.org/projects/\">Director of the WordPress Foundation</a>, a charitable organization he founded.&nbsp;</p>\n\n\n\n<p>Josepha Haden Chomphosy is an employee of Automattic and the lead for their open source division. She is also the <a href=\"https://profiles.wordpress.org/chanthaboune/\">Executive Director of the WordPress Project</a>. As far as I can tell, Josepha has no direct ties to the WordPress Foundation despite the significant overlap in its mission and her job scope.</p>\n\n\n\n<p>If all this sounds quite confusing, it’s because it is. Personally, I didn’t even know the WordPress Foundation existed until I did the research for this article.</p>\n\n\n\n<p>In fact, Matt and Josepha, themselves, have difficulty delineating where Automattic begins and WordPress.org starts. Here’s an excerpt from <a href=\"https://wordpress.org/news/2021/05/the-commons-of-images/\">Episode 8: The Commons of Images</a> at the <a href=\"https://wordpress.org/news/podcast/\">WP Briefing</a>, a podcast hosted by Josepha. This episode features Matt talking about Automattic’s acquisition of CC Search, now renamed <a href=\"https://wordpress.org/openverse/\">Openverse</a>:</p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><strong>Josepha Haden Chomphosy&nbsp; 15:47</strong></p><p>I’ve been asked a few times, and I think you have been asked a few times whether this is an actual acquisition. And If yes, then what entity is it under? Is it under the WordPress Foundation? Is it under Automattic?</p><p><strong>Matt Mullenweg&nbsp; 16:10</strong></p><p>It’s a little complicated because, as you know, WordPress.org is not part of the Foundation. So basically, Automattic paid Creative Commons, the nonprofit. They will essentially redirect the old URL, so old links to Creative Commons Search won’t break. And we ended up hiring some of the people that they were parting ways with into Automattic. And then we put that open source code, and we’ll run the service on WordPress.org, and then those we hired, Automattic hired, will contribute to WordPress.org and the open source projects that power what we’re calling Openverse now.</p><p><strong>Josepha Haden Chomphosy&nbsp; 16:54</strong></p><p>I am.</p><p><strong>Matt Mullenweg&nbsp; 16:56</strong></p><p>That’s kind of an acquisition, but also from a nonprofit, and then going into something, which is not a nonprofit, but is open source and sort of freely available, which is WordPress.org, the website.</p><p><strong>Josepha Haden Chomphosy&nbsp; 17:06</strong></p><p>Yeah, that has been hard for me to answer because you’re right, it’s not like it was donated to WordPress or something. But everything that we’re doing is being donated back to the project, and of course, hopefully, really living into that WordPress ethos that we have of giving back to, to the project, something that made your work and your life better. So there’s some, some finger-crossing going on in there.</p><cite><a href=\"https://wordpress.org/news/2021/05/the-commons-of-images/\">Episode 8: The Commons of Images</a> at the <a href=\"https://wordpress.org/news/podcast/\">WP Briefing</a>.</cite></blockquote>\n\n\n\n<p>As you can see, the blurred lines can lead to some <em>very interesting</em> organizational relationships. Many of which are difficult, if not impossible, to untangle.</p>\n\n\n\n<p>To be fair, this isn\'t just criticism. I believe the blurred lines are a large reason why the WordPress open source project has been so successful. It’s much easier to advance an open source project from the CEO seat of a multi-billion dollar corporation than it is as the Director of a charitable organization with <a href=\"https://wordpressfoundation.org/2020-financials/\">donations amounting to $10k in 2020</a>.</p>\n\n\n\n<p>This benefit is huge and why it’s hard to confidently say the current state of affairs is untenable. This is also why I\'m calling for discussion rather than a call to action.</p>\n\n\n\n<p>Next, let\'s look at the internal and external implications of this entanglement.</p>\n\n\n\n<h2 id=\"h-looking-outward-the-wider-ecosystem\">Looking Outward: The Wider Ecosystem&nbsp;</h2>\n\n\n\n<p>WordPress doesn’t exist in a vacuum. It’s built on the backs of other open source projects, like PHP. Additionally, there are many other open source CMSes that exist, like Drupal. Finally, millions of sites are built on WordPress, like <a href=\"https://www.whitehouse.gov/\">whitehouse.gov</a>. This is the ecosystem within which WordPress exists.</p>\n\n\n\n<p>Open source projects like <a href=\"https://opencollective.com/phpfoundation\">PHP</a> and <a href=\"https://www.drupal.org/association\">Drupal</a> have foundations and associations that are the faces of the software projects and their communities. When <a href=\"https://www.theverge.com/2021/12/10/22828303/log4j-library-vulnerability-log4shell-zero-day-exploit\">things go wrong</a>, stakeholders need to have somewhere to find guidance and seek help. Through these organizations, each project has the leadership to guide and defend it. In contrast, WordPress’ foundation seems more like a side project than a governing body.</p>\n\n\n\n<p>WordPress professionals often throw around the 40% market share figure WordPress commands. A number that spiked in the pandemic and has only continued to grow.</p>\n\n\n\n<p>But as adoption increases, so do the risks. Having a small hamstrung foundation is an interesting experiment if WordPress was simply a quaint, albeit popular, way to blog. It becomes an issue when the American government calls the next Open Source Summit and 40% of the web is not adequately represented.</p>\n\n\n\n<h3 id=\"h-questions-worth-asking-about-wordpress-and-its-wider-ecosystem\">Questions worth asking about WordPress and its wider ecosystem</h3>\n\n\n\n<p>As I mentioned at the beginning, the point of this post isn’t to provide answers. It’s to ignite curiosity and conversation. Here are some questions worth asking:</p>\n\n\n\n<p><strong>Questions about WordPress and the wider ecosystem</strong></p>\n\n\n\n<ul><li>Who officially speaks for WordPress, the open source project?</li></ul>\n\n\n\n<p><strong>Questions about The WordPress Foundation</strong></p>\n\n\n\n<ul><li>Is there a constitution, mandate or goals? Who wrote and approved them?</li><li>Who does the Foundation represent?</li><li>Who are its members? And how does one become a member?</li><li>Who are its leaders? And how does one become a leader?</li><li>What are the responsibilities of the various roles?</li><li>How are decisions made and issues tabled?</li></ul>\n\n\n\n<p><strong>Questions about potential conflicts of interest</strong></p>\n\n\n\n<ul><li>Where does Automattic end and the Foundation start?</li><li>As an employee of Automattic, is Josepha Haden Champosy’s responsibility first and foremost to the company or the WordPress open source project?</li><li>Are there examples of past conflicts of interest? How were they resolved?</li><li>What are some advantages of the current way of doing things? What would we be foregoing if the Foundation had more power? Are the trade-offs worth it?</li></ul>\n\n\n\n<h2 id=\"h-looking-inward-the-wordpress-community\">Looking Inward: The WordPress Community</h2>\n\n\n\n<p>Internally, there are two key issues that surface time and again in varying forms within the WordPress community. They are:</p>\n\n\n\n<ol><li><strong>Insufficient repercussions for bad actors.</strong> Lots of people abuse the system and sanctions are applied haphazardly or not at all.</li><li><strong>Onboarding more contributors.</strong> It’s hard to get the number of contributors we need and onboard them at scale.</li></ol>\n\n\n\n<p>At the face of it, these issues don’t seem related to governance or the lack of clarity and formalization around leadership and systems. But once you dig deeper, you’ll see how they’re linked. For example, the lack of formalization around WordPress’ governance makes enforceability difficult as enforcers don’t have much of a mandate. It also makes it hard to lobby for more resources when you don’t know to whom you should lobby or how.</p>\n\n\n\n<p>Let’s explore these concerns with more specificity below.</p>\n\n\n\n<h3 id=\"h-1-insufficient-repercussions-for-bad-actors\">1. Insufficient repercussions for bad actors</h3>\n\n\n\n<p>Bad actors are inevitable in a project as large and diverse as WordPress. Eliminating them would be as impossible as eliminating crime in a country. This isn’t a discussion about that.&nbsp;</p>\n\n\n\n<p>Instead, what matters is the lack of disincentives for bad actors. Rules are notoriously implemented on an ad hoc basis, and people who have been banned can simply reappear with new email addresses. Furthermore, there are no repercussions for poor or inconsistent enforcement. Nor are there formal processes to report poor enforcement or review how the rules are being applied. If no one is watching the watchers, how do we know if they’re doing a good job?</p>\n\n\n\n<h4 id=\"h-questions-worth-asking-about-rules-enforcement-and-oversight\">Questions worth asking about rules, enforcement, and oversight</h4>\n\n\n\n<ul><li>Who enforces the rules?</li><li>How are they chosen?</li><li>Who ensures the enforcers are doing a good job? And what can be done if they’re not?</li><li>Who writes the rules?</li><li>Who decides if the rules should be changed?</li><li>What is the process for deciding if the rules should be changed?</li></ul>\n\n\n\n<h3 id=\"h-2-onboarding-more-contributors\">2. Onboarding more contributors</h3>\n\n\n\n<p>As WordPress grows, the number of contributors needs to grow too. To understand the mindset of a potential contributor, we can use a simple equation proposed by <a href=\"https://corte.si/posts/opensource/ostrom/\">Aldo Cortesi</a> that’s inspired by Elinor Ostrom’s original equation governing physical commons.</p>\n\n\n\n<p><strong>BC &gt; BN + C</strong></p>\n\n\n\n<p><strong>BC</strong> is the benefit of contributing, which has to outweigh the cost of contributing (<strong>C</strong>) plus the benefit of not contributing (<strong>BN</strong>).</p>\n\n\n\n<h4 id=\"h-let-s-first-explore-bc-the-benefits-of-contributing\">Let’s first explore BC: the benefits of contributing</h4>\n\n\n\n<p>BC (benefit of contributing) can also be called Incentives.</p>\n\n\n\n<p>Currently, most major contribution efforts are from full-time employees of some of the biggest companies in the ecosystem. Their remuneration is their main incentive for doing the work. This is pretty clear-cut.</p>\n\n\n\n<blockquote><p>Let’s make it even simpler: <em>You want to introduce FOMO for non-contributors</em>.</p></blockquote>\n\n\n\n<p>The long tail of work is contributed out of personal interest and wanting to give back to the community aka a “helping the commons” mentality.</p>\n\n\n\n<h4 id=\"h-a-basket-of-incentives\">A basket of incentives</h4>\n\n\n\n<p>People are often quick to equate incentives with money, but money is just one of many incentives, and I believe it’s the least compelling.</p>\n\n\n\n<p>While money is a critical and necessary part of any incentive structure, it’s never just about the money for most people. If it were, people would optimize solely to make it. They wouldn’t be contributing to an open source project, they’d be trading NFTs, mining minerals, financing M&A; or whatever it is that brings in the most money these days.</p>\n\n\n\n<p>Prominent open source maintainer Jeff Geerling explains in a helpful <a href=\"https://www.jeffgeerling.com/blog/2022/burden-open-source-maintainer\">blog post on the burdens of an open source maintainer</a>, “The truth is, money won\'t prevent the next Log4J vulnerability or prevent maintainer burnout (leading to the next <a href=\"https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/\">colors and faker fiasco</a>). It helps, and it\'s necessary to try to fund developers better—but you can\'t just say &#8220;Microsoft should pay developer X $80,000/year and that will prevent another <a href=\"https://www.wikiwand.com/en/Shellshock_(software_bug)\">Shellshock</a>.&#8221;</p>\n\n\n\n<p>In practice, money can only solve money problems, like rent, medical bills, and debt. But beyond that, additional incentives are needed to ensure meaningful contributions are made to maintain a healthy commons.</p>\n\n\n\n<h4 id=\"h-bn-benefits-of-not-contributing\">BN: Benefits of not contributing</h4>\n\n\n\n<p>The goal is to have as low a BN as possible.</p>\n\n\n\n<p>The weird “benefit that you want to reduce” phrasing is tricky to understand. Here’s how you can look at it:</p>\n\n\n\n<p>All improvements made to the WordPress commons are shared by all. When this happens, people benefit even when they don’t contribute. In order to reduce the benefit of not contributing, you want to create some benefits that are only accessible to people who <em>do</em> contribute.</p>\n\n\n\n<p>Let’s make it even simpler: <em>You want to introduce FOMO for non-contributors</em>. (Fear of Missing Out)</p>\n\n\n\n<p>Got it? Great.</p>\n\n\n\n<h4 id=\"h-cost-lowering-cost-barriers-to-contribution\">Cost: Lowering cost/barriers to contribution</h4>\n\n\n\n<p>One need only turn to Twitter to feel the frustrations of the high costs of contributing. As WordPress developer, Dan Cameron, shared in <a href=\"https://twitter.com/dancameron/status/1482121893427568642\">his tweet</a>, “the major problem, from my experience, is that a valid contribution can be ignored — for years. The only way to &#8220;contribute&#8221; is to be directed by a release lead, and most of those experiences can be very exhausting/frustrating.”</p>\n\n\n\n<p>I imagine many others have similar experiences. It has been my experience too. In the past couple of years, I’ve made tiny contributions in the form of FSE testing, reporting a bug, and most recently, proofreading posts for Learn WP.</p>\n\n\n\n<p>In all three cases, I needed at least 10-20 mins of help each from Anne McCarthy, Tonya Mork, Israel Barragan, and Courtney Robertson. They helpfully explained the steps I needed to take to contribute. They helped me get set up, gave me context, and set expectations so I was able to contribute correctly and in the WordPress way.</p>\n\n\n\n<p>I need to make it clear that the 3 tasks I did were <em>very</em> simple things. The amount of time it took for them to help me was far more than the time I took to contribute.</p>\n\n\n\n<p>Now imagine scaling this up and you can quickly see the bottleneck.</p>\n\n\n\n<h4 id=\"h-questions-worth-asking-about-onboarding-more-contributors\">Questions worth asking about onboarding more contributors</h4>\n\n\n\n<p><strong>General questions</strong></p>\n\n\n\n<ul><li>Who are the people responsible for improving the contributor experience? How were they chosen? What are their roles and mandates? How are they paid/incentivized?</li><li>What’s currently being done to make it easier to onboard contributors?</li><li>What would a world look like if contributions were normalized?</li><li>What is the “between the cracks” work of contributions that needs to be done?</li><li>What are the minimum requirements of a contributor and where can I find them?</li></ul>\n\n\n\n<p><strong>Questions about benefits of contributing (BC)</strong></p>\n\n\n\n<ul><li>How can we increase the benefits of contributing, in ways that aren’t solely financial?</li><li>How can we celebrate contributors?</li></ul>\n\n\n\n<p><strong>Questions about benefits of </strong><strong><em>not</em></strong><strong> contributing (BN)</strong></p>\n\n\n\n<ul><li>How can we increase FOMO for non-contributors?</li><li>How can we make it less intimidating to contribute?</li></ul>\n\n\n\n<p><strong>Questions about costs of contributing</strong></p>\n\n\n\n<ul><li>What are the current costs of contributing?</li><li>Should we decrease the cost of contributing? In what way are the current costs necessary?</li><li>How can we decrease the cost of contributing?</li><li>If I don’t want to speak with anybody in the process, are there still ways for me to contribute?</li><li>What informal, social cues exist for contributors that ought to be formalized and documented? Which should persist?</li><li>In what ways is contributing frustrating? Intimidating? How can we reduce this?</li><li>How can we encourage contributions from people for whom English is not their first language, beyond just polyglot work?</li><li>How can we give money to contributors to reduce the opportunity cost of contributing?</li></ul>\n\n\n\n<h2 id=\"h-wordpress-as-a-commons\">WordPress as a commons</h2>\n\n\n\n<p>If you made it this far, you might have noticed I mentioned ‘WordPress as a commons’ multiple times. Indeed, that’s the title of this post!</p>\n\n\n\n<p>So before I wrap up, let’s explore this concept a little bit more and see why it matters.</p>\n\n\n\n<h2 id=\"h-what-is-the-tragedy-of-the-commons\">What is the tragedy of the commons?</h2>\n\n\n\n<p>The term tragedy of the commons was conceived of by Garrett Hardin in 1968.</p>\n\n\n\n<p>To understand what it means, let’s refer to an explanation by the <a href=\"https://iasc-commons.org/about-commons/\">International Association for the Study of the Commons</a>:</p>\n\n\n\n<p>When people share a resource they will over-harvest it because it is in their individual interest to take as much from the resource as possible; depletion of the commons could, according to Hardin, only be prevented via private property rights and governmental regulation. The term ‘tragedy’ referred to the argument that people are not able to self-govern common resources.</p>\n\n\n\n<p>Matt Mullenweg loves talking about WordPress as a commons. In fact, he recently spoke at length about it in the<a href=\"https://wordpress.org/news/2021/12/highlights-from-state-of-the-word-2021/\"> State of the Word 2021</a>. Here’s an excerpt:</p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>In the digital world, at least, I think it’s possible to have an abundance of the commons. So the more people that use a program the better. It gets [better] in so many ways — more bugs get reported, more translations happening,… more plugins get developed, more themes get developed. And so the more people that use WordPress, WordPress doesn’t get any worse for any of you. In fact, the more people that use it, the better it gets.</p><p>But part of that is some percentage of the people who essentially directly benefit from WordPress, putting something back into the comments, fertilizing the soil, planting some more grass&#8230;</p><cite>Excerpt taken from<a href=\"https://thewpminute.com/state-of-the-word-2021/\"> The WP Minute’s transcription</a> of the talk.</cite></blockquote>\n\n\n\n<h3 id=\"h-avoiding-the-tragedy-of-the-commons\">Avoiding the tragedy of the commons</h3>\n\n\n\n<p>Since learning about the tragedy of the commons in university, I always believed the tragedy was inevitable and every commons was bound to either fail or become privatized. And all one could do was put off the inevitable for as long as possible.</p>\n\n\n\n<p>Imagine my delight when I found out researchers across multiple fields have found many real-world examples of self-sustaining commons that neither ended in tragedy nor needed the installation of private property rights or government regulation.</p>\n\n\n\n<p>The most notable of these researchers is Nobel Laureate, Elinor Ostrom.</p>\n\n\n\n<p>Most famously, she derived 8 principles necessary for successful self-governance. They are:</p>\n\n\n\n<ol><li>The common pool resource has clearly-defined boundaries (effective exclusion of external unentitled parties)</li><li>There is congruence between the resource environment and its governance structure or rules</li><li>Decisions are made through collective-choice arrangements that allow most resource appropriators to participate</li><li>Rules are enforced through effective monitoring by monitors who are part of or accountable to the appropriators</li><li>Violations are punished with graduated sanctions</li><li>Conflicts and issues are addressed with low-cost and easy-to-access conflict resolution mechanisms</li><li>Higher-level authorities recognize the right of the resource appropriators to self-govern</li><li>In the case of larger common-pool resources: rules are organized and enforced through multiple layers of nested enterprises</li></ol>\n\n\n\n<h3 id=\"h-the-tragedy-of-not-talking-about-elinor-ostrom\">The tragedy of not talking about Elinor Ostrom</h3>\n\n\n\n<p>Given how often Matt talks about it, I’ve always found it curious that he never mentions Ostrom or that this problem has already been demonstrably solved many times or that principles exist to solve it.</p>\n\n\n\n<p>However, I thought to bring it up because so many of her principles map to the issues raised in this article.</p>\n\n\n\n<h4 id=\"h-questions-worth-asking-about-successful-self-governance\">Questions worth asking about successful self-governance</h4>\n\n\n\n<ul><li>Do all of Ostrom’s 8 principles apply to WordPress?</li><li>How can Ostrom’s 8 principles be applied to WordPress?</li><li>In what ways are Ostrom’s 8 principles already successfully applied in WordPress?</li><li>Are there any articles of successfully self-governed open source projects written about how their governance maps to Ostrom’s principles?</li><li>What are Matt and Josepha’s views on Ostrom?</li></ul>\n\n\n\n<h2 id=\"h-further-discussion\">Further discussion</h2>\n\n\n\n<p>As I said at the beginning, I don’t profess to have any answers. The purpose of this post was to further discussion around a variety of topics because I believe they are important ones for the community.</p>\n\n\n\n<p>As such, I’ve asked a lot of questions in this post. So it’s only fitting that I end it with even more!</p>\n\n\n\n<p>Here are a bunch of bird’s eye view questions to further the discussion:</p>\n\n\n\n<ul><li>The WordPress open source project is inextricably linked to Automattic. How is this a good thing? How is this a bad thing?&nbsp;</li><li>What are the conflicts of interest?</li><li>At this point, the WordPress Foundation doesn’t do much or have much power. Should it be given more? Why? Why not?</li><li>How can we better regulate our community and enforce rules?</li><li>In what way is the current lack of formalization good?</li><li>In what way are the current obstacles to contributing good?</li><li>How can we make it easier for contributors to contribute?</li><li>What can we learn from other large open source projects?</li><li>How can we use Ostrom’s principles to become a better self-governing community?</li></ul>\n\n\n\n<h2 id=\"h-resources-and-further-reading\">Resources and further reading</h2>\n\n\n\n<ul><li>The <a href=\"https://www.drupal.org/association/board/elections\">Drupal Association Board</a>.</li><li><a href=\"https://www.opensourcematters.org/\">Open Source Matters</a>, the non-profit organization supporting the Joomla! project.</li><li>The <a href=\"https://opencollective.com/phpfoundation\">PHP Foundation</a>.</li><li><a href=\"https://www.researchgate.net/profile/Charles-Schweik\">Charles Schweick’s research on open source commons</a>.</li><li><a href=\"https://mor10.com/open-source-considered-harmful/\">Open Source Considered Harmful</a>, by Morten Rand-Hendriksen.</li><li>The <a href=\"https://wordpress.org/news/podcast/\">WP Briefing</a>.</li><li>The <a href=\"https://wordpressfoundation.org/\">WordPress Foundation</a>.</li><li><a href=\"https://iasc-commons.org/key-publications/\">Key literature as selected by the International Association for the Study of the Commons</a>.</li><li>Jordi Cabot\'s proposal for<a href=\"https://poststatus.com/can-five-for-the-future-fund-wordpress-research/\"> sponsored WordPress research contributions as part of Five for the Future</a>.</li></ul>\n\n\n\n<h2 id=\"h-acknowledgments-and-final-thoughts\">Acknowledgments and final thoughts</h2>\n\n\n\n<p>I want to thank Dan Knauss for helping edit this monster of a piece and encouraging me to write it in the first place. Blame me for all the bad stuff, and thank him for all the good! Big thanks also to Aurooba Ahmed for providing a final sanity check and round of edits.</p>\n\n\n\n<p>Finally, I’d like to reiterate that WordPress is a gigantic project and while this post is wide-ranging, it doesn’t begin to cover all the facets and considerations out there. I know I’ve failed to highlight many important facts and perspectives. That’s inevitable.</p>\n\n\n\n<p>Rather than attempt to do it all myself, I heartily encourage you to join the conversation and write a blog post of your own!</p>\n\n\n\n<p>Thanks for reading. I hope I sparked your interest in these topics, and I can’t wait to see where your curiosity takes you.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<hr class=\"wp-block-separator logo is-style-default\" />\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile is-vertically-aligned-center is-image-fill has-background\"><img width=\"752\" height=\"752\" src=\"https://cdn.poststatus.com/wp-content/uploads/2021/10/DSC06964_01-square-min-Lesley-Sim-752x752.jpg\" alt=\"Lesley Sim\" class=\"wp-image-88096 size-large\" /><div class=\"wp-block-media-text__content\">\n<p class=\"has-black-color has-text-color has-background grey-message\"><strong>Lesley Sim</strong> has been a government employee, an ad agency suit, and a freediving instructor… and then she found WordPress. She built sites on WordPress as part of her digital marketing agency and moved on to building plugins last year. Now, she focuses on <a href=\"https://newsletterglue.com/\">Newsletter Glue</a>, a plugin that connects your email service provider to WordPress and turns the block editor into a newsletter builder so you can build and send newsletters directly from WordPress.</p>\n</div></div>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 21 Jan 2022 18:00:06 +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:10:\"Dan Knauss\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:48;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:61:\"Post Status: Can Five for the Future Fund WordPress Research?\";s: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:31:\"https://poststatus.com/?p=92778\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"https://poststatus.com/can-five-for-the-future-fund-wordpress-research/\";s: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:10164:\"<p class=\"has-drop-cap\">Many of the big companies in tech have a practice of issuing annual Calls for Proposals for research into key questions relevant to their industry and the toughest challenges they face. <a href=\"https://www.microsoft.com/en-us/research/academic-programs/\">Microsoft</a>, <a href=\"https://research.google/outreach/\">Google</a>, <a href=\"https://research.ibm.com/university/awards/\">IBM</a>, and <a href=\"https://www.amazon.science/research-awards\">Amazon </a>all sponsor research awards and academic programs.&nbsp;</p>\n\n\n\n<p>Why not WordPress?</p>\n\n\n\n<h3 id=\"h-context-why-we-need-research-to-answer-our-hardest-questions\">Context: Why We Need Research to Answer Our Hardest Questions</h3>\n\n\n\n<p>Most open-source software (OSS) projects suffer from <a href=\"https://sustainoss.org/\">sustainability issues</a> that could affect their long-term future survival and/or impact many other projects that are built on top of them.&nbsp;</p>\n\n\n\n<p>As with any shared resource, OSS has a participation-inequality problem where participants can benefit from others’ contributions even if they do not contribute themselves, but if nobody cooperates the community loses as a whole. This “volunteer’s dilemma” is similar to the well-known concept of the <a href=\"https://www.econlib.org/library/Enc/TragedyoftheCommons.html\">tragedy of the commons</a>.</p>\n\n\n\n<blockquote><p>Following a Community-wide Call for Proposals that generates many well-defined, actionable research ideas, we could pursue the resources needed to make the research studies a reality.</p></blockquote>\n\n\n\n<p>The more <a href=\"https://opensource.googleblog.com/2020/12/finding-critical-open-source-projects.html\">critical the project</a>, the more we should all be concerned about its future. Today, <a href=\"https://poststatus.com/news/log4j-google-and-ibm-call-for-list-of-critical-open-source-projects/\">WordPress and a number of well-known WordPress plugins are indeed critical</a> projects in a global context where big Tech companies and national governments are taking a deeper interest in their security.</p>\n\n\n\n<p>Thanks to initiatives like <a href=\"https://wordpress.org/five-for-the-future/\">Five for the Future</a>, WordPress (core) has a significant number of paid contributors so it is in a better situation than many other projects, but this doesn’t mean we are safe or that we could not advance faster if we were able to attract (and retain!) more contributors in the WordPress ecosystem.</p>\n\n\n\n<p>There are many strategies we could borrow from other communities, but each community is different we cannot just copy and paste their solutions. No single solution has had spectacular success on its own anyway; in fact, OSS sustainability is an important <a href=\"https://livablesoftware.com/learned-software-development-mining-github-plus-concerns/\">ongoing research area</a> because there are no definitive solutions.&nbsp;</p>\n\n\n\n<p>We need to first agree on what (sub)challenges we consider the most relevant one/s, what resources are available to address those challenges, and how we want to allocate these resources.&nbsp;</p>\n\n\n\n<h3 id=\"h-call-for-proposals-what-are-the-most-important-questions-to-ask\">Call for Proposals: What Are the Most Important Questions to Ask?</h3>\n\n\n\n<p>Let’s look at some (overlapping) topics I’d like to see discussed/analyzed in the coming year and beyond. The questions below target different dimensions of the WordPress community, and many of them are inspired by some of the research I’ve seen or done in software analytics conferences and journals like <a href=\"https://oss2022.github.io/\">OSS</a>, <a href=\"https://conf.researchr.org/home/msr-2022\">MSR</a>, or <a href=\"https://www.springer.com/journal/10664\">EMSE</a>.&nbsp;</p>\n\n\n\n<ul><li><strong>Scope</strong>: <strong>What should we be most concerned about?&nbsp;&nbsp;</strong><ul><li>Only with WordPress itself?</li><li>The WordPress ecosystem of plugins, themes, blocks, etc.?</li><li>The libraries that WordPress uses internally?</li></ul></li><li><strong>Onboarding New Members: How can we attract more contributors?</strong><ul><li>Would moving development to GitHub lower the barrier to entry? (Especially for occasional contributors who will not install Subversion just to make a small contribution.)</li><li>Are we able to attract JavaScript people? (We are probably better at attracting PHP people.)</li><li>How can we best attract non-coding contributors? (Who are <a href=\"https://livablesoftware.com/importance-of-non-tech-contributor-roles-open-source/\">clearly important</a> in any OSS project.)</li><li>What is the best strategy to help people who would be interested in contributing? (E.g., mentoring, “first-bug” labels, bug bounties, reaching out to specific communities where we think there could be interested people.)</li></ul></li><li><strong>Contributors: How can we keep new members and help them grow?</strong><ul><li>How to turn new members into regular contributors?&nbsp;</li><li>Why do some leave?</li><li>What benefits can we give regular contributors (e.g. visibility) for contributing?</li><li>How do we reward contributors? (For sure, not based on the number of commits. We should investigate more complex models using tools like<a href=\"https://sourcecred.io/\"> SourceCred</a>.)</li><li>How do we redirect contributors to the areas that require more work? (I can tell you <a href=\"https://livablesoftware.com/online-division-labour-self-organization-open-source/\">this will not happen naturally</a>, so we need to gently push people to work where we need them.)</li><li>Could bots be a useful tool to help contributors focus on the important and creative tasks?</li></ul></li><li><strong>Community Analysis</strong><ul><li><strong>Volunteers and Paid Contributors:</strong> We need clear numbers informing the ratio between paid and unpaid volunteers, and where those “paid” ones come from if we want to make sure the companies sponsoring the work get also the credit.</li><li><strong>Leader Identification:</strong> Who are the unsung heroes of each WordPress component, i.e. those who are always commenting on threads regarding that component and whose opinion is usually accepted? If we identify them, we could somehow use them as leaders in that area.</li><li><strong>Governance Model:</strong> How do we manage the contributions? Is it fair? Is it fast? Is it encouraging people to contribute more? Less? “Who decides what and when” is an important influence (or barrier) for potential new contributors.</li><li><strong>Transparency:</strong> Is the governance model explicit enough? Do only those “inside” really know “how things work?”</li><li><strong>Toxicity/Quality of Conversations:</strong> Are our discussions threads friendly enough? Are new opinions heard or immediately shut down? Is the code of conduct enforced?</li><li><strong>Diversity Analysis:</strong> Is our community diverse enough?</li><li><strong>Temporal Analysis:</strong> We cannot rely on a static picture of dynamic community processes; many of the questions above need to be analyzed over time to detect trends.</li></ul></li></ul>\n\n\n\n<h3 id=\"h-resources-and-allocation-how-would-proposals-be-funded-and-executed\">Resources and Allocation: How Would Proposals Be Funded and Executed?</h3>\n\n\n\n<p>Following a Community-wide Call for Proposals that generates many well-defined, actionable research ideas, we could pursue the resources needed to make the research studies a reality.</p>\n\n\n\n<p><strong>For example:</strong></p>\n\n\n\n<ul><li>Research contributions could be part of the Five for the Future program so companies can decide to contribute by sponsoring researchers alongside other types of contributions.</li><li>We could start with a simpler process where either companies themselves choose and sponsor a research team, or a new “WordPress research committee” channels funding to a specific research team. (This would be the same as existing company-sponsored individual contributors.)</li><li>If we see a WordPress research initiative grow, we could move to a more “formal” model (under the WordPress foundation perhaps) where we ask teams to submit proposals (that fit in the challenges we choose for that year) — and then we choose projects based on a number of standard criteria for evaluating scientific proposals. </li></ul>\n\n\n\n<h3>We Want Your Feedback!</h3>\n\n\n\n<p>Do you have ideas for a WordPress research project? Do you have the capacity to fund or perform research? </p>\n\n\n\n<p>We\'d like your considered response to this proposal in <strong><a href=\"https://poststatus.slack.com/archives/CHNM7Q7T8/p1642776921109400\">Post Status Slack</a></strong>, if you\'re a Post Status member. You can also get in touch with Jordi there and through his contact information below. </p>\n\n\n\n<p>If you\'d like to get in touch with the Post Status team with a proposal of your own for the WordPress community, <a href=\"https://poststatus.com/contact/\">we welcome all thoughtful submissions</a>.</p>\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<hr class=\"wp-block-separator logo is-style-default\" />\n\n\n\n<div class=\"wp-block-spacer\"></div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile is-image-fill has-background\"><img width=\"670\" height=\"670\" src=\"https://cdn.poststatus.com/wp-content/uploads/2022/01/89725522ecef5872ff34df4c7ac09d02.jpeg\" alt=\"Jordi Cabot\" class=\"wp-image-92783 size-full\" /><div class=\"wp-block-media-text__content\">\n<p class=\"has-black-color has-text-color has-background grey-message\"><strong>Jordi Cabot</strong> is currently an ICREA Research Professor at the <strong>Interdisciplinary Internet Institute (IN3)</strong>, a research center of the <strong>Open University of Catalonia (UOC)</strong> in Barcelona where he leads the SOM research team for “<strong>S</strong>ystems, S<strong>o</strong>ftware and <strong>M</strong>odels.”<br /><br />Jordi can be reached in <strong>Post Status Slack</strong> or at <a href=\"http://jordicabot.com\">jordicabot.com</a> and <a href=\"mailto:jordi.cabot@icrea.cat\">jordi.cabot@icrea.cat</a>.</p>\n</div></div>\n\n\n\n<p></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 21 Jan 2022 14:45:06 +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:10:\"Dan Knauss\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:49;a:6:{s:4:\"data\";s:13:\"\n	\n	\n	\n	\n	\n	\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:47:\"Post Status: Front-End Performance in WordPress\";s: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:61:\"https://poststatus.com/?p=92761&preview=true&preview_id=92761\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"https://poststatus.com/front-end-performance-in-wordpress/\";s: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:6658:\"<p class=\"has-drop-cap\">Front-end performance in WordPress is all about first impressions and using those first impressions to create a positive experience for your website visitors. In this webinar, Mike Crantea and Sabrina Zeidan from XWP unpack how to think about front-end performance and where to focus your efforts to create positive experiences for your site\'s visitors.</p>\n\n\n\n<p>This webinar is focused on guiding business owners on how to think about performance in WordPress. You will learn the general principles behind front end performance. Then you\'ll get an introduction to some standard tools for monitoring site performance followed by some tactics for improving your website\'s performance. </p>\n\n\n\n<h3>Guests:</h3>\n\n\n\n<ul><li><strong>Mike Crante</strong>a, Principal Engineer at <a href=\"https://xwp.co/\">XWP</a> and Performance Advocate </li><li><strong>Sabrina Zeidan</strong>, Performance Engineer at <a href=\"https://xwp.co/\">XWP</a></li></ul>\n\n\n\n<p><strong>Host:</strong> <strong>Jonathan Wold</strong>, Post Status Partnerships</p>\n\n\n\n<h3>Topics:</h3>\n\n\n\n<ul><li>How to think about front-end performance in WordPress. <img src=\"https://s.w.org/images/core/emoji/13.1.0/72x72/1f914.png\" alt=\"🤔\" class=\"wp-smiley\" /></li><li>Tools available to you. <img src=\"https://s.w.org/images/core/emoji/13.1.0/72x72/1f527.png\" alt=\"🔧\" class=\"wp-smiley\" /></li><li>Practical tips and recommendations. <img src=\"https://s.w.org/images/core/emoji/13.1.0/72x72/1f481-200d-2640-fe0f.png\" alt=\"💁‍♀️\" class=\"wp-smiley\" /></li></ul>\n\n\n\n<div class=\"wp-block-embed__wrapper\">\n\n</div>\n\n\n\n<h2 id=\"h-our-guests\">Our Guests:</h2>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<div class=\"wp-block-advgb-image advgb-image-block full-width advgb-img-1959bebf-328f-4a90-a20d-aed1966ece6f\"><a class=\"advgb-image-overlay\" target=\"_blank\" rel=\"noopener noreferrer\"></a><h4 class=\"advgb-image-title\">Mike Crantea</h4><p class=\"advgb-image-subtitle\">Principal Engineer at XWP</p></div>\n\n\n\n<p>Principal Engineer at <a href=\"https://xwp.co/\">XWP</a> and Performance Advocate. </p>\n\n\n\n<p>Passionate for Frontend Architecture and Web Performance, <a href=\"https://mehigh.biz/\">writing about it</a>. </p>\n\n\n\n<p>Follow Mike on <a href=\"https://twitter.com/mehigh\">Twitter</a> and <a href=\"https://github.com/mehigh\">GitHub</a>.</p>\n</div>\n\n\n\n<div class=\"wp-block-column\">\n<div class=\"wp-block-advgb-image advgb-image-block full-width advgb-img-c561ed5b-f2ea-4ccf-9175-b2236bcc0b08\"><a class=\"advgb-image-overlay\" target=\"_blank\" rel=\"noopener noreferrer\"></a><h4 class=\"advgb-image-title\">Sabrina Zeidan</h4><p class=\"advgb-image-subtitle\">Performance Engineer at XWP</p></div>\n\n\n\n<p>Performance Engineer at <a href=\"https://xwp.co/\">XWP</a>.</p>\n\n\n\n<p>All-things WordPress performance, and <a href=\"https://www.youtube.com/sabrinazeidan\">talking </a>about it.&nbsp;</p>\n\n\n\n<p>One of the many whose lives have been changed by the WordPress Community. </p>\n\n\n\n<p>Content Team Lead at <a href=\"https://europe.wordcamp.org/2022/\">WordCamp Europe 2022</a>.</p>\n\n\n\n<p>Follow Sabrina on <a href=\"https://twitter.com/sabrina_zeidan\">Twitter</a>.</p>\n</div>\n</div>\n\n\n\n<h2 id=\"h-your-host\">Your Host:</h2>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile is-image-fill\"><img width=\"752\" height=\"752\" src=\"https://cdn.poststatus.com/wp-content/uploads/2021/12/1622579176499-752x752.jpg\" alt=\"\" class=\"wp-image-91151 size-full\" /><div class=\"wp-block-media-text__content\">\n<p><a href=\"https://poststatus.com/profiles/jonathan-wold/\">Jonathan Wold</a> is the <strong>Strategist </strong>for <strong>Post Status</strong>. He joined the WordPress community <a href=\"https://wordpress.org/support/topic/15-integrating-wordpress-into-existing-php-site/\">in 2004</a>, fell in love with WordPress, and has been all in ever since. Jonathan thinks about WordPress as an Operating System for creating on <a href=\"https://poststatus.com/news/the-open-web-manifesto/\">the Open Web</a> and invests his time and energy into growing the WordPress ecosystem. He leads partnership efforts at Post Status and stirs up trouble wherever he can.</p>\n</div></div>\n\n\n\n<p class=\"has-background\">Every week <strong><a href=\"https://poststatus.com/podcast/the-excerpt/\">Post Status Live</a></strong> will brief you on important WordPress news — in about 15 minutes or less! Learn what\'s new in WordPress in a flash. <img src=\"https://s.w.org/images/core/emoji/13.1.0/72x72/26a1.png\" alt=\"⚡\" class=\"wp-smiley\" /><br /><br />You can listen to <a href=\"https://poststatus.com/podcast/the-excerpt/\">past episodes</a> of <strong>Post Status Live</strong>, <a href=\"https://poststatus.com/category/post-status-podcasts/\">browse all our podcasts</a>, and don’t forget to subscribe on <a href=\"https://open.spotify.com/show/1m3xwXbe0MG5BzFVPtB0A7\">Spotify</a>, Amazon Music, <a href=\"https://podcasts.google.com/feed/aHR0cHM6Ly9mZWVkcy5zaW1wbGVjYXN0LmNvbS8ySkU5c2M4UA\">Google Podcasts</a>, <a href=\"https://itunes.apple.com/us/podcast/post-status-draft-wordpress/id976403008\">iTunes</a>, <a href=\"https://castro.fm/podcast/c53552c6-1ee0-4fc4-9de4-08ed6bf1ee4d\">Castro</a>, <a href=\"https://www.youtube.com/c/PostStatus\">YouTube</a>, <a href=\"http://www.stitcher.com/podcast/krogsgard/post-status-draft-wordpress-podcast\">Stitcher</a>, <a href=\"https://player.fm/series/wordpress-post-status-podcasts\">Player.fm</a>, <a href=\"https://pca.st/05rR\">Pocket Casts</a>, <a href=\"https://wordpress-post-status-draft-podcast.simplecast.com/\">Simplecast</a>, or by <a href=\"https://feeds.simplecast.com/2JE9sc8P\">RSS</a>. <img src=\"https://s.w.org/images/core/emoji/13.1.0/72x72/1f3a7.png\" alt=\"🎧\" class=\"wp-smiley\" /></p>\n\n\n\n<h3 id=\"h-mentioned-in-the-show\"><img src=\"https://s.w.org/images/core/emoji/13.1.0/72x72/1f517.png\" alt=\"🔗\" class=\"wp-smiley\" /> Mentioned in the show:</h3>\n\n\n\n<ul><li><a href=\"https://europe.wordcamp.org/2022/\">WordCamp Europe 2022</a></li><li><a href=\"https://twitter.com/mehigh\">Mike Crantea on Twitter</a></li><li><a href=\"https://twitter.com/sabrina_zeidan\">Sabrina Zeidan on Twitter</a></li><li><a href=\"https://twitter.com/post_status\">Post Status on Twitter</a></li></ul>\n.advgb-img-1959bebf-328f-4a90-a20d-aed1966ece6f.advgb-image-block .advgb-image-overlay{opacity:0.5 !important;}.advgb-img-1959bebf-328f-4a90-a20d-aed1966ece6f.advgb-image-block:hover .advgb-image-overlay{opacity:0.2 !important;}.advgb-img-c561ed5b-f2ea-4ccf-9175-b2236bcc0b08.advgb-image-block .advgb-image-overlay{opacity:0.5 !important;}.advgb-img-c561ed5b-f2ea-4ccf-9175-b2236bcc0b08.advgb-image-block:hover .advgb-image-overlay{opacity:0.2 !important;}\";s: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, 21 Jan 2022 04:53:52 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Olivia Bisset\";s: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:\"\0*\0data\";a:8:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Tue, 08 Feb 2022 18:55:12 GMT\";s:12:\"content-type\";s:8:\"text/xml\";s:4:\"vary\";s:15:\"Accept-Encoding\";s:13:\"last-modified\";s:29:\"Tue, 08 Feb 2022 18:45:08 GMT\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:4:\"x-nc\";s:9:\"HIT ord 1\";s:16:\"content-encoding\";s:2:\"br\";}}s:5:\"build\";s:14:\"20201017025008\";}','no'),(274507,'_transient_timeout_boldgrid_backup_system_zip_test','1644420647','no'),(274508,'_transient_boldgrid_backup_system_zip_test','1','no'),(274509,'_transient_timeout_boldgrid_backup_is_functional','1644420647','no'),(274510,'_transient_boldgrid_backup_is_functional','1','no'),(173357,'_site_transient_timeout_my_server_ips','1646931138','no'),(173358,'_site_transient_my_server_ips','a:3:{s:8:\"check_at\";i:1644339136;s:4:\"hash\";s:32:\"7ab329d2c08e34afffe5a8302025707d\";s:3:\"ips\";a:2:{i:0;s:14:\"104.193.141.98\";i:2;s:15:\"104.193.141.131\";}}','no'),(261560,'_site_transient_timeout_shield_mod_config_plugin','1644474206','no'),(261561,'_site_transient_shield_mod_config_plugin','a:6:{s:10:\"properties\";a:16:{s:4:\"slug\";s:6:\"plugin\";s:4:\"name\";s:16:\"General Settings\";s:12:\"sidebar_name\";s:7:\"General\";s:10:\"menu_title\";s:13:\"Configuration\";s:21:\"show_module_menu_item\";b:1;s:19:\"show_module_options\";b:1;s:11:\"storage_key\";s:6:\"plugin\";s:7:\"tagline\";s:23:\"General Plugin Settings\";s:12:\"auto_enabled\";b:1;s:12:\"show_central\";b:1;s:17:\"access_restricted\";b:1;s:7:\"premium\";b:0;s:18:\"run_if_whitelisted\";b:1;s:19:\"run_if_verified_bot\";b:1;s:12:\"run_if_wpcli\";b:1;s:5:\"order\";i:10;}s:13:\"admin_notices\";a:9:{s:14:\"plugin-too-old\";a:6:{s:2:\"id\";s:14:\"plugin-too-old\";s:8:\"schedule\";s:10:\"conditions\";s:11:\"valid_admin\";b:1;s:16:\"plugin_page_only\";b:0;s:11:\"can_dismiss\";b:1;s:4:\"type\";s:5:\"error\";}s:17:\"override-forceoff\";a:6:{s:2:\"id\";s:17:\"override-forceoff\";s:8:\"schedule\";s:10:\"conditions\";s:11:\"valid_admin\";b:1;s:16:\"plugin_page_only\";b:0;s:11:\"can_dismiss\";b:0;s:4:\"type\";s:5:\"error\";}s:15:\"plugin-disabled\";a:6:{s:2:\"id\";s:15:\"plugin-disabled\";s:8:\"schedule\";s:10:\"conditions\";s:11:\"valid_admin\";b:1;s:16:\"plugin_page_only\";b:1;s:11:\"can_dismiss\";b:0;s:4:\"type\";s:5:\"error\";}s:16:\"update-available\";a:6:{s:2:\"id\";s:16:\"update-available\";s:8:\"schedule\";s:10:\"conditions\";s:11:\"valid_admin\";b:1;s:16:\"plugin_page_only\";b:1;s:11:\"can_dismiss\";b:0;s:4:\"type\";s:5:\"error\";}s:17:\"compat-sgoptimize\";a:7:{s:2:\"id\";s:17:\"compat-sgoptimize\";s:8:\"schedule\";s:10:\"conditions\";s:11:\"valid_admin\";b:1;s:12:\"plugin_admin\";s:6:\"ignore\";s:16:\"plugin_page_only\";b:0;s:11:\"can_dismiss\";b:0;s:4:\"type\";s:7:\"warning\";}s:14:\"wizard_welcome\";a:3:{s:2:\"id\";s:14:\"wizard_welcome\";s:8:\"per_user\";b:0;s:4:\"type\";s:4:\"info\";}s:26:\"plugin-mailing-list-signup\";a:4:{s:2:\"id\";s:26:\"plugin-mailing-list-signup\";s:16:\"min_install_days\";i:5;s:4:\"type\";s:5:\"promo\";s:12:\"drip_form_id\";s:9:\"250437573\";}s:14:\"allow-tracking\";a:4:{s:2:\"id\";s:14:\"allow-tracking\";s:12:\"plugin_admin\";b:1;s:16:\"min_install_days\";i:3;s:4:\"type\";s:5:\"promo\";}s:11:\"rate-plugin\";a:3:{s:2:\"id\";s:11:\"rate-plugin\";s:16:\"min_install_days\";i:30;s:4:\"type\";s:5:\"promo\";}}s:8:\"sections\";a:6:{i:0;a:5:{s:4:\"slug\";s:16:\"section_defaults\";s:7:\"primary\";b:1;s:5:\"title\";s:15:\"Plugin Defaults\";s:11:\"title_short\";s:15:\"Plugin Defaults\";s:9:\"beacon_id\";i:389;}i:1;a:3:{s:4:\"slug\";s:30:\"section_general_plugin_options\";s:5:\"title\";s:22:\"General Plugin Options\";s:11:\"title_short\";s:15:\"General Options\";}i:2;a:4:{s:4:\"slug\";s:27:\"section_third_party_captcha\";s:5:\"title\";s:7:\"CAPTCHA\";s:11:\"title_short\";s:7:\"CAPTCHA\";s:9:\"beacon_id\";i:390;}i:3;a:4:{s:4:\"slug\";s:20:\"section_importexport\";s:5:\"title\";s:15:\"Import / Export\";s:11:\"title_short\";s:15:\"Import / Export\";s:9:\"beacon_id\";i:129;}i:4;a:3:{s:4:\"slug\";s:31:\"section_global_security_options\";s:5:\"title\";s:30:\"Global Plugin Security Options\";s:11:\"title_short\";s:14:\"Disable Shield\";}i:5;a:2:{s:4:\"slug\";s:14:\"section_non_ui\";s:6:\"hidden\";b:1;}}s:7:\"options\";a:33:{s:29:\"global_enable_plugin_features\";a:10:{s:3:\"key\";s:29:\"global_enable_plugin_features\";s:7:\"section\";s:31:\"section_global_security_options\";s:7:\"default\";s:1:\"Y\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:389;s:4:\"name\";s:33:\"Enable/Disable All Plugin Modules\";s:7:\"summary\";s:27:\"Global Plugin On/Off Switch\";s:11:\"description\";s:50:\"Uncheck this option to disable all Shield features\";}s:15:\"enable_tracking\";a:9:{s:3:\"key\";s:15:\"enable_tracking\";s:7:\"section\";s:30:\"section_general_plugin_options\";s:7:\"default\";s:1:\"N\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:19:\"https://shsec.io/7i\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:28:\"Enable Information Gathering\";s:7:\"summary\";s:44:\"Permit Anonymous Usage Information Gathering\";s:11:\"description\";s:198:\"Allows us to gather information on statistics and features in-use across our client installations. This information is strictly anonymous and contains no personally, or otherwise, identifiable data.\";}s:16:\"enable_shieldnet\";a:11:{s:3:\"key\";s:16:\"enable_shieldnet\";s:7:\"section\";s:30:\"section_general_plugin_options\";s:7:\"premium\";b:1;s:7:\"default\";s:1:\"Y\";s:4:\"type\";s:8:\"checkbox\";s:9:\"beacon_id\";i:437;s:9:\"link_info\";s:19:\"https://shsec.io/kb\";s:9:\"link_blog\";s:19:\"https://shsec.io/kc\";s:4:\"name\";s:16:\"Enable ShieldNET\";s:7:\"summary\";s:54:\"Enhanced Website Security Through Network Intelligence\";s:11:\"description\";s:55:\"Enhanced Website Security Through Network Intelligence.\";}s:13:\"show_advanced\";a:9:{s:3:\"key\";s:13:\"show_advanced\";s:7:\"section\";s:14:\"section_non_ui\";s:7:\"default\";s:1:\"Y\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:16:\"Show All Options\";s:7:\"summary\";s:51:\"Show All Options Including Those Marked As Advanced\";s:11:\"description\";s:122:\"Shield hides advanced options from view to simplify display. Turn this option on to display advanced options at all times.\";}s:22:\"visitor_address_source\";a:13:{s:3:\"key\";s:22:\"visitor_address_source\";s:7:\"section\";s:16:\"section_defaults\";s:8:\"advanced\";b:1;s:9:\"sensitive\";b:0;s:4:\"type\";s:6:\"select\";s:7:\"default\";s:14:\"AUTO_DETECT_IP\";s:13:\"value_options\";a:11:{i:0;a:2:{s:9:\"value_key\";s:14:\"AUTO_DETECT_IP\";s:4:\"text\";s:31:\"Automatically Detect Visitor IP\";}i:1;a:2:{s:9:\"value_key\";s:11:\"REMOTE_ADDR\";s:4:\"text\";s:11:\"REMOTE_ADDR\";}i:2;a:2:{s:9:\"value_key\";s:21:\"HTTP_CF_CONNECTING_IP\";s:4:\"text\";s:21:\"HTTP_CF_CONNECTING_IP\";}i:3;a:2:{s:9:\"value_key\";s:20:\"HTTP_X_FORWARDED_FOR\";s:4:\"text\";s:20:\"HTTP_X_FORWARDED_FOR\";}i:4;a:2:{s:9:\"value_key\";s:16:\"HTTP_X_FORWARDED\";s:4:\"text\";s:16:\"HTTP_X_FORWARDED\";}i:5;a:2:{s:9:\"value_key\";s:14:\"HTTP_X_REAL_IP\";s:4:\"text\";s:14:\"HTTP_X_REAL_IP\";}i:6;a:2:{s:9:\"value_key\";s:22:\"HTTP_X_SUCURI_CLIENTIP\";s:4:\"text\";s:22:\"HTTP_X_SUCURI_CLIENTIP\";}i:7;a:2:{s:9:\"value_key\";s:20:\"HTTP_INCAP_CLIENT_IP\";s:4:\"text\";s:20:\"HTTP_INCAP_CLIENT_IP\";}i:8;a:2:{s:9:\"value_key\";s:22:\"HTTP_X_SP_FORWARDED_IP\";s:4:\"text\";s:22:\"HTTP_X_SP_FORWARDED_IP\";}i:9;a:2:{s:9:\"value_key\";s:14:\"HTTP_FORWARDED\";s:4:\"text\";s:14:\"HTTP_FORWARDED\";}i:10;a:2:{s:9:\"value_key\";s:14:\"HTTP_CLIENT_IP\";s:4:\"text\";s:14:\"HTTP_CLIENT_IP\";}}s:9:\"link_info\";s:19:\"https://shsec.io/dn\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:391;s:4:\"name\";s:18:\"Visitor IP Address\";s:7:\"summary\";s:22:\"Which Address Is Yours\";s:11:\"description\";s:85:\"There are many way to detect visitor IP addresses. Please select yours from the list.\";}s:24:\"block_send_email_address\";a:10:{s:3:\"key\";s:24:\"block_send_email_address\";s:7:\"section\";s:16:\"section_defaults\";s:9:\"sensitive\";b:1;s:7:\"default\";s:0:\"\";s:4:\"type\";s:5:\"email\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:12:\"Report Email\";s:7:\"summary\";s:27:\"Where to send email reports\";s:11:\"description\";s:66:\"If this is empty, it will default to the blog admin email address.\";}s:27:\"enable_upgrade_admin_notice\";a:9:{s:3:\"key\";s:27:\"enable_upgrade_admin_notice\";s:7:\"section\";s:30:\"section_general_plugin_options\";s:7:\"default\";s:1:\"Y\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:17:\"In-Plugin Notices\";s:7:\"summary\";s:31:\"Display Plugin Specific Notices\";s:11:\"description\";s:105:\"Disable this option to hide certain plugin admin notices about available updates and post-update notices.\";}s:12:\"enable_wpcli\";a:12:{s:3:\"key\";s:12:\"enable_wpcli\";s:7:\"section\";s:30:\"section_general_plugin_options\";s:8:\"advanced\";b:1;s:7:\"premium\";b:1;s:7:\"default\";s:1:\"Y\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:19:\"https://shsec.io/i1\";s:9:\"link_blog\";s:19:\"https://shsec.io/i2\";s:9:\"beacon_id\";i:308;s:4:\"name\";s:12:\"Allow WP-CLI\";s:7:\"summary\";s:50:\"Allow Access And Control Of This Plugin Via WP-CLI\";s:11:\"description\";s:65:\"Turn off this option to disable this plugin\'s WP-CLI integration.\";}s:20:\"display_plugin_badge\";a:10:{s:3:\"key\";s:20:\"display_plugin_badge\";s:7:\"section\";s:30:\"section_general_plugin_options\";s:7:\"default\";s:1:\"N\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:19:\"https://shsec.io/5v\";s:9:\"link_blog\";s:23:\"https://shsec.io/wpsf20\";s:9:\"beacon_id\";i:130;s:4:\"name\";s:17:\"Show Plugin Badge\";s:7:\"summary\";s:42:\"Display Plugin Security Badge On Your Site\";s:11:\"description\";s:187:\"Enabling this option helps support the plugin by spreading the word about it on your website. The plugin badge also demonstrates to visitors that you take your website security seriously.\";}s:27:\"enable_xmlrpc_compatibility\";a:9:{s:3:\"key\";s:27:\"enable_xmlrpc_compatibility\";s:7:\"section\";s:16:\"section_defaults\";s:7:\"default\";s:1:\"N\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:21:\"XML-RPC Compatibility\";s:7:\"summary\";s:56:\"Allow Login Through XML-RPC To By-Pass Login Guard Rules\";s:11:\"description\";s:95:\"Enable this if you need XML-RPC functionality e.g. if you use the WordPress iPhone/Android App.\";}s:19:\"importexport_enable\";a:12:{s:3:\"key\";s:19:\"importexport_enable\";s:7:\"section\";s:20:\"section_importexport\";s:8:\"advanced\";b:1;s:7:\"premium\";b:1;s:7:\"default\";s:1:\"Y\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:19:\"https://shsec.io/do\";s:9:\"link_blog\";s:19:\"https://shsec.io/dp\";s:9:\"beacon_id\";i:129;s:4:\"name\";s:19:\"Allow Import/Export\";s:7:\"summary\";s:65:\"Allow Import Of Options To, And Export Of Options From, This Site\";s:11:\"description\";s:68:\"Uncheck this box to completely disable import and export of options.\";}s:22:\"importexport_masterurl\";a:10:{s:3:\"key\";s:22:\"importexport_masterurl\";s:7:\"section\";s:20:\"section_importexport\";s:8:\"advanced\";b:1;s:7:\"default\";s:0:\"\";s:4:\"type\";s:4:\"text\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:15:\"Auto-Import URL\";s:7:\"summary\";s:43:\"Automatically Import Options From This Site\";s:11:\"description\";s:115:\"Supplying a valid site URL here will make this site an \'Options Slave\' and will automatically import options daily.\";}s:22:\"importexport_whitelist\";a:12:{s:3:\"key\";s:22:\"importexport_whitelist\";s:7:\"section\";s:20:\"section_importexport\";s:8:\"advanced\";b:1;s:12:\"transferable\";b:0;s:9:\"sensitive\";b:1;s:7:\"default\";a:0:{}s:4:\"type\";s:5:\"array\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:16:\"Export Whitelist\";s:7:\"summary\";s:68:\"Whitelisted Sites Which Do Not Need The Secret Key To Export Options\";s:11:\"description\";s:132:\"Each site on this list will be able to export options from this site without providing the secret key. Take a new line for each URL.\";}s:29:\"importexport_whitelist_notify\";a:11:{s:3:\"key\";s:29:\"importexport_whitelist_notify\";s:7:\"section\";s:20:\"section_importexport\";s:8:\"advanced\";b:1;s:9:\"sensitive\";b:1;s:7:\"default\";s:1:\"N\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:16:\"Notify Whitelist\";s:7:\"summary\";s:59:\"Notify Sites On The Whitelist To Update Options From Master\";s:11:\"description\";s:110:\"When enabled, manual options saving will notify sites on the whitelist to export options from the Master site.\";}s:22:\"importexport_secretkey\";a:12:{s:3:\"key\";s:22:\"importexport_secretkey\";s:7:\"section\";s:20:\"section_importexport\";s:8:\"advanced\";b:1;s:12:\"transferable\";b:0;s:9:\"sensitive\";b:1;s:7:\"default\";s:0:\"\";s:4:\"type\";s:16:\"noneditable_text\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:10:\"Secret Key\";s:7:\"summary\";s:24:\"Import/Export Secret Key\";s:11:\"description\";s:79:\"Keep this Secret Key private as it will allow the import and export of options.\";}s:20:\"delete_on_deactivate\";a:9:{s:3:\"key\";s:20:\"delete_on_deactivate\";s:7:\"section\";s:30:\"section_general_plugin_options\";s:7:\"default\";s:1:\"N\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:22:\"Delete Plugin Settings\";s:7:\"summary\";s:51:\"Delete All Plugin Settings Upon Plugin Deactivation\";s:11:\"description\";s:67:\"Careful: Removes all plugin options when you deactivate the plugin.\";}s:15:\"locale_override\";a:10:{s:3:\"key\";s:15:\"locale_override\";s:7:\"section\";s:30:\"section_general_plugin_options\";s:8:\"advanced\";b:1;s:7:\"default\";s:0:\"\";s:4:\"type\";s:4:\"text\";s:9:\"link_info\";s:18:\"https://icwp.io/il\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:15:\"Locale Override\";s:7:\"summary\";s:51:\"Delete All Plugin Settings Upon Plugin Deactivation\";s:11:\"description\";s:67:\"Careful: Removes all plugin options when you deactivate the plugin.\";}s:16:\"captcha_provider\";a:11:{s:3:\"key\";s:16:\"captcha_provider\";s:7:\"section\";s:27:\"section_third_party_captcha\";s:7:\"default\";s:10:\"grecaptcha\";s:4:\"type\";s:6:\"select\";s:13:\"value_options\";a:2:{i:0;a:2:{s:9:\"value_key\";s:10:\"grecaptcha\";s:4:\"text\";s:19:\"Google reCAPTCHA v2\";}i:1;a:2:{s:9:\"value_key\";s:8:\"hcaptcha\";s:4:\"text\";s:8:\"hCaptcha\";}}s:9:\"link_info\";s:19:\"https://shsec.io/dq\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:390;s:4:\"name\";s:16:\"CAPTCHA Provider\";s:7:\"summary\";s:40:\"Which CAPTCHA Provider To Use Throughout\";s:11:\"description\";s:66:\"You can choose the CAPTCHA provider depending on your preferences.\";}s:22:\"google_recaptcha_style\";a:12:{s:3:\"key\";s:22:\"google_recaptcha_style\";s:7:\"section\";s:27:\"section_third_party_captcha\";s:7:\"premium\";b:1;s:7:\"default\";s:5:\"light\";s:4:\"type\";s:6:\"select\";s:13:\"value_options\";a:3:{i:0;a:2:{s:9:\"value_key\";s:5:\"light\";s:4:\"text\";s:11:\"Light Theme\";}i:1;a:2:{s:9:\"value_key\";s:4:\"dark\";s:4:\"text\";s:10:\"Dark Theme\";}i:2;a:2:{s:9:\"value_key\";s:9:\"invisible\";s:4:\"text\";s:9:\"Invisible\";}}s:9:\"link_info\";s:19:\"https://shsec.io/dq\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:269;s:4:\"name\";s:12:\"CAPTCHA Type\";s:7:\"summary\";s:49:\"How Google reCAPTCHA Will Be Displayed By Default\";s:11:\"description\";s:109:\"You can choose the reCAPTCHA display format that best suits your site, including the new Invisible Recaptcha.\";}s:25:\"google_recaptcha_site_key\";a:11:{s:3:\"key\";s:25:\"google_recaptcha_site_key\";s:7:\"section\";s:27:\"section_third_party_captcha\";s:9:\"sensitive\";b:1;s:7:\"default\";s:0:\"\";s:4:\"type\";s:4:\"text\";s:9:\"link_info\";s:22:\"https://shsec.io/shld5\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:390;s:4:\"name\";s:18:\"reCAPTCHA Site Key\";s:7:\"summary\";s:67:\"Google reCAPTCHA Site Key - Only v2 or Invisible. v3 NOT supported.\";s:11:\"description\";s:67:\"Enter your Google reCAPTCHA site key for use throughout the plugin.\";}s:27:\"google_recaptcha_secret_key\";a:11:{s:3:\"key\";s:27:\"google_recaptcha_secret_key\";s:7:\"section\";s:27:\"section_third_party_captcha\";s:9:\"sensitive\";b:1;s:7:\"default\";s:0:\"\";s:4:\"type\";s:4:\"text\";s:9:\"link_info\";s:22:\"https://shsec.io/shld5\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:390;s:4:\"name\";s:16:\"reCAPTCHA Secret\";s:7:\"summary\";s:69:\"Google reCAPTCHA Secret Key - Only v2 or Invisible. v3 NOT supported.\";s:11:\"description\";s:69:\"Enter your Google reCAPTCHA secret key for use throughout the plugin.\";}s:21:\"tracking_last_sent_at\";a:6:{s:3:\"key\";s:21:\"tracking_last_sent_at\";s:7:\"section\";s:14:\"section_non_ui\";s:12:\"transferable\";b:0;s:4:\"type\";s:7:\"integer\";s:7:\"default\";i:0;s:3:\"min\";i:0;}s:22:\"unique_installation_id\";a:5:{s:3:\"key\";s:22:\"unique_installation_id\";s:7:\"section\";s:14:\"section_non_ui\";s:12:\"transferable\";b:0;s:4:\"type\";s:4:\"text\";s:7:\"default\";i:0;}s:26:\"tracking_permission_set_at\";a:4:{s:3:\"key\";s:26:\"tracking_permission_set_at\";s:7:\"section\";s:14:\"section_non_ui\";s:4:\"type\";s:7:\"integer\";s:7:\"default\";i:0;}s:17:\"installation_time\";a:5:{s:3:\"key\";s:17:\"installation_time\";s:7:\"section\";s:14:\"section_non_ui\";s:12:\"transferable\";b:0;s:4:\"type\";s:7:\"integer\";s:7:\"default\";i:0;}s:12:\"activated_at\";a:5:{s:3:\"key\";s:12:\"activated_at\";s:12:\"transferable\";b:0;s:7:\"section\";s:14:\"section_non_ui\";s:4:\"type\";s:7:\"integer\";s:7:\"default\";i:0;}s:33:\"importexport_secretkey_expires_at\";a:5:{s:3:\"key\";s:33:\"importexport_secretkey_expires_at\";s:7:\"section\";s:14:\"section_non_ui\";s:12:\"transferable\";b:0;s:4:\"type\";s:7:\"integer\";s:7:\"default\";i:0;}s:33:\"importexport_handshake_expires_at\";a:5:{s:3:\"key\";s:33:\"importexport_handshake_expires_at\";s:7:\"section\";s:14:\"section_non_ui\";s:12:\"transferable\";b:0;s:4:\"type\";s:7:\"integer\";s:7:\"default\";i:0;}s:21:\"last_ip_detect_source\";a:5:{s:3:\"key\";s:21:\"last_ip_detect_source\";s:12:\"transferable\";b:0;s:7:\"section\";s:14:\"section_non_ui\";s:4:\"type\";s:4:\"text\";s:7:\"default\";s:0:\"\";}s:19:\"openssl_private_key\";a:6:{s:3:\"key\";s:19:\"openssl_private_key\";s:12:\"transferable\";b:0;s:9:\"sensitive\";b:1;s:7:\"section\";s:14:\"section_non_ui\";s:4:\"type\";s:4:\"text\";s:7:\"default\";s:0:\"\";}s:10:\"snapi_data\";a:6:{s:3:\"key\";s:10:\"snapi_data\";s:12:\"transferable\";b:0;s:9:\"sensitive\";b:1;s:7:\"section\";s:14:\"section_non_ui\";s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:18:\"captcha_checked_at\";a:5:{s:3:\"key\";s:18:\"captcha_checked_at\";s:12:\"transferable\";b:0;s:7:\"section\";s:14:\"section_non_ui\";s:4:\"type\";s:3:\"int\";s:7:\"default\";i:-1;}s:20:\"cache_dir_write_test\";a:5:{s:3:\"key\";s:20:\"cache_dir_write_test\";s:12:\"transferable\";b:0;s:7:\"section\";s:14:\"section_non_ui\";s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}}s:11:\"definitions\";a:6:{s:19:\"href_privacy_policy\";s:38:\"https://shsec.io/wpshieldprivacypolicy\";s:10:\"db_classes\";a:1:{s:5:\"notes\";s:69:\"\\FernleafSystems\\Wordpress\\Plugin\\Shield\\Databases\\AdminNotes\\Handler\";}s:14:\"db_table_notes\";a:3:{s:4:\"slug\";s:5:\"notes\";s:14:\"has_updated_at\";b:1;s:11:\"cols_custom\";a:2:{s:11:\"wp_username\";s:39:\"varchar(255) NOT NULL DEFAULT \'unknown\'\";s:4:\"note\";s:4:\"TEXT\";}}s:22:\"active_plugin_features\";a:21:{i:0;a:2:{s:4:\"slug\";s:4:\"data\";s:13:\"load_priority\";i:1;}i:1;a:3:{s:4:\"slug\";s:8:\"insights\";s:13:\"load_priority\";i:2;s:13:\"menu_priority\";i:5;}i:2;a:3:{s:4:\"slug\";s:24:\"admin_access_restriction\";s:9:\"namespace\";s:13:\"SecurityAdmin\";s:13:\"load_priority\";i:11;}i:3;a:3:{s:4:\"slug\";s:3:\"ips\";s:13:\"load_priority\";i:15;s:9:\"namespace\";s:3:\"IPs\";}i:4;a:3:{s:4:\"slug\";s:11:\"audit_trail\";s:13:\"load_priority\";i:11;s:6:\"hidden\";b:0;}i:5;a:2:{s:4:\"slug\";s:12:\"hack_protect\";s:9:\"namespace\";s:9:\"HackGuard\";}i:6;a:2:{s:4:\"slug\";s:7:\"traffic\";s:13:\"load_priority\";i:12;}i:7;a:2:{s:4:\"slug\";s:8:\"firewall\";s:13:\"load_priority\";i:1000;}i:8;a:3:{s:4:\"slug\";s:13:\"login_protect\";s:11:\"storage_key\";s:12:\"loginprotect\";s:9:\"namespace\";s:10:\"LoginGuard\";}i:9;a:1:{s:4:\"slug\";s:15:\"user_management\";}i:10;a:2:{s:4:\"slug\";s:15:\"comments_filter\";s:11:\"storage_key\";s:14:\"commentsfilter\";}i:11;a:2:{s:4:\"slug\";s:6:\"events\";s:13:\"load_priority\";i:11;}i:12;a:2:{s:4:\"slug\";s:9:\"reporting\";s:13:\"load_priority\";i:12;}i:13;a:2:{s:4:\"slug\";s:8:\"sessions\";s:13:\"load_priority\";i:5;}i:14;a:2:{s:4:\"slug\";s:12:\"integrations\";s:13:\"load_priority\";i:20;}i:15;a:2:{s:4:\"slug\";s:7:\"license\";s:13:\"load_priority\";i:10;}i:16;a:1:{s:4:\"slug\";s:11:\"autoupdates\";}i:17;a:1:{s:4:\"slug\";s:7:\"headers\";}i:18;a:1:{s:4:\"slug\";s:8:\"lockdown\";}i:19;a:1:{s:4:\"slug\";s:5:\"comms\";}i:20;a:1:{s:4:\"slug\";s:5:\"email\";}}s:6:\"events\";a:15:{s:9:\"debug_log\";a:3:{s:12:\"audit_params\";a:1:{i:0;s:7:\"message\";}s:5:\"level\";s:5:\"debug\";s:4:\"stat\";b:0;}s:13:\"test_cron_run\";a:2:{s:5:\"level\";s:5:\"debug\";s:6:\"recent\";b:1;}s:18:\"import_notify_sent\";a:2:{s:5:\"level\";s:5:\"debug\";s:4:\"stat\";b:0;}s:22:\"import_notify_received\";a:3:{s:12:\"audit_params\";a:1:{i:0;s:11:\"master_site\";}s:5:\"level\";s:6:\"notice\";s:4:\"stat\";b:0;}s:16:\"options_exported\";a:4:{s:12:\"audit_params\";a:1:{i:0;s:4:\"site\";}s:5:\"level\";s:6:\"notice\";s:4:\"stat\";b:1;s:6:\"recent\";b:1;}s:16:\"options_imported\";a:4:{s:12:\"audit_params\";a:1:{i:0;s:4:\"site\";}s:5:\"level\";s:6:\"notice\";s:4:\"stat\";b:1;s:6:\"recent\";b:1;}s:20:\"whitelist_site_added\";a:3:{s:12:\"audit_params\";a:1:{i:0;s:4:\"site\";}s:5:\"level\";s:7:\"warning\";s:4:\"stat\";b:0;}s:22:\"whitelist_site_removed\";a:3:{s:12:\"audit_params\";a:1:{i:0;s:4:\"site\";}s:5:\"level\";s:6:\"notice\";s:4:\"stat\";b:0;}s:14:\"master_url_set\";a:3:{s:12:\"audit_params\";a:1:{i:0;s:4:\"site\";}s:5:\"level\";s:7:\"warning\";s:4:\"stat\";b:0;}s:17:\"recaptcha_success\";a:1:{s:5:\"level\";s:5:\"debug\";}s:14:\"recaptcha_fail\";a:2:{s:5:\"level\";s:7:\"warning\";s:5:\"audit\";b:1;}s:12:\"antibot_pass\";a:3:{s:12:\"audit_params\";a:2:{i:0;s:5:\"score\";i:1;s:7:\"minimum\";}s:5:\"level\";s:4:\"info\";s:4:\"stat\";b:1;}s:12:\"antibot_fail\";a:3:{s:12:\"audit_params\";a:2:{i:0;s:5:\"score\";i:1;s:7:\"minimum\";}s:5:\"level\";s:7:\"warning\";s:4:\"stat\";b:1;}s:14:\"frontpage_load\";a:3:{s:5:\"level\";s:5:\"debug\";s:7:\"offense\";b:0;s:4:\"stat\";b:0;}s:14:\"loginpage_load\";a:3:{s:5:\"level\";s:5:\"debug\";s:7:\"offense\";b:0;s:4:\"stat\";b:0;}}s:7:\"wizards\";a:1:{s:7:\"welcome\";a:4:{s:5:\"title\";s:28:\"Getting Started Setup Wizard\";s:4:\"desc\";s:106:\"An introduction to this security plugin, helping you get setup and started quickly with the core features.\";s:20:\"min_user_permissions\";s:14:\"manage_options\";s:5:\"steps\";a:12:{s:7:\"welcome\";a:2:{s:14:\"security_admin\";b:0;s:5:\"title\";s:7:\"Welcome\";}s:9:\"ip_detect\";a:1:{s:5:\"title\";s:12:\"IP Detection\";}s:24:\"admin_access_restriction\";a:1:{s:5:\"title\";s:14:\"Security Admin\";}s:11:\"audit_trail\";a:1:{s:5:\"title\";s:11:\"Audit Trail\";}s:3:\"ips\";a:1:{s:5:\"title\";s:12:\"IP Blacklist\";}s:13:\"login_protect\";a:1:{s:5:\"title\";s:16:\"Login Protection\";}s:15:\"comments_filter\";a:1:{s:5:\"title\";s:12:\"Comment SPAM\";}s:12:\"plugin_badge\";a:1:{s:5:\"title\";s:14:\"Security Badge\";}s:16:\"plugin_telemetry\";a:1:{s:5:\"title\";s:16:\"Plugin Telemetry\";}s:10:\"free_trial\";a:1:{s:5:\"title\";s:10:\"Free Trial\";}s:5:\"optin\";a:1:{s:5:\"title\";s:8:\"Join Us!\";}s:8:\"thankyou\";a:2:{s:14:\"security_admin\";b:0;s:5:\"title\";s:10:\"Thank You!\";}}}}}s:4:\"meta\";a:1:{s:6:\"ts_mod\";i:1642655802;}}','no'),(261562,'_site_transient_timeout_shield_mod_config_data','1644474206','no'),(261563,'_site_transient_shield_mod_config_data','a:7:{s:4:\"slug\";s:4:\"data\";s:10:\"properties\";a:12:{s:4:\"slug\";s:4:\"data\";s:4:\"name\";s:4:\"Data\";s:21:\"show_module_menu_item\";b:0;s:12:\"auto_enabled\";b:1;s:11:\"storage_key\";s:4:\"data\";s:12:\"show_central\";b:0;s:7:\"premium\";b:0;s:17:\"access_restricted\";b:1;s:18:\"run_if_whitelisted\";b:1;s:12:\"run_if_wpcli\";b:1;s:14:\"skip_processor\";b:1;s:16:\"tracking_exclude\";b:1;}s:5:\"wpcli\";a:1:{s:7:\"enabled\";b:0;}s:8:\"sections\";a:0:{}s:7:\"options\";a:0:{}s:11:\"definitions\";a:3:{s:18:\"db_handler_classes\";a:2:{s:3:\"ips\";s:72:\"\\FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\Data\\DB\\IPs\\Ops\\Handler\";s:8:\"req_logs\";s:76:\"\\FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\Data\\DB\\ReqLogs\\Ops\\Handler\";}s:12:\"db_table_ips\";a:6:{s:10:\"autoexpire\";i:0;s:4:\"slug\";s:3:\"ips\";s:14:\"has_updated_at\";b:0;s:14:\"has_deleted_at\";b:0;s:14:\"col_older_than\";s:10:\"created_at\";s:11:\"cols_custom\";a:2:{s:2:\"ip\";a:2:{s:10:\"macro_type\";s:2:\"ip\";s:4:\"attr\";a:1:{i:0;s:6:\"UNIQUE\";}}s:3:\"geo\";a:2:{s:10:\"macro_type\";s:4:\"meta\";s:7:\"comment\";s:10:\"GeoIP Data\";}}}s:17:\"db_table_req_logs\";a:5:{s:4:\"slug\";s:8:\"req_logs\";s:10:\"autoexpire\";i:0;s:14:\"has_updated_at\";b:0;s:14:\"has_deleted_at\";b:0;s:11:\"cols_custom\";a:3:{s:6:\"req_id\";a:3:{s:10:\"macro_type\";s:7:\"varchar\";s:6:\"length\";i:10;s:4:\"attr\";a:1:{i:0;s:6:\"UNIQUE\";}}s:6:\"ip_ref\";a:2:{s:10:\"macro_type\";s:14:\"foreign_key_id\";s:11:\"foreign_key\";a:1:{s:9:\"ref_table\";s:13:\"icwp_wpsf_ips\";}}s:4:\"meta\";a:1:{s:10:\"macro_type\";s:4:\"meta\";}}}}s:4:\"meta\";a:1:{s:6:\"ts_mod\";i:1642655802;}}','no'),(261564,'_site_transient_timeout_shield_mod_config_insights','1644474206','no'),(261565,'_site_transient_shield_mod_config_insights','a:6:{s:4:\"slug\";s:8:\"insights\";s:10:\"properties\";a:16:{s:4:\"slug\";s:8:\"insights\";s:4:\"name\";s:9:\"Dashboard\";s:10:\"menu_title\";s:18:\"Security Dashboard\";s:13:\"menu_priority\";s:1:\"5\";s:21:\"show_module_menu_item\";b:1;s:19:\"show_module_options\";b:0;s:12:\"auto_enabled\";b:1;s:11:\"storage_key\";s:8:\"insights\";s:12:\"show_central\";b:0;s:7:\"premium\";b:0;s:17:\"access_restricted\";b:1;s:18:\"run_if_whitelisted\";b:1;s:19:\"run_if_verified_bot\";b:0;s:12:\"run_if_wpcli\";b:0;s:14:\"skip_processor\";b:1;s:16:\"tracking_exclude\";b:1;}s:5:\"wpcli\";a:1:{s:7:\"enabled\";b:0;}s:8:\"sections\";a:1:{i:0;a:2:{s:4:\"slug\";s:14:\"section_non_ui\";s:6:\"hidden\";b:1;}}s:7:\"options\";a:0:{}s:4:\"meta\";a:1:{s:6:\"ts_mod\";i:1642655802;}}','no'),(261566,'_site_transient_timeout_shield_mod_config_admin_access_restriction','1644474206','no'),(261567,'_site_transient_shield_mod_config_admin_access_restriction','a:8:{s:4:\"slug\";s:24:\"admin_access_restriction\";s:10:\"properties\";a:14:{s:4:\"slug\";s:24:\"admin_access_restriction\";s:4:\"name\";s:14:\"Security Admin\";s:12:\"sidebar_name\";s:14:\"Security Admin\";s:21:\"show_module_menu_item\";b:0;s:19:\"show_module_options\";b:1;s:11:\"storage_key\";s:24:\"admin_access_restriction\";s:7:\"tagline\";s:58:\"Protect your Security Plugin, not just your WordPress site\";s:12:\"show_central\";b:1;s:17:\"access_restricted\";b:1;s:7:\"premium\";b:0;s:18:\"run_if_whitelisted\";b:0;s:19:\"run_if_verified_bot\";b:1;s:12:\"run_if_wpcli\";b:0;s:5:\"order\";i:20;}s:5:\"wpcli\";a:1:{s:4:\"root\";s:8:\"secadmin\";}s:13:\"admin_notices\";a:2:{s:26:\"certain-options-restricted\";a:5:{s:2:\"id\";s:26:\"certain-options-restricted\";s:8:\"schedule\";s:10:\"conditions\";s:12:\"plugin_admin\";s:2:\"no\";s:8:\"per_user\";b:1;s:4:\"type\";s:7:\"warning\";}s:22:\"admin-users-restricted\";a:5:{s:2:\"id\";s:22:\"admin-users-restricted\";s:8:\"schedule\";s:10:\"conditions\";s:12:\"plugin_admin\";s:2:\"no\";s:4:\"type\";s:7:\"warning\";s:8:\"per_user\";b:1;}}s:8:\"sections\";a:5:{i:0;a:6:{s:4:\"slug\";s:31:\"section_security_admin_settings\";s:7:\"primary\";b:1;s:5:\"title\";s:35:\"Security Admin Restriction Settings\";s:11:\"title_short\";s:23:\"Security Admin Settings\";s:9:\"beacon_id\";i:215;s:7:\"summary\";a:2:{i:0;s:52:\"Purpose - Restrict access using a simple Access PIN.\";i:1;s:57:\"Recommendation - Use of this feature is highly recommend.\";}}i:1;a:5:{s:4:\"slug\";s:38:\"section_admin_access_restriction_areas\";s:5:\"title\";s:32:\"Security Admin Restriction Zones\";s:11:\"title_short\";s:24:\"Access Restriction Zones\";s:9:\"beacon_id\";i:214;s:7:\"summary\";a:2:{i:0;s:120:\"Purpose - Restricts access to key WordPress areas for all users not authenticated with the Security Admin Access system.\";i:1;s:57:\"Recommendation - Use of this feature is highly recommend.\";}}i:2;a:5:{s:4:\"slug\";s:18:\"section_whitelabel\";s:5:\"title\";s:18:\"Shield White Label\";s:11:\"title_short\";s:11:\"White Label\";s:9:\"beacon_id\";i:131;s:7:\"summary\";a:1:{i:0;s:92:\"Purpose - Rename and re-brand the Shield Security plugin for your client site installations.\";}}i:3;a:5:{s:4:\"slug\";s:54:\"section_enable_plugin_feature_admin_access_restriction\";s:5:\"title\";s:39:\"Enable Module: WordPress Security Admin\";s:11:\"title_short\";s:14:\"Disable Module\";s:9:\"beacon_id\";i:213;s:7:\"summary\";a:3:{i:0;s:100:\"Purpose - Restricts access to this plugin preventing unauthorized changes to your security settings.\";i:1;s:59:\"Recommendation - Keep the Security Admin feature turned on.\";i:2;s:63:\"You need to also enter a new Access PIN to enable this feature.\";}}i:4;a:2:{s:4:\"slug\";s:14:\"section_non_ui\";s:6:\"hidden\";b:1;}}s:7:\"options\";a:21:{s:31:\"enable_admin_access_restriction\";a:10:{s:3:\"key\";s:31:\"enable_admin_access_restriction\";s:7:\"section\";s:54:\"section_enable_plugin_feature_admin_access_restriction\";s:8:\"advanced\";b:1;s:7:\"default\";s:1:\"Y\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:19:\"https://shsec.io/40\";s:9:\"link_blog\";s:23:\"https://shsec.io/wpsf02\";s:4:\"name\";s:21:\"Enable Security Admin\";s:7:\"summary\";s:41:\"Enforce Security Admin Access Restriction\";s:11:\"description\";s:157:\"Enable this with great care and consideration. When this Access PIN option is enabled, you must specify a key below and use it to gain access to this plugin.\";}s:16:\"admin_access_key\";a:11:{s:3:\"key\";s:16:\"admin_access_key\";s:7:\"section\";s:31:\"section_security_admin_settings\";s:9:\"sensitive\";b:1;s:7:\"default\";s:0:\"\";s:4:\"type\";s:8:\"password\";s:9:\"link_info\";s:19:\"https://shsec.io/42\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:215;s:4:\"name\";s:25:\"Security Admin Access PIN\";s:7:\"summary\";s:40:\"Provide/Update Security Admin Access PIN\";s:11:\"description\";s:92:\"Careful: If you forget this, you could potentially lock yourself out from using this plugin.\";}s:15:\"sec_admin_users\";a:13:{s:3:\"key\";s:15:\"sec_admin_users\";s:7:\"section\";s:31:\"section_security_admin_settings\";s:8:\"advanced\";b:1;s:9:\"sensitive\";b:1;s:7:\"premium\";b:1;s:7:\"default\";a:0:{}s:4:\"type\";s:5:\"array\";s:9:\"link_info\";s:19:\"https://shsec.io/dk\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:132;s:4:\"name\";s:15:\"Security Admins\";s:7:\"summary\";s:26:\"Persistent Security Admins\";s:11:\"description\";s:79:\"All emails, usernames, or user IDs entered here will always be Security Admins.\";}s:20:\"admin_access_timeout\";a:12:{s:3:\"key\";s:20:\"admin_access_timeout\";s:7:\"section\";s:31:\"section_security_admin_settings\";s:8:\"advanced\";b:1;s:7:\"default\";i:30;s:4:\"type\";s:7:\"integer\";s:3:\"min\";i:1;s:9:\"link_info\";s:19:\"https://shsec.io/41\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:387;s:4:\"name\";s:22:\"Security Admin Timeout\";s:7:\"summary\";s:63:\"Specify An Automatic Timeout Interval For Security Admin Access\";s:11:\"description\";s:133:\"This will automatically expire your Security Admin Session. Does not apply until you enter the access PIN again. Default: 60 minutes.\";}s:20:\"allow_email_override\";a:11:{s:3:\"key\";s:20:\"allow_email_override\";s:7:\"section\";s:31:\"section_security_admin_settings\";s:8:\"advanced\";b:1;s:7:\"default\";s:1:\"Y\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:19:\"https://shsec.io/gf\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:385;s:4:\"name\";s:20:\"Allow Email Override\";s:7:\"summary\";s:49:\"Allow Email Override Of Admin Access Restrictions\";s:11:\"description\";s:96:\"Allow the use of verification emails to override and switch off the Security Admin restrictions.\";}s:29:\"admin_access_restrict_options\";a:10:{s:3:\"key\";s:29:\"admin_access_restrict_options\";s:7:\"section\";s:38:\"section_admin_access_restriction_areas\";s:7:\"default\";s:1:\"Y\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:19:\"https://shsec.io/a0\";s:9:\"link_blog\";s:23:\"https://shsec.io/wpsf32\";s:9:\"beacon_id\";i:214;s:4:\"name\";s:7:\"Options\";s:7:\"summary\";s:56:\"Restrict Access To Key WordPress Posts And Pages Actions\";s:11:\"description\";s:140:\"Careful: This will restrict access to page/post creation, editing and deletion. Note: Selecting \'Edit\' will also restrict all other options.\";}s:33:\"admin_access_restrict_admin_users\";a:11:{s:3:\"key\";s:33:\"admin_access_restrict_admin_users\";s:7:\"section\";s:38:\"section_admin_access_restriction_areas\";s:8:\"advanced\";b:1;s:7:\"default\";s:1:\"N\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:19:\"https://shsec.io/a0\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:214;s:4:\"name\";s:11:\"Admin Users\";s:7:\"summary\";s:57:\"Restrict Access To Create/Delete/Modify Other Admin Users\";s:11:\"description\";s:127:\"Careful: This will restrict the ability of WordPress administrators from creating, modifying or promoting other administrators.\";}s:29:\"admin_access_restrict_plugins\";a:11:{s:3:\"key\";s:29:\"admin_access_restrict_plugins\";s:7:\"section\";s:38:\"section_admin_access_restriction_areas\";s:8:\"advanced\";b:1;s:4:\"type\";s:15:\"multiple_select\";s:7:\"default\";a:0:{}s:13:\"value_options\";a:4:{i:0;a:2:{s:9:\"value_key\";s:16:\"activate_plugins\";s:4:\"text\";s:8:\"Activate\";}i:1;a:2:{s:9:\"value_key\";s:15:\"install_plugins\";s:4:\"text\";s:7:\"Install\";}i:2;a:2:{s:9:\"value_key\";s:14:\"update_plugins\";s:4:\"text\";s:6:\"Update\";}i:3;a:2:{s:9:\"value_key\";s:14:\"delete_plugins\";s:4:\"text\";s:6:\"Delete\";}}s:9:\"link_info\";s:19:\"https://shsec.io/a0\";s:9:\"link_blog\";s:23:\"https://shsec.io/wpsf21\";s:9:\"beacon_id\";i:214;s:7:\"summary\";s:47:\"Restrict Access To Key WordPress Plugin Actions\";s:11:\"description\";s:156:\"Careful: This will restrict access to plugin installation, update, activation and deletion. Note: Selecting \'Activate\' will also restrict all other options.\";}s:28:\"admin_access_restrict_themes\";a:11:{s:3:\"key\";s:28:\"admin_access_restrict_themes\";s:7:\"section\";s:38:\"section_admin_access_restriction_areas\";s:8:\"advanced\";b:1;s:4:\"type\";s:15:\"multiple_select\";s:7:\"default\";a:0:{}s:13:\"value_options\";a:5:{i:0;a:2:{s:9:\"value_key\";s:13:\"switch_themes\";s:4:\"text\";s:8:\"Activate\";}i:1;a:2:{s:9:\"value_key\";s:18:\"edit_theme_options\";s:4:\"text\";s:18:\"Edit Theme Options\";}i:2;a:2:{s:9:\"value_key\";s:14:\"install_themes\";s:4:\"text\";s:7:\"Install\";}i:3;a:2:{s:9:\"value_key\";s:13:\"update_themes\";s:4:\"text\";s:6:\"Update\";}i:4;a:2:{s:9:\"value_key\";s:13:\"delete_themes\";s:4:\"text\";s:6:\"Delete\";}}s:9:\"link_info\";s:19:\"https://shsec.io/a0\";s:9:\"link_blog\";s:23:\"https://shsec.io/wpsf21\";s:9:\"beacon_id\";i:214;s:7:\"summary\";s:42:\"Restrict Access To WordPress Theme Actions\";s:11:\"description\";s:90:\"Careful: This will restrict access to theme installation, update, activation and deletion.\";}s:27:\"admin_access_restrict_posts\";a:11:{s:3:\"key\";s:27:\"admin_access_restrict_posts\";s:7:\"section\";s:38:\"section_admin_access_restriction_areas\";s:8:\"advanced\";b:1;s:4:\"type\";s:15:\"multiple_select\";s:7:\"default\";a:0:{}s:13:\"value_options\";a:3:{i:0;a:2:{s:9:\"value_key\";s:4:\"edit\";s:4:\"text\";s:11:\"Create/Edit\";}i:1;a:2:{s:9:\"value_key\";s:7:\"publish\";s:4:\"text\";s:7:\"Publish\";}i:2;a:2:{s:9:\"value_key\";s:6:\"delete\";s:4:\"text\";s:6:\"Delete\";}}s:9:\"link_info\";s:19:\"https://shsec.io/a0\";s:9:\"link_blog\";s:23:\"https://shsec.io/wpsf21\";s:9:\"beacon_id\";i:214;s:7:\"summary\";s:56:\"Restrict Access To Key WordPress Posts And Pages Actions\";s:11:\"description\";s:79:\"Careful: This will restrict access to page/post creation, editing and deletion.\";}s:17:\"whitelabel_enable\";a:11:{s:3:\"key\";s:17:\"whitelabel_enable\";s:7:\"section\";s:18:\"section_whitelabel\";s:7:\"premium\";b:1;s:7:\"default\";s:1:\"N\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:19:\"https://shsec.io/dr\";s:9:\"link_blog\";s:19:\"https://shsec.io/ds\";s:9:\"beacon_id\";i:131;s:4:\"name\";s:18:\"Enable White Label\";s:7:\"summary\";s:34:\"Activate Your White Label Settings\";s:11:\"description\";s:61:\"Use this option to turn on/off the whole White Label feature.\";}s:15:\"wl_hide_updates\";a:9:{s:3:\"key\";s:15:\"wl_hide_updates\";s:7:\"section\";s:18:\"section_whitelabel\";s:7:\"default\";s:1:\"Y\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:12:\"Hide Updates\";s:7:\"summary\";s:47:\"Hide Available Updates From Non Security Admins\";s:11:\"description\";s:66:\"Hides the availability of Shield updates from non-security admins.\";}s:20:\"wl_replace_badge_url\";a:9:{s:3:\"key\";s:20:\"wl_replace_badge_url\";s:7:\"section\";s:18:\"section_whitelabel\";s:7:\"default\";s:1:\"N\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:20:\"Replace Plugin Badge\";s:7:\"summary\";s:35:\"Replace Plugin Badge URL and Images\";s:11:\"description\";s:84:\"When using the plugin badge, replace the URL and link with your Whitelabel settings.\";}s:17:\"wl_pluginnamemain\";a:11:{s:3:\"key\";s:17:\"wl_pluginnamemain\";s:7:\"section\";s:18:\"section_whitelabel\";s:9:\"sensitive\";b:1;s:7:\"default\";s:6:\"Shield\";s:4:\"type\";s:4:\"text\";s:9:\"link_info\";s:19:\"https://shsec.io/dt\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:216;s:4:\"name\";s:11:\"Plugin Name\";s:7:\"summary\";s:22:\"The Name Of The Plugin\";s:11:\"description\";s:23:\"The Name Of The Plugin.\";}s:11:\"wl_namemenu\";a:10:{s:3:\"key\";s:11:\"wl_namemenu\";s:7:\"section\";s:18:\"section_whitelabel\";s:9:\"sensitive\";b:1;s:7:\"default\";s:15:\"Shield Security\";s:4:\"type\";s:4:\"text\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:10:\"Menu Title\";s:7:\"summary\";s:33:\"The Main Menu Title Of The Plugin\";s:11:\"description\";s:79:\"The Main Menu Title Of The Plugin. If left empty, the Plugin Name will be used.\";}s:14:\"wl_companyname\";a:11:{s:3:\"key\";s:14:\"wl_companyname\";s:7:\"section\";s:18:\"section_whitelabel\";s:9:\"sensitive\";b:1;s:7:\"default\";s:20:\"Example Company Name\";s:4:\"type\";s:4:\"text\";s:9:\"link_info\";s:19:\"https://shsec.io/dt\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:216;s:4:\"name\";s:12:\"Company Name\";s:7:\"summary\";s:24:\"The Name Of Your Company\";s:11:\"description\";s:33:\"Provide the name of your company.\";}s:14:\"wl_description\";a:10:{s:3:\"key\";s:14:\"wl_description\";s:7:\"section\";s:18:\"section_whitelabel\";s:9:\"sensitive\";b:1;s:7:\"default\";s:74:\"Secure Your Sites With The World\'s Most Powerful WordPress Security Plugin\";s:4:\"type\";s:4:\"text\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:15:\"Plugin Tag Line\";s:7:\"summary\";s:26:\"The Tag Line Of The Plugin\";s:11:\"description\";s:27:\"The Tag Line Of The Plugin.\";}s:10:\"wl_homeurl\";a:10:{s:3:\"key\";s:10:\"wl_homeurl\";s:7:\"section\";s:18:\"section_whitelabel\";s:9:\"sensitive\";b:1;s:7:\"default\";s:19:\"https://shsec.io/7f\";s:4:\"type\";s:4:\"text\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:8:\"Home URL\";s:7:\"summary\";s:20:\"Plugin Home Page URL\";s:11:\"description\";s:84:\"When a user clicks the home link for this plugin, this is where they\'ll be directed.\";}s:14:\"wl_menuiconurl\";a:11:{s:3:\"key\";s:14:\"wl_menuiconurl\";s:7:\"section\";s:18:\"section_whitelabel\";s:9:\"sensitive\";b:1;s:7:\"default\";s:20:\"pluginlogo_16x16.png\";s:4:\"type\";s:4:\"text\";s:9:\"link_info\";s:19:\"https://shsec.io/dt\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:216;s:4:\"name\";s:9:\"Menu Icon\";s:7:\"summary\";s:13:\"Menu Icon URL\";s:11:\"description\";s:42:\"The URL of the icon displayed in the menu.\";}s:19:\"wl_dashboardlogourl\";a:11:{s:3:\"key\";s:19:\"wl_dashboardlogourl\";s:7:\"section\";s:18:\"section_whitelabel\";s:9:\"sensitive\";b:1;s:7:\"default\";s:22:\"pluginlogo_128x128.png\";s:4:\"type\";s:4:\"text\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:216;s:4:\"name\";s:17:\"Plugin Badge Logo\";s:7:\"summary\";s:21:\"Plugin Badge Logo URL\";s:11:\"description\";s:72:\"The URL of the logo displayed in the main dashboard. Should be 128x128px\";}s:19:\"wl_login2fa_logourl\";a:10:{s:3:\"key\";s:19:\"wl_login2fa_logourl\";s:7:\"section\";s:18:\"section_whitelabel\";s:9:\"sensitive\";b:1;s:7:\"default\";s:29:\"pluginlogo_banner-772x250.png\";s:4:\"type\";s:4:\"text\";s:9:\"link_info\";s:19:\"https://shsec.io/dt\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:22:\"Dashboard and 2FA Logo\";s:7:\"summary\";s:26:\"Dashboard and 2FA Logo URL\";s:11:\"description\";s:72:\"The URL of the logo displayed in the main dashboard. Should be 128x128px\";}}s:11:\"definitions\";a:3:{s:22:\"restricted_pages_users\";a:2:{i:0;s:13:\"user-edit.php\";i:1;s:9:\"users.php\";}s:6:\"events\";a:2:{s:11:\"key_success\";a:2:{s:5:\"level\";s:5:\"debug\";s:6:\"recent\";b:1;}s:8:\"key_fail\";a:3:{s:5:\"level\";s:7:\"warning\";s:6:\"recent\";b:1;s:7:\"offense\";b:1;}}s:19:\"options_to_restrict\";a:4:{s:12:\"wpms_options\";a:3:{i:0;s:11:\"admin_email\";i:1;s:9:\"site_name\";i:2;s:12:\"registration\";}s:10:\"wpms_pages\";a:1:{i:0;s:12:\"settings.php\";}s:10:\"wp_options\";a:10:{i:0;s:8:\"blogname\";i:1;s:15:\"blogdescription\";i:2;s:7:\"siteurl\";i:3;s:4:\"home\";i:4;s:11:\"admin_email\";i:5;s:15:\"new_admin_email\";i:6;s:18:\"users_can_register\";i:7;s:15:\"comments_notify\";i:8;s:18:\"comment_moderation\";i:9;s:11:\"blog_public\";}s:8:\"wp_pages\";a:4:{i:0;s:19:\"options-general.php\";i:1;s:22:\"options-discussion.php\";i:2;s:19:\"options-reading.php\";i:3;s:11:\"options.php\";}}}s:4:\"meta\";a:1:{s:6:\"ts_mod\";i:1642655802;}}','no'),(261568,'_site_transient_timeout_shield_mod_config_ips','1644474206','no'),(261569,'_site_transient_shield_mod_config_ips','a:10:{s:4:\"slug\";s:3:\"ips\";s:10:\"properties\";a:14:{s:4:\"slug\";s:3:\"ips\";s:4:\"name\";s:22:\"Block Bad IPs/Visitors\";s:12:\"sidebar_name\";s:11:\"IP Blocking\";s:21:\"show_module_menu_item\";b:0;s:19:\"show_module_options\";b:1;s:11:\"storage_key\";s:3:\"ips\";s:7:\"tagline\";s:68:\"Automatically detect bots and malicious visitors and stop them dead.\";s:12:\"show_central\";b:1;s:17:\"access_restricted\";b:1;s:7:\"premium\";b:0;s:18:\"run_if_whitelisted\";b:1;s:19:\"run_if_verified_bot\";b:1;s:12:\"run_if_wpcli\";b:0;s:5:\"order\";i:100;}s:10:\"menu_items\";a:1:{i:0;a:2:{s:5:\"title\";s:10:\"IP Manager\";s:4:\"slug\";s:12:\"ips-redirect\";}}s:16:\"custom_redirects\";a:1:{i:0;a:3:{s:15:\"source_mod_page\";s:12:\"ips-redirect\";s:15:\"target_mod_page\";s:8:\"insights\";s:10:\"query_args\";a:1:{s:4:\"inav\";s:3:\"ips\";}}}s:13:\"admin_notices\";a:1:{s:19:\"visitor-whitelisted\";a:5:{s:2:\"id\";s:19:\"visitor-whitelisted\";s:8:\"schedule\";s:10:\"conditions\";s:16:\"plugin_page_only\";b:1;s:8:\"per_user\";b:1;s:4:\"type\";s:4:\"info\";}}s:12:\"requirements\";a:1:{s:3:\"php\";a:2:{s:9:\"functions\";a:1:{i:0;s:10:\"filter_var\";}s:9:\"constants\";a:5:{i:0;s:18:\"FILTER_VALIDATE_IP\";i:1;s:16:\"FILTER_FLAG_IPV4\";i:2;s:16:\"FILTER_FLAG_IPV6\";i:3;s:25:\"FILTER_FLAG_NO_PRIV_RANGE\";i:4;s:24:\"FILTER_FLAG_NO_RES_RANGE\";}}}s:8:\"sections\";a:8:{i:0;a:6:{s:4:\"slug\";s:23:\"section_auto_black_list\";s:7:\"primary\";b:1;s:5:\"title\";s:23:\"Automatic IP Black List\";s:11:\"title_short\";s:22:\"Auto IP Blocking Rules\";s:9:\"beacon_id\";i:208;s:7:\"summary\";a:2:{i:0;s:136:\"Purpose - The Automatic IP Black List system will block the IP addresses of naughty visitors after a specified number of transgressions.\";i:1;s:68:\"Recommendation - Keep the Automatic IP Black List feature turned on.\";}}i:1;a:3:{s:4:\"slug\";s:15:\"section_antibot\";s:5:\"title\";s:14:\"AntiBot System\";s:11:\"title_short\";s:14:\"AntiBot System\";}i:2;a:5:{s:4:\"slug\";s:14:\"section_logins\";s:5:\"title\";s:18:\"Capture Login Bots\";s:11:\"title_short\";s:10:\"Login Bots\";s:9:\"beacon_id\";i:122;s:7:\"summary\";a:1:{i:0;s:88:\"Recommendation - Enable to capture bots/spiders that don\'t honour \'nofollow\' directives.\";}}i:3;a:5:{s:4:\"slug\";s:14:\"section_probes\";s:5:\"title\";s:20:\"Capture Probing Bots\";s:11:\"title_short\";s:12:\"Probing Bots\";s:9:\"beacon_id\";i:123;s:7:\"summary\";a:1:{i:0;s:88:\"Recommendation - Enable to capture bots/spiders that don\'t honour \'nofollow\' directives.\";}}i:4;a:5:{s:4:\"slug\";s:18:\"section_behaviours\";s:5:\"title\";s:30:\"Identify Common Bot Behaviours\";s:11:\"title_short\";s:14:\"Bot Behaviours\";s:9:\"beacon_id\";i:124;s:7:\"summary\";a:1:{i:0;s:88:\"Recommendation - Enable to capture bots/spiders that don\'t honour \'nofollow\' directives.\";}}i:5;a:5:{s:4:\"slug\";s:21:\"section_user_messages\";s:5:\"title\";s:32:\"Customize Messages Shown To User\";s:11:\"title_short\";s:16:\"Visitor Messages\";s:9:\"beacon_id\";i:139;s:7:\"summary\";a:3:{i:0;s:51:\"Purpose - Customize the messages shown to visitors.\";i:1;s:70:\"Recommendation - Be sure to change the messages to suit your audience.\";i:2;s:75:\"Hint - To reset any message to its default, enter the text exactly: default\";}}i:6;a:4:{s:4:\"slug\";s:33:\"section_enable_plugin_feature_ips\";s:5:\"title\";s:25:\"Enable Module: IP Manager\";s:11:\"title_short\";s:14:\"Disable Module\";s:7:\"summary\";a:2:{i:0;s:95:\"Purpose - The IP Manager allows you to whitelist, blacklist and configure auto-blacklist rules.\";i:1;s:123:\"Recommendation - Keep the IP Manager feature turned on. You should also carefully review the automatic black list settings.\";}}i:7;a:2:{s:4:\"slug\";s:14:\"section_non_ui\";s:6:\"hidden\";b:1;}}s:7:\"options\";a:20:{s:10:\"enable_ips\";a:11:{s:3:\"key\";s:10:\"enable_ips\";s:7:\"section\";s:33:\"section_enable_plugin_feature_ips\";s:8:\"advanced\";b:1;s:7:\"default\";s:1:\"Y\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:19:\"https://shsec.io/ea\";s:9:\"link_blog\";s:23:\"https://shsec.io/wpsf26\";s:9:\"beacon_id\";i:208;s:4:\"name\";s:17:\"Enable IP Manager\";s:7:\"summary\";s:41:\"Enable (or Disable) The IP Manager module\";s:11:\"description\";s:69:\"Un-Checking this option will completely disable the IP Manager module\";}s:15:\"antibot_minimum\";a:12:{s:3:\"key\";s:15:\"antibot_minimum\";s:7:\"section\";s:15:\"section_antibot\";s:7:\"default\";i:45;s:4:\"type\";s:7:\"integer\";s:3:\"min\";i:0;s:3:\"max\";i:99;s:9:\"link_info\";s:19:\"https://shsec.io/jy\";s:9:\"link_blog\";s:19:\"https://shsec.io/jz\";s:9:\"beacon_id\";i:424;s:4:\"name\";s:17:\"AntiBot Threshold\";s:7:\"summary\";s:38:\"AntiBot Testing Threshold (Percentage)\";s:11:\"description\";s:94:\"When using Shield\'s AntiBot system, this is the threshold used for testing (between 1 and 99).\";}s:31:\"antibot_high_reputation_minimum\";a:11:{s:3:\"key\";s:31:\"antibot_high_reputation_minimum\";s:7:\"section\";s:15:\"section_antibot\";s:7:\"default\";i:200;s:4:\"type\";s:7:\"integer\";s:3:\"min\";i:0;s:9:\"link_info\";s:19:\"https://shsec.io/jy\";s:9:\"link_blog\";s:19:\"https://shsec.io/jz\";s:9:\"beacon_id\";i:431;s:4:\"name\";s:22:\"High Reputation Bypass\";s:7:\"summary\";s:67:\"Prevent IPs/Visitors With High Reputation Scores From Being Blocked\";s:11:\"description\";s:73:\"Ensures that visitors with a high reputation are never blocked by Shield.\";}s:12:\"force_notbot\";a:11:{s:3:\"key\";s:12:\"force_notbot\";s:7:\"section\";s:15:\"section_antibot\";s:8:\"advanced\";b:1;s:7:\"default\";s:1:\"Y\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:19:\"https://shsec.io/jy\";s:9:\"link_blog\";s:19:\"https://shsec.io/jz\";s:9:\"beacon_id\";i:448;s:4:\"name\";s:15:\"Force NotBot JS\";s:7:\"summary\";s:26:\"Force Loading Of NotBot JS\";s:11:\"description\";s:114:\"Use this option if you\'re using an aggressive caching plugin or system to ensure NotBot JS is loaded for visitors.\";}s:19:\"transgression_limit\";a:10:{s:3:\"key\";s:19:\"transgression_limit\";s:7:\"section\";s:23:\"section_auto_black_list\";s:7:\"default\";i:10;s:4:\"type\";s:7:\"integer\";s:9:\"link_info\";s:23:\"https://shsec.io/wpsf24\";s:9:\"link_blog\";s:23:\"https://shsec.io/wpsf26\";s:9:\"beacon_id\";i:207;s:4:\"name\";s:13:\"Offense Limit\";s:7:\"summary\";s:72:\"Visitor IP address will be Black Listed after X bad actions on your site\";s:11:\"description\";s:280:\"A black mark is set against an IP address each time a visitor trips the defenses of the Shield plugin. When the number of these offenses exceeds specified limit, they are automatically blocked from accessing the site. Set this to 0 to turn off the Automatic IP Black List feature.\";}s:11:\"auto_expire\";a:12:{s:3:\"key\";s:11:\"auto_expire\";s:7:\"section\";s:23:\"section_auto_black_list\";s:8:\"advanced\";b:1;s:7:\"default\";s:3:\"day\";s:4:\"type\";s:6:\"select\";s:13:\"value_options\";a:5:{i:0;a:2:{s:9:\"value_key\";s:6:\"minute\";s:4:\"text\";s:6:\"Minute\";}i:1;a:2:{s:9:\"value_key\";s:4:\"hour\";s:4:\"text\";s:4:\"Hour\";}i:2;a:2:{s:9:\"value_key\";s:3:\"day\";s:4:\"text\";s:3:\"Day\";}i:3;a:2:{s:9:\"value_key\";s:4:\"week\";s:4:\"text\";s:4:\"Week\";}i:4;a:2:{s:9:\"value_key\";s:5:\"month\";s:4:\"text\";s:5:\"Month\";}}s:9:\"link_info\";s:23:\"https://shsec.io/wpsf25\";s:9:\"link_blog\";s:23:\"https://shsec.io/wpsf26\";s:9:\"beacon_id\";i:210;s:4:\"name\";s:21:\"Auto Block Expiration\";s:7:\"summary\";s:65:\"After 1 \'X\' a black listed IP will be removed from the black list\";s:11:\"description\";s:249:\"Permanent and lengthy IP Black Lists are harmful to performance. You should allow IP addresses on the black list to be eventually removed over time. Shorter IP black lists are more efficient and a more intelligent use of an IP-based blocking system.\";}s:17:\"user_auto_recover\";a:13:{s:3:\"key\";s:17:\"user_auto_recover\";s:7:\"section\";s:23:\"section_auto_black_list\";s:8:\"advanced\";b:1;s:7:\"premium\";b:1;s:7:\"default\";a:0:{}s:4:\"type\";s:15:\"multiple_select\";s:13:\"value_options\";a:2:{i:0;a:2:{s:9:\"value_key\";s:4:\"gasp\";s:4:\"text\";s:26:\"With Shield Bot Protection\";}i:1;a:2:{s:9:\"value_key\";s:5:\"email\";s:4:\"text\";s:44:\"Magic Email Links To Unblock Logged-In Users\";}}s:9:\"link_info\";s:19:\"https://shsec.io/f8\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:125;s:4:\"name\";s:17:\"User Auto Unblock\";s:7:\"summary\";s:34:\"Allow Visitors To Unblock Their IP\";s:11:\"description\";s:73:\"Allow visitors blocked by the plugin to automatically unblock themselves.\";}s:17:\"request_whitelist\";a:12:{s:3:\"key\";s:17:\"request_whitelist\";s:7:\"section\";s:23:\"section_auto_black_list\";s:8:\"advanced\";b:1;s:7:\"premium\";b:1;s:7:\"default\";a:0:{}s:4:\"type\";s:5:\"array\";s:9:\"link_info\";s:19:\"https://shsec.io/gd\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:126;s:4:\"name\";s:22:\"Request Path Whitelist\";s:7:\"summary\";s:22:\"Request Path Whitelist\";s:11:\"description\";s:23:\"Request Path Whitelist.\";}s:16:\"text_loginfailed\";a:12:{s:3:\"key\";s:16:\"text_loginfailed\";s:7:\"section\";s:21:\"section_user_messages\";s:9:\"sensitive\";b:1;s:7:\"premium\";b:1;s:7:\"default\";s:7:\"default\";s:4:\"type\";s:4:\"text\";s:9:\"link_info\";s:19:\"https://shsec.io/e8\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:139;s:4:\"name\";s:12:\"Login Failed\";s:7:\"summary\";s:62:\"Visitor Triggers The IP Offenses System Through A Failed Login\";s:11:\"description\";s:63:\"This message is displayed if the visitor fails a login attempt.\";}s:9:\"track_404\";a:12:{s:3:\"key\";s:9:\"track_404\";s:7:\"section\";s:14:\"section_probes\";s:7:\"premium\";b:1;s:7:\"default\";s:3:\"log\";s:4:\"type\";s:6:\"select\";s:13:\"value_options\";a:5:{i:0;a:2:{s:9:\"value_key\";s:8:\"disabled\";s:4:\"text\";s:8:\"Disabled\";}i:1;a:2:{s:9:\"value_key\";s:3:\"log\";s:4:\"text\";s:14:\"Audit Log Only\";}i:2;a:2:{s:9:\"value_key\";s:20:\"transgression-single\";s:4:\"text\";s:25:\"Increment Offense Counter\";}i:3;a:2:{s:9:\"value_key\";s:20:\"transgression-double\";s:4:\"text\";s:32:\"Double-Increment Offense Counter\";}i:4;a:2:{s:9:\"value_key\";s:5:\"block\";s:4:\"text\";s:15:\"Immediate Block\";}}s:9:\"link_info\";s:19:\"https://shsec.io/fo\";s:9:\"link_blog\";s:19:\"https://shsec.io/f7\";s:9:\"beacon_id\";i:123;s:4:\"name\";s:10:\"404 Detect\";s:7:\"summary\";s:33:\"Identify A Bot When It Hits A 404\";s:11:\"description\";s:53:\"Detect When A Visitor Browses To A Non-Existent Page.\";}s:16:\"track_linkcheese\";a:12:{s:3:\"key\";s:16:\"track_linkcheese\";s:7:\"section\";s:14:\"section_probes\";s:7:\"premium\";b:1;s:7:\"default\";s:8:\"disabled\";s:4:\"type\";s:6:\"select\";s:13:\"value_options\";a:5:{i:0;a:2:{s:9:\"value_key\";s:8:\"disabled\";s:4:\"text\";s:8:\"Disabled\";}i:1;a:2:{s:9:\"value_key\";s:3:\"log\";s:4:\"text\";s:14:\"Audit Log Only\";}i:2;a:2:{s:9:\"value_key\";s:20:\"transgression-single\";s:4:\"text\";s:25:\"Increment Offense Counter\";}i:3;a:2:{s:9:\"value_key\";s:20:\"transgression-double\";s:4:\"text\";s:32:\"Double-Increment Offense Counter\";}i:4;a:2:{s:9:\"value_key\";s:5:\"block\";s:4:\"text\";s:15:\"Immediate Block\";}}s:9:\"link_info\";s:19:\"https://shsec.io/fo\";s:9:\"link_blog\";s:19:\"https://shsec.io/f6\";s:9:\"beacon_id\";i:123;s:4:\"name\";s:11:\"Link Cheese\";s:7:\"summary\";s:38:\"Tempt A Bot With A Fake Link To Follow\";s:11:\"description\";s:45:\"Detect A Bot That Follows A \'no-follow\' Link.\";}s:12:\"track_xmlrpc\";a:12:{s:3:\"key\";s:12:\"track_xmlrpc\";s:7:\"section\";s:14:\"section_probes\";s:7:\"premium\";b:1;s:7:\"default\";s:3:\"log\";s:4:\"type\";s:6:\"select\";s:13:\"value_options\";a:5:{i:0;a:2:{s:9:\"value_key\";s:8:\"disabled\";s:4:\"text\";s:8:\"Disabled\";}i:1;a:2:{s:9:\"value_key\";s:3:\"log\";s:4:\"text\";s:14:\"Audit Log Only\";}i:2;a:2:{s:9:\"value_key\";s:20:\"transgression-single\";s:4:\"text\";s:25:\"Increment Offense Counter\";}i:3;a:2:{s:9:\"value_key\";s:20:\"transgression-double\";s:4:\"text\";s:32:\"Double-Increment Offense Counter\";}i:4;a:2:{s:9:\"value_key\";s:5:\"block\";s:4:\"text\";s:15:\"Immediate Block\";}}s:9:\"link_info\";s:19:\"https://shsec.io/fo\";s:9:\"link_blog\";s:19:\"https://shsec.io/f7\";s:9:\"beacon_id\";i:123;s:4:\"name\";s:14:\"XML-RPC Access\";s:7:\"summary\";s:39:\"Identify A Bot When It Accesses XML-RPC\";s:11:\"description\";s:53:\"If you don\'t use XML-RPC, why would anyone access it?\";}s:19:\"track_invalidscript\";a:12:{s:3:\"key\";s:19:\"track_invalidscript\";s:7:\"section\";s:14:\"section_probes\";s:7:\"premium\";b:1;s:7:\"default\";s:3:\"log\";s:4:\"type\";s:6:\"select\";s:13:\"value_options\";a:5:{i:0;a:2:{s:9:\"value_key\";s:8:\"disabled\";s:4:\"text\";s:8:\"Disabled\";}i:1;a:2:{s:9:\"value_key\";s:3:\"log\";s:4:\"text\";s:14:\"Audit Log Only\";}i:2;a:2:{s:9:\"value_key\";s:20:\"transgression-single\";s:4:\"text\";s:25:\"Increment Offense Counter\";}i:3;a:2:{s:9:\"value_key\";s:20:\"transgression-double\";s:4:\"text\";s:32:\"Double-Increment Offense Counter\";}i:4;a:2:{s:9:\"value_key\";s:5:\"block\";s:4:\"text\";s:15:\"Immediate Block\";}}s:9:\"link_info\";s:19:\"https://shsec.io/fo\";s:9:\"link_blog\";s:19:\"https://shsec.io/f7\";s:9:\"beacon_id\";i:123;s:4:\"name\";s:19:\"Invalid Script Load\";s:7:\"summary\";s:63:\"Identify A Bot Attempts To Load WordPress In A Non-Standard Way\";s:11:\"description\";s:60:\"WordPress should only be loaded in a limited number of ways.\";}s:17:\"track_loginfailed\";a:11:{s:3:\"key\";s:17:\"track_loginfailed\";s:7:\"section\";s:14:\"section_logins\";s:7:\"default\";s:20:\"transgression-single\";s:4:\"type\";s:6:\"select\";s:13:\"value_options\";a:5:{i:0;a:2:{s:9:\"value_key\";s:8:\"disabled\";s:4:\"text\";s:8:\"Disabled\";}i:1;a:2:{s:9:\"value_key\";s:3:\"log\";s:4:\"text\";s:14:\"Audit Log Only\";}i:2;a:2:{s:9:\"value_key\";s:20:\"transgression-single\";s:4:\"text\";s:25:\"Increment Offense Counter\";}i:3;a:2:{s:9:\"value_key\";s:20:\"transgression-double\";s:4:\"text\";s:32:\"Double-Increment Offense Counter\";}i:4;a:2:{s:9:\"value_key\";s:5:\"block\";s:4:\"text\";s:15:\"Immediate Block\";}}s:9:\"link_info\";s:19:\"https://shsec.io/fn\";s:9:\"link_blog\";s:19:\"https://shsec.io/f7\";s:9:\"beacon_id\";i:122;s:4:\"name\";s:12:\"Failed Login\";s:7:\"summary\";s:47:\"Detect Failed Login Attempts By Valid Usernames\";s:11:\"description\";s:61:\"Penalise a visitor who fails to login using a valid username.\";}s:18:\"track_logininvalid\";a:12:{s:3:\"key\";s:18:\"track_logininvalid\";s:7:\"section\";s:14:\"section_logins\";s:7:\"premium\";b:1;s:7:\"default\";s:3:\"log\";s:4:\"type\";s:6:\"select\";s:13:\"value_options\";a:5:{i:0;a:2:{s:9:\"value_key\";s:8:\"disabled\";s:4:\"text\";s:8:\"Disabled\";}i:1;a:2:{s:9:\"value_key\";s:3:\"log\";s:4:\"text\";s:14:\"Audit Log Only\";}i:2;a:2:{s:9:\"value_key\";s:20:\"transgression-single\";s:4:\"text\";s:25:\"Increment Offense Counter\";}i:3;a:2:{s:9:\"value_key\";s:20:\"transgression-double\";s:4:\"text\";s:32:\"Double-Increment Offense Counter\";}i:4;a:2:{s:9:\"value_key\";s:5:\"block\";s:4:\"text\";s:15:\"Immediate Block\";}}s:9:\"link_info\";s:19:\"https://shsec.io/fn\";s:9:\"link_blog\";s:19:\"https://shsec.io/f7\";s:9:\"beacon_id\";i:122;s:4:\"name\";s:17:\"Invalid Usernames\";s:7:\"summary\";s:30:\"Detect Invalid Username Logins\";s:11:\"description\";s:67:\"Identify A Bot When It Tries To Login With A Non-Existent Username.\";}s:20:\"track_fakewebcrawler\";a:12:{s:3:\"key\";s:20:\"track_fakewebcrawler\";s:7:\"section\";s:18:\"section_behaviours\";s:7:\"premium\";b:1;s:7:\"default\";s:3:\"log\";s:4:\"type\";s:6:\"select\";s:13:\"value_options\";a:5:{i:0;a:2:{s:9:\"value_key\";s:8:\"disabled\";s:4:\"text\";s:8:\"Disabled\";}i:1;a:2:{s:9:\"value_key\";s:3:\"log\";s:4:\"text\";s:14:\"Audit Log Only\";}i:2;a:2:{s:9:\"value_key\";s:20:\"transgression-single\";s:4:\"text\";s:25:\"Increment Offense Counter\";}i:3;a:2:{s:9:\"value_key\";s:20:\"transgression-double\";s:4:\"text\";s:32:\"Double-Increment Offense Counter\";}i:4;a:2:{s:9:\"value_key\";s:5:\"block\";s:4:\"text\";s:15:\"Immediate Block\";}}s:9:\"link_info\";s:19:\"https://shsec.io/f5\";s:9:\"link_blog\";s:19:\"https://shsec.io/f7\";s:9:\"beacon_id\";i:206;s:4:\"name\";s:16:\"Fake Web Crawler\";s:7:\"summary\";s:34:\"Detect Fake Search Engine Crawlers\";s:11:\"description\";s:89:\"Identify a Bot when it presents as an official web crawler, but analysis shows it\'s fake.\";}s:15:\"track_useragent\";a:12:{s:3:\"key\";s:15:\"track_useragent\";s:7:\"section\";s:18:\"section_behaviours\";s:7:\"premium\";b:1;s:7:\"default\";s:3:\"log\";s:4:\"type\";s:6:\"select\";s:13:\"value_options\";a:5:{i:0;a:2:{s:9:\"value_key\";s:8:\"disabled\";s:4:\"text\";s:8:\"Disabled\";}i:1;a:2:{s:9:\"value_key\";s:3:\"log\";s:4:\"text\";s:14:\"Audit Log Only\";}i:2;a:2:{s:9:\"value_key\";s:20:\"transgression-single\";s:4:\"text\";s:25:\"Increment Offense Counter\";}i:3;a:2:{s:9:\"value_key\";s:20:\"transgression-double\";s:4:\"text\";s:32:\"Double-Increment Offense Counter\";}i:4;a:2:{s:9:\"value_key\";s:5:\"block\";s:4:\"text\";s:15:\"Immediate Block\";}}s:9:\"link_info\";s:19:\"https://shsec.io/fi\";s:9:\"link_blog\";s:19:\"https://shsec.io/f7\";s:9:\"beacon_id\";i:124;s:4:\"name\";s:17:\"Empty User Agents\";s:7:\"summary\";s:38:\"Detect Requests With Empty User Agents\";s:11:\"description\";s:62:\"Identify a request as a bot if the user agent is not provided.\";}s:19:\"text_remainingtrans\";a:12:{s:3:\"key\";s:19:\"text_remainingtrans\";s:7:\"section\";s:21:\"section_user_messages\";s:9:\"sensitive\";b:1;s:7:\"premium\";b:1;s:7:\"default\";s:7:\"default\";s:4:\"type\";s:4:\"text\";s:9:\"link_info\";s:19:\"https://shsec.io/e9\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:139;s:4:\"name\";s:18:\"Remaining Offenses\";s:7:\"summary\";s:64:\"Visitor Triggers The IP Offenses System Through A Firewall Block\";s:11:\"description\";s:132:\"This message is displayed if the visitor triggered the IP Offenses system and reports how many offenses remain before being blocked.\";}s:15:\"autounblock_ips\";a:5:{s:3:\"key\";s:15:\"autounblock_ips\";s:7:\"section\";s:14:\"section_non_ui\";s:12:\"transferable\";b:0;s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:20:\"autounblock_emailids\";a:5:{s:3:\"key\";s:20:\"autounblock_emailids\";s:7:\"section\";s:14:\"section_non_ui\";s:12:\"transferable\";b:0;s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}}s:11:\"definitions\";a:7:{s:18:\"allowable_ext_404s\";a:10:{i:0;s:2:\"js\";i:1;s:3:\"css\";i:2;s:3:\"gif\";i:3;s:3:\"jpg\";i:4;s:4:\"jpeg\";i:5;s:3:\"png\";i:6;s:3:\"map\";i:7;s:3:\"ttf\";i:8;s:4:\"woff\";i:9;s:5:\"woff2\";}s:18:\"db_handler_classes\";a:1:{s:9:\"botsignal\";s:77:\"\\FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\IPs\\DB\\BotSignal\\Ops\\Handler\";}s:18:\"db_table_botsignal\";a:5:{s:10:\"autoexpire\";i:0;s:4:\"slug\";s:9:\"botsignal\";s:14:\"has_updated_at\";b:1;s:14:\"col_older_than\";s:10:\"updated_at\";s:11:\"cols_custom\";a:26:{s:6:\"ip_ref\";a:2:{s:10:\"macro_type\";s:14:\"foreign_key_id\";s:11:\"foreign_key\";a:1:{s:9:\"ref_table\";s:13:\"icwp_wpsf_ips\";}}s:9:\"notbot_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:6:\"NotBot\";}s:12:\"frontpage_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:24:\"Any Frontend Page Loaded\";}s:12:\"loginpage_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:17:\"Login Page Loaded\";}s:8:\"bt404_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:12:\"BotTrack 404\";}s:9:\"btfake_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:23:\"BotTrack FakeWebCrawler\";}s:11:\"btcheese_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:19:\"BotTrack LinkCheese\";}s:14:\"btloginfail_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:20:\"BotTrack LoginFailed\";}s:7:\"btua_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:23:\"BotTrack Useragent Fail\";}s:8:\"btxml_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:22:\"BotTrack XMLRPC Access\";}s:17:\"btlogininvalid_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:21:\"BotTrack LoginInvalid\";}s:18:\"btinvalidscript_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:22:\"BotTrack InvalidScript\";}s:11:\"cooldown_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:18:\"Cooldown Triggered\";}s:12:\"humanspam_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:28:\"Comment Marked As Human SPAM\";}s:11:\"markspam_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:20:\"Mark Comment As SPAM\";}s:13:\"unmarkspam_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:22:\"Unmark Comment As SPAM\";}s:14:\"captchapass_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:14:\"Captcha Passed\";}s:14:\"captchafail_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:14:\"Captcha Failed\";}s:7:\"auth_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:16:\"Successful Login\";}s:11:\"firewall_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:18:\"Triggered Firewall\";}s:12:\"ratelimit_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:19:\"Rate Limit Exceeded\";}s:10:\"offense_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:12:\"Last Offense\";}s:10:\"blocked_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:10:\"Last Block\";}s:12:\"unblocked_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:9:\"Unblocked\";}s:9:\"bypass_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:6:\"Bypass\";}s:9:\"snsent_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:17:\"Sent To ShieldNET\";}}}s:10:\"db_classes\";a:1:{s:8:\"ip_lists\";s:62:\"\\FernleafSystems\\Wordpress\\Plugin\\Shield\\Databases\\IPs\\Handler\";}s:19:\"ip_lists_table_name\";s:8:\"ip_lists\";s:17:\"db_table_ip_lists\";a:3:{s:4:\"slug\";s:8:\"ip_lists\";s:11:\"cols_custom\";a:6:{s:2:\"ip\";s:76:\"varchar(60) NOT NULL DEFAULT \'\' COMMENT \'Human readable IP address or range\'\";s:5:\"label\";s:54:\"varchar(255) NOT NULL DEFAULT \'\' COMMENT \'Description\'\";s:4:\"list\";s:56:\"varchar(4) NOT NULL DEFAULT \'\' COMMENT \'Block or Bypass\'\";s:3:\"ip6\";s:56:\"tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT \'Is IPv6\'\";s:8:\"is_range\";s:57:\"tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT \'Is Range\'\";s:14:\"transgressions\";s:60:\"int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT \'Total Offenses\'\";}s:15:\"cols_timestamps\";a:2:{s:14:\"last_access_at\";s:17:\"Last Access By IP\";s:10:\"blocked_at\";s:10:\"IP Blocked\";}}s:6:\"events\";a:21:{s:14:\"custom_offense\";a:2:{s:12:\"audit_params\";a:1:{i:0;s:7:\"message\";}s:7:\"offense\";b:1;}s:9:\"conn_kill\";a:2:{s:5:\"level\";s:7:\"warning\";s:15:\"audit_countable\";b:1;}s:22:\"conn_not_kill_high_rep\";a:1:{s:5:\"level\";s:5:\"debug\";}s:10:\"ip_offense\";a:2:{s:5:\"level\";s:7:\"warning\";s:12:\"audit_params\";a:2:{i:0;s:4:\"from\";i:1;s:2:\"to\";}}s:10:\"ip_blocked\";a:2:{s:12:\"audit_params\";a:2:{i:0;s:4:\"from\";i:1;s:2:\"to\";}s:5:\"level\";s:5:\"alert\";}s:10:\"ip_unblock\";a:3:{s:5:\"level\";s:6:\"notice\";s:7:\"offense\";b:0;s:4:\"stat\";b:0;}s:13:\"ip_block_auto\";a:4:{s:12:\"audit_params\";a:1:{i:0;s:2:\"ip\";}s:5:\"level\";s:5:\"alert\";s:7:\"offense\";b:0;s:4:\"stat\";b:0;}s:15:\"ip_block_manual\";a:4:{s:12:\"audit_params\";a:1:{i:0;s:2:\"ip\";}s:5:\"level\";s:5:\"alert\";s:7:\"offense\";b:0;s:4:\"stat\";b:0;}s:13:\"ip_bypass_add\";a:4:{s:12:\"audit_params\";a:1:{i:0;s:2:\"ip\";}s:5:\"level\";s:5:\"alert\";s:7:\"offense\";b:0;s:4:\"stat\";b:0;}s:16:\"ip_bypass_remove\";a:4:{s:12:\"audit_params\";a:1:{i:0;s:2:\"ip\";}s:5:\"level\";s:5:\"alert\";s:7:\"offense\";b:0;s:4:\"stat\";b:0;}s:15:\"ip_unblock_flag\";a:2:{s:12:\"audit_params\";a:1:{i:0;s:2:\"ip\";}s:5:\"level\";s:5:\"alert\";}s:15:\"bottrack_notbot\";a:3:{s:7:\"offense\";b:0;s:4:\"stat\";b:0;s:5:\"level\";s:5:\"debug\";}s:12:\"bottrack_404\";a:2:{s:12:\"audit_params\";a:1:{i:0;s:4:\"path\";}s:7:\"offense\";b:1;}s:23:\"bottrack_fakewebcrawler\";a:2:{s:12:\"audit_params\";a:2:{i:0;s:4:\"path\";i:1;s:7:\"crawler\";}s:7:\"offense\";b:1;}s:19:\"bottrack_linkcheese\";a:2:{s:12:\"audit_params\";a:1:{i:0;s:4:\"path\";}s:7:\"offense\";b:1;}s:20:\"bottrack_loginfailed\";a:3:{s:12:\"audit_params\";a:1:{i:0;s:10:\"user_login\";}s:5:\"level\";s:5:\"alert\";s:7:\"offense\";b:1;}s:21:\"bottrack_logininvalid\";a:3:{s:12:\"audit_params\";a:1:{i:0;s:10:\"user_login\";}s:5:\"level\";s:5:\"alert\";s:7:\"offense\";b:1;}s:15:\"bottrack_xmlrpc\";a:2:{s:12:\"audit_params\";a:1:{i:0;s:4:\"path\";}s:7:\"offense\";b:1;}s:22:\"bottrack_invalidscript\";a:2:{s:12:\"audit_params\";a:1:{i:0;s:6:\"script\";}s:7:\"offense\";b:1;}s:16:\"comment_markspam\";a:2:{s:5:\"level\";s:6:\"notice\";s:7:\"offense\";b:1;}s:18:\"comment_unmarkspam\";a:3:{s:5:\"level\";s:4:\"info\";s:7:\"offense\";b:0;s:4:\"stat\";b:0;}}}s:4:\"meta\";a:1:{s:6:\"ts_mod\";i:1642655802;}}','no'),(261570,'_site_transient_timeout_shield_mod_config_audit_trail','1644474206','no'),(261571,'_site_transient_shield_mod_config_audit_trail','a:9:{s:4:\"slug\";s:11:\"audit_trail\";s:10:\"properties\";a:14:{s:4:\"slug\";s:11:\"audit_trail\";s:4:\"name\";s:11:\"Audit Trail\";s:12:\"sidebar_name\";s:11:\"Audit Trail\";s:21:\"show_module_menu_item\";b:0;s:19:\"show_module_options\";b:1;s:11:\"storage_key\";s:11:\"audit_trail\";s:7:\"tagline\";s:50:\"Track All Site Activity: Who, What, When and Where\";s:12:\"show_central\";b:1;s:17:\"access_restricted\";b:1;s:7:\"premium\";b:0;s:18:\"run_if_whitelisted\";b:1;s:19:\"run_if_verified_bot\";b:0;s:12:\"run_if_wpcli\";b:1;s:5:\"order\";i:110;}s:10:\"menu_items\";a:1:{i:0;a:2:{s:5:\"title\";s:11:\"Audit Trail\";s:4:\"slug\";s:14:\"audit-redirect\";}}s:16:\"custom_redirects\";a:1:{i:0;a:3:{s:15:\"source_mod_page\";s:14:\"audit-redirect\";s:15:\"target_mod_page\";s:8:\"insights\";s:10:\"query_args\";a:1:{s:4:\"inav\";s:11:\"audit_trail\";}}}s:13:\"admin_notices\";a:1:{s:15:\"new-audit-trail\";a:6:{s:2:\"id\";s:15:\"new-audit-trail\";s:8:\"schedule\";s:10:\"conditions\";s:11:\"valid_admin\";b:1;s:16:\"plugin_page_only\";b:1;s:11:\"can_dismiss\";b:1;s:4:\"type\";s:4:\"info\";}}s:8:\"sections\";a:4:{i:0;a:6:{s:4:\"slug\";s:15:\"section_localdb\";s:7:\"primary\";b:1;s:5:\"title\";s:9:\"Log To DB\";s:11:\"title_short\";s:9:\"Log To DB\";s:9:\"beacon_id\";i:241;s:7:\"summary\";a:2:{i:0;s:61:\"Purpose - Provides finer control over the audit trail itself.\";i:1;s:67:\"Recommendation - These settings are dependent on your requirements.\";}}i:1;a:5:{s:4:\"slug\";s:15:\"section_at_file\";s:5:\"title\";s:11:\"Log To File\";s:11:\"title_short\";s:11:\"Log To File\";s:9:\"beacon_id\";i:241;s:7:\"summary\";a:2:{i:0;s:61:\"Purpose - Provides finer control over the audit trail itself.\";i:1;s:67:\"Recommendation - These settings are dependent on your requirements.\";}}i:2;a:5:{s:4:\"slug\";s:41:\"section_enable_plugin_feature_audit_trail\";s:5:\"title\";s:26:\"Enable Module: Audit Trail\";s:11:\"title_short\";s:14:\"Disable Module\";s:9:\"beacon_id\";i:241;s:7:\"summary\";a:2:{i:0;s:124:\"Purpose - The Audit Trail is designed so you can look back on events and analyse what happened and what may have gone wrong.\";i:1;s:56:\"Recommendation - Keep the Audit Trail feature turned on.\";}}i:3;a:2:{s:4:\"slug\";s:14:\"section_non_ui\";s:6:\"hidden\";b:1;}}s:7:\"options\";a:4:{s:18:\"enable_audit_trail\";a:11:{s:3:\"key\";s:18:\"enable_audit_trail\";s:7:\"section\";s:41:\"section_enable_plugin_feature_audit_trail\";s:8:\"advanced\";b:1;s:7:\"default\";s:1:\"Y\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:19:\"https://shsec.io/5p\";s:9:\"link_blog\";s:19:\"https://shsec.io/a1\";s:9:\"beacon_id\";i:241;s:4:\"name\";s:18:\"Enable Audit Trail\";s:7:\"summary\";s:42:\"Enable (or Disable) The Audit Trail module\";s:11:\"description\";s:70:\"Un-Checking this option will completely disable the Audit Trail module\";}s:12:\"log_level_db\";a:11:{s:3:\"key\";s:12:\"log_level_db\";s:7:\"section\";s:15:\"section_localdb\";s:4:\"type\";s:15:\"multiple_select\";s:7:\"default\";a:3:{i:0;s:5:\"alert\";i:1;s:7:\"warning\";i:2;s:6:\"notice\";}s:13:\"value_options\";a:6:{i:0;a:2:{s:9:\"value_key\";s:8:\"disabled\";s:4:\"text\";s:16:\"Logging Disabled\";}i:1;a:2:{s:9:\"value_key\";s:5:\"alert\";s:4:\"text\";s:5:\"Alert\";}i:2;a:2:{s:9:\"value_key\";s:7:\"warning\";s:4:\"text\";s:7:\"Warning\";}i:3;a:2:{s:9:\"value_key\";s:6:\"notice\";s:4:\"text\";s:6:\"Notice\";}i:4;a:2:{s:9:\"value_key\";s:4:\"info\";s:4:\"text\";s:4:\"Info\";}i:5;a:2:{s:9:\"value_key\";s:5:\"debug\";s:4:\"text\";s:5:\"Debug\";}}s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:375;s:4:\"name\";s:13:\"Logging Level\";s:7:\"summary\";s:31:\"Logging Level For DB-Based Logs\";s:11:\"description\";s:31:\"Logging Level For DB-Based Logs\";}s:22:\"audit_trail_auto_clean\";a:11:{s:3:\"key\";s:22:\"audit_trail_auto_clean\";s:7:\"section\";s:15:\"section_localdb\";s:7:\"default\";i:7;s:3:\"min\";i:1;s:4:\"type\";s:7:\"integer\";s:9:\"link_info\";s:19:\"https://shsec.io/a2\";s:9:\"link_blog\";s:19:\"https://shsec.io/a1\";s:9:\"beacon_id\";i:375;s:4:\"name\";s:10:\"Auto Clean\";s:7:\"summary\";s:26:\"Enable Audit Auto Cleaning\";s:11:\"description\";s:94:\"Events older than the number of days specified will be automatically cleaned from the database\";}s:14:\"log_level_file\";a:12:{s:3:\"key\";s:14:\"log_level_file\";s:7:\"section\";s:15:\"section_at_file\";s:7:\"premium\";b:1;s:4:\"type\";s:15:\"multiple_select\";s:7:\"default\";a:1:{i:0;s:8:\"disabled\";}s:13:\"value_options\";a:7:{i:0;a:2:{s:9:\"value_key\";s:8:\"disabled\";s:4:\"text\";s:16:\"Logging Disabled\";}i:1;a:2:{s:9:\"value_key\";s:10:\"same_as_db\";s:4:\"text\";s:10:\"Same As DB\";}i:2;a:2:{s:9:\"value_key\";s:5:\"alert\";s:4:\"text\";s:5:\"Alert\";}i:3;a:2:{s:9:\"value_key\";s:7:\"warning\";s:4:\"text\";s:7:\"Warning\";}i:4;a:2:{s:9:\"value_key\";s:6:\"notice\";s:4:\"text\";s:6:\"Notice\";}i:5;a:2:{s:9:\"value_key\";s:4:\"info\";s:4:\"text\";s:4:\"Info\";}i:6;a:2:{s:9:\"value_key\";s:5:\"debug\";s:4:\"text\";s:5:\"Debug\";}}s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:375;s:4:\"name\";s:18:\"File Logging Level\";s:7:\"summary\";s:33:\"Logging Level For File-Based Logs\";s:11:\"description\";s:33:\"Logging Level For File-Based Logs\";}}s:11:\"definitions\";a:5:{s:18:\"db_handler_classes\";a:2:{s:7:\"at_logs\";s:79:\"\\FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\AuditTrail\\DB\\Logs\\Ops\\Handler\";s:7:\"at_meta\";s:79:\"\\FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\AuditTrail\\DB\\Meta\\Ops\\Handler\";}s:16:\"db_table_at_logs\";a:5:{s:4:\"slug\";s:7:\"at_logs\";s:14:\"has_updated_at\";b:1;s:14:\"has_created_at\";b:1;s:14:\"has_deleted_at\";b:0;s:11:\"cols_custom\";a:3:{s:7:\"req_ref\";a:2:{s:10:\"macro_type\";s:14:\"foreign_key_id\";s:11:\"foreign_key\";a:1:{s:9:\"ref_table\";s:18:\"icwp_wpsf_req_logs\";}}s:7:\"site_id\";a:3:{s:10:\"macro_type\";s:12:\"unsigned_int\";s:7:\"default\";i:1;s:7:\"comment\";s:7:\"Site ID\";}s:10:\"event_slug\";a:2:{s:10:\"macro_type\";s:7:\"varchar\";s:7:\"comment\";s:10:\"Event Slug\";}}}s:16:\"db_table_at_meta\";a:5:{s:4:\"slug\";s:7:\"at_meta\";s:14:\"has_updated_at\";b:0;s:14:\"has_created_at\";b:0;s:14:\"has_deleted_at\";b:0;s:11:\"cols_custom\";a:3:{s:7:\"log_ref\";a:3:{s:10:\"macro_type\";s:14:\"foreign_key_id\";s:11:\"foreign_key\";a:1:{s:9:\"ref_table\";s:17:\"icwp_wpsf_at_logs\";}s:7:\"comment\";s:30:\"Reference to primary log entry\";}s:8:\"meta_key\";a:3:{s:10:\"macro_type\";s:7:\"varchar\";s:6:\"length\";i:32;s:7:\"comment\";s:8:\"Meta Key\";}s:10:\"meta_value\";a:2:{s:10:\"macro_type\";s:4:\"text\";s:7:\"comment\";s:9:\"Meta Data\";}}}s:13:\"max_free_days\";i:7;s:6:\"events\";a:21:{s:16:\"plugin_activated\";a:3:{s:12:\"audit_params\";a:1:{i:0;s:6:\"plugin\";}s:5:\"level\";s:6:\"notice\";s:14:\"audit_multiple\";b:1;}s:18:\"plugin_deactivated\";a:3:{s:12:\"audit_params\";a:1:{i:0;s:6:\"plugin\";}s:5:\"level\";s:6:\"notice\";s:14:\"audit_multiple\";b:1;}s:18:\"plugin_file_edited\";a:2:{s:12:\"audit_params\";a:1:{i:0;s:4:\"file\";}s:5:\"level\";s:7:\"warning\";}s:15:\"plugin_upgraded\";a:3:{s:12:\"audit_params\";a:3:{i:0;s:6:\"plugin\";i:1;s:4:\"from\";i:2;s:2:\"to\";}s:5:\"level\";s:6:\"notice\";s:14:\"audit_multiple\";b:1;}s:15:\"theme_activated\";a:2:{s:12:\"audit_params\";a:1:{i:0;s:5:\"theme\";}s:5:\"level\";s:6:\"notice\";}s:17:\"theme_file_edited\";a:2:{s:12:\"audit_params\";a:1:{i:0;s:4:\"file\";}s:5:\"level\";s:7:\"warning\";}s:14:\"theme_upgraded\";a:3:{s:12:\"audit_params\";a:3:{i:0;s:5:\"theme\";i:1;s:4:\"from\";i:2;s:2:\"to\";}s:5:\"level\";s:6:\"notice\";s:14:\"audit_multiple\";b:1;}s:12:\"core_updated\";a:2:{s:12:\"audit_params\";a:2:{i:0;s:4:\"from\";i:1;s:2:\"to\";}s:5:\"level\";s:6:\"notice\";}s:20:\"permalinks_structure\";a:2:{s:12:\"audit_params\";a:2:{i:0;s:4:\"from\";i:1;s:2:\"to\";}s:5:\"level\";s:7:\"warning\";}s:12:\"post_deleted\";a:3:{s:12:\"audit_params\";a:1:{i:0;s:5:\"title\";}s:5:\"level\";s:7:\"warning\";s:14:\"audit_multiple\";b:1;}s:12:\"post_trashed\";a:3:{s:12:\"audit_params\";a:2:{i:0;s:5:\"title\";i:1;s:4:\"type\";}s:5:\"level\";s:7:\"warning\";s:14:\"audit_multiple\";b:1;}s:14:\"post_recovered\";a:3:{s:12:\"audit_params\";a:2:{i:0;s:5:\"title\";i:1;s:4:\"type\";}s:5:\"level\";s:4:\"info\";s:14:\"audit_multiple\";b:1;}s:12:\"post_updated\";a:3:{s:12:\"audit_params\";a:2:{i:0;s:5:\"title\";i:1;s:4:\"type\";}s:5:\"level\";s:6:\"notice\";s:14:\"audit_multiple\";b:1;}s:14:\"post_published\";a:3:{s:12:\"audit_params\";a:2:{i:0;s:5:\"title\";i:1;s:4:\"type\";}s:5:\"level\";s:6:\"notice\";s:14:\"audit_multiple\";b:1;}s:16:\"post_unpublished\";a:3:{s:12:\"audit_params\";a:2:{i:0;s:5:\"title\";i:1;s:4:\"type\";}s:5:\"level\";s:7:\"warning\";s:14:\"audit_multiple\";b:1;}s:10:\"user_login\";a:2:{s:12:\"audit_params\";a:1:{i:0;s:10:\"user_login\";}s:5:\"level\";s:7:\"warning\";}s:14:\"user_login_app\";a:2:{s:12:\"audit_params\";a:1:{i:0;s:10:\"user_login\";}s:5:\"level\";s:7:\"warning\";}s:15:\"user_registered\";a:2:{s:12:\"audit_params\";a:2:{i:0;s:10:\"user_login\";i:1;s:5:\"email\";}s:5:\"level\";s:5:\"alert\";}s:12:\"user_deleted\";a:3:{s:12:\"audit_params\";a:2:{i:0;s:10:\"user_login\";i:1;s:5:\"email\";}s:5:\"level\";s:7:\"warning\";s:14:\"audit_multiple\";b:1;}s:23:\"user_deleted_reassigned\";a:2:{s:12:\"audit_params\";a:1:{i:0;s:10:\"user_login\";}s:5:\"level\";s:6:\"notice\";}s:18:\"email_attempt_send\";a:3:{s:12:\"audit_params\";a:6:{i:0;s:2:\"to\";i:1;s:7:\"subject\";i:2;s:2:\"cc\";i:3;s:3:\"bcc\";i:4;s:7:\"bt_file\";i:5;s:7:\"bt_line\";}s:5:\"level\";s:4:\"info\";s:14:\"audit_multiple\";b:1;}}}s:4:\"meta\";a:1:{s:6:\"ts_mod\";i:1642655802;}}','no'),(261572,'_site_transient_timeout_shield_mod_config_hack_protect','1644474206','no'),(261573,'_site_transient_shield_mod_config_hack_protect','a:9:{s:4:\"slug\";s:12:\"hack_protect\";s:10:\"properties\";a:14:{s:4:\"slug\";s:12:\"hack_protect\";s:4:\"name\";s:10:\"Hack Guard\";s:12:\"sidebar_name\";s:8:\"Scanners\";s:21:\"show_module_menu_item\";b:0;s:19:\"show_module_options\";b:1;s:11:\"storage_key\";s:12:\"hack_protect\";s:7:\"tagline\";s:63:\"Automatically detect and repair vulnerable and suspicious items\";s:12:\"show_central\";b:1;s:17:\"access_restricted\";b:1;s:7:\"premium\";b:0;s:5:\"order\";i:70;s:18:\"run_if_whitelisted\";b:1;s:19:\"run_if_verified_bot\";b:1;s:12:\"run_if_wpcli\";b:1;}s:5:\"wpcli\";a:1:{s:4:\"root\";s:10:\"hack_guard\";}s:10:\"menu_items\";a:1:{i:0;a:2:{s:5:\"title\";s:5:\"Scans\";s:4:\"slug\";s:14:\"scans-redirect\";}}s:16:\"custom_redirects\";a:1:{i:0;a:3:{s:15:\"source_mod_page\";s:14:\"scans-redirect\";s:15:\"target_mod_page\";s:8:\"insights\";s:10:\"query_args\";a:1:{s:4:\"inav\";s:13:\"scans_results\";}}}s:8:\"sections\";a:6:{i:0;a:6:{s:4:\"slug\";s:18:\"section_file_guard\";s:7:\"primary\";b:1;s:5:\"title\";s:10:\"File Guard\";s:11:\"title_short\";s:10:\"File Guard\";s:9:\"beacon_id\";i:217;s:7:\"summary\";a:2:{i:0;s:86:\"Purpose - Monitor WordPress files and protect against malicious intrusion and hacking.\";i:1;s:56:\"Recommendation - Keep the File Guard features turned on.\";}}i:1;a:5:{s:4:\"slug\";s:16:\"section_scan_wpv\";s:5:\"title\";s:21:\"Vulnerability Scanner\";s:11:\"title_short\";s:21:\"Vulnerability Scanner\";s:9:\"beacon_id\";i:217;s:7:\"summary\";a:2:{i:0;s:94:\"Purpose - Regularly scan your WordPress plugins and themes for known security vulnerabilities.\";i:1;s:125:\"Recommendation - Ensure this is turned on and you will always know if any of your assets have known security vulnerabilities.\";}}i:2;a:5:{s:4:\"slug\";s:16:\"section_realtime\";s:5:\"title\";s:25:\"Realtime Change Detection\";s:11:\"title_short\";s:25:\"Realtime Change Detection\";s:9:\"beacon_id\";i:226;s:7:\"summary\";a:2:{i:0;s:85:\"Purpose - Monitor Your WordPress Site For Changes To Critical Components In Realtime.\";i:1;s:59:\"Recommendation - Keep The Realtime Change Detection Active.\";}}i:3;a:5:{s:4:\"slug\";s:20:\"section_scan_options\";s:5:\"title\";s:12:\"Scan Options\";s:11:\"title_short\";s:12:\"Scan Options\";s:9:\"beacon_id\";i:217;s:7:\"summary\";a:1:{i:0;s:54:\"Purpose - Set how often the Hack Guard scans will run.\";}}i:4;a:5:{s:4:\"slug\";s:51:\"section_enable_plugin_feature_hack_protection_tools\";s:5:\"title\";s:25:\"Enable Module: Hack Guard\";s:11:\"title_short\";s:14:\"Disable Module\";s:9:\"beacon_id\";i:217;s:7:\"summary\";a:2:{i:0;s:94:\"Purpose - Hack Guard is a set of tools to warn you and protect you against hacks on your site.\";i:1;s:54:\"Recommendation - Keep the Hack Guard module turned on.\";}}i:5;a:2:{s:4:\"slug\";s:14:\"section_non_ui\";s:6:\"hidden\";b:1;}}s:7:\"options\";a:18:{s:19:\"enable_hack_protect\";a:11:{s:3:\"key\";s:19:\"enable_hack_protect\";s:7:\"section\";s:51:\"section_enable_plugin_feature_hack_protection_tools\";s:8:\"advanced\";b:1;s:7:\"default\";s:1:\"Y\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:23:\"https://shsec.io/wpsf38\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:217;s:4:\"name\";s:17:\"Enable Hack Guard\";s:7:\"summary\";s:41:\"Enable (or Disable) The Hack Guard Module\";s:11:\"description\";s:69:\"Un-Checking this option will completely disable the Hack Guard module\";}s:31:\"enable_core_file_integrity_scan\";a:10:{s:3:\"key\";s:31:\"enable_core_file_integrity_scan\";s:7:\"section\";s:18:\"section_file_guard\";s:7:\"default\";s:1:\"Y\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:19:\"https://shsec.io/hd\";s:9:\"link_blog\";s:23:\"https://shsec.io/wpsf37\";s:9:\"beacon_id\";i:454;s:4:\"name\";s:20:\"WP Core File Scanner\";s:7:\"summary\";s:56:\"Automatically Scans WordPress Core Files For Alterations\";s:11:\"description\";s:145:\"Compares all WordPress core files on your site against the official WordPress files. WordPress Core files should never be altered for any reason.\";}s:17:\"file_repair_areas\";a:11:{s:3:\"key\";s:17:\"file_repair_areas\";s:7:\"section\";s:18:\"section_file_guard\";s:4:\"type\";s:15:\"multiple_select\";s:7:\"default\";a:2:{i:0;s:2:\"wp\";i:1;s:6:\"plugin\";}s:13:\"value_options\";a:3:{i:0;a:2:{s:9:\"value_key\";s:2:\"wp\";s:4:\"text\";s:7:\"WP Core\";}i:1;a:2:{s:9:\"value_key\";s:6:\"plugin\";s:4:\"text\";s:12:\"Plugin Files\";}i:2;a:2:{s:9:\"value_key\";s:5:\"theme\";s:4:\"text\";s:11:\"Theme Files\";}}s:9:\"link_info\";s:23:\"https://shsec.io/wpsf36\";s:9:\"link_blog\";s:23:\"https://shsec.io/wpsf37\";s:9:\"beacon_id\";i:228;s:4:\"name\";s:16:\"Auto File Repair\";s:7:\"summary\";s:45:\"Which Files Should Be Automatically Repaired?\";s:11:\"description\";s:80:\"When a file is modified, or malware is detected, Shield can try to repair files.\";}s:19:\"auto_filter_results\";a:11:{s:3:\"key\";s:19:\"auto_filter_results\";s:7:\"section\";s:18:\"section_file_guard\";s:7:\"premium\";b:0;s:4:\"type\";s:8:\"checkbox\";s:7:\"default\";s:1:\"Y\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:439;s:4:\"name\";s:19:\"Auto-Filter Results\";s:7:\"summary\";s:48:\"Automatically Filter Results Of Irrelevant Items\";s:11:\"description\";s:60:\"Automatically remove items from results that are irrelevant.\";}s:20:\"scan_path_exclusions\";a:12:{s:3:\"key\";s:20:\"scan_path_exclusions\";s:7:\"section\";s:18:\"section_file_guard\";s:8:\"advanced\";b:1;s:7:\"premium\";b:1;s:7:\"default\";a:10:{i:0;s:17:\"wp-content/cache/\";i:1;s:18:\"wp-content/nfwlog/\";i:2;s:18:\"wp-content/wflogs/\";i:3;s:11:\"*/error_log\";i:4;s:15:\"*/php_error_log\";i:5;s:10:\"*/mail.log\";i:6;s:14:\"*/php_mail.log\";i:7;s:23:\"*/.stylelintrc-css.json\";i:8;s:19:\"*/.stylelintrc.json\";i:9;s:14:\"*/sucuri-*.php\";}s:4:\"type\";s:5:\"array\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:441;s:4:\"name\";s:15:\"Scan Exclusions\";s:7:\"summary\";s:31:\"Scan File and Folder Exclusions\";s:11:\"description\";s:32:\"Scan File and Folder Exclusions.\";}s:16:\"enabled_scan_apc\";a:10:{s:3:\"key\";s:16:\"enabled_scan_apc\";s:7:\"section\";s:16:\"section_scan_wpv\";s:4:\"type\";s:8:\"checkbox\";s:7:\"default\";s:1:\"Y\";s:9:\"link_info\";s:19:\"https://shsec.io/ew\";s:9:\"link_blog\";s:19:\"https://shsec.io/eo\";s:9:\"beacon_id\";i:225;s:4:\"name\";s:24:\"Abandoned Plugin Scanner\";s:7:\"summary\";s:35:\"Enable The Abandoned Plugin Scanner\";s:11:\"description\";s:66:\"Scan your WordPress.org assets for whether they\'ve been abandoned.\";}s:18:\"enable_wpvuln_scan\";a:11:{s:3:\"key\";s:18:\"enable_wpvuln_scan\";s:7:\"section\";s:16:\"section_scan_wpv\";s:7:\"premium\";b:1;s:4:\"type\";s:8:\"checkbox\";s:7:\"default\";s:1:\"Y\";s:9:\"link_info\";s:19:\"https://shsec.io/du\";s:9:\"link_blog\";s:19:\"https://shsec.io/ah\";s:9:\"beacon_id\";i:134;s:4:\"name\";s:21:\"Vulnerability Scanner\";s:7:\"summary\";s:32:\"Enable The Vulnerability Scanner\";s:11:\"description\";s:66:\"Scan all your WordPress assets for known security vulnerabilities.\";}s:22:\"wpvuln_scan_autoupdate\";a:10:{s:3:\"key\";s:22:\"wpvuln_scan_autoupdate\";s:7:\"section\";s:16:\"section_scan_wpv\";s:7:\"premium\";b:1;s:7:\"default\";s:1:\"N\";s:4:\"type\";s:8:\"checkbox\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:17:\"Automatic Updates\";s:7:\"summary\";s:49:\"Apply Updates Automatically To Vulnerable Plugins\";s:11:\"description\";s:98:\"When an update becomes available, automatically apply updates to items with known vulnerabilities.\";}s:11:\"file_locker\";a:12:{s:3:\"key\";s:11:\"file_locker\";s:7:\"section\";s:16:\"section_realtime\";s:7:\"premium\";b:1;s:4:\"type\";s:15:\"multiple_select\";s:7:\"default\";a:0:{}s:13:\"value_options\";a:4:{i:0;a:2:{s:9:\"value_key\";s:8:\"wpconfig\";s:4:\"text\";s:9:\"WP Config\";}i:1;a:2:{s:9:\"value_key\";s:13:\"root_htaccess\";s:4:\"text\";s:14:\"Root .htaccess\";}i:2;a:2:{s:9:\"value_key\";s:10:\"root_index\";s:4:\"text\";s:14:\"Root index.php\";}i:3;a:2:{s:9:\"value_key\";s:14:\"root_webconfig\";s:4:\"text\";s:15:\"Root Web.Config\";}}s:9:\"link_info\";s:19:\"https://shsec.io/h7\";s:9:\"link_blog\";s:19:\"https://shsec.io/h8\";s:9:\"beacon_id\";i:226;s:4:\"name\";s:11:\"File Locker\";s:7:\"summary\";s:40:\"Lock Files Against Tampering and Changes\";s:11:\"description\";s:97:\"As soon as changes are detected to any selected files, the contents may be examined and reverted.\";}s:14:\"scan_frequency\";a:12:{s:3:\"key\";s:14:\"scan_frequency\";s:7:\"section\";s:20:\"section_scan_options\";s:7:\"premium\";b:1;s:7:\"default\";s:1:\"1\";s:4:\"type\";s:6:\"select\";s:13:\"value_options\";a:8:{i:0;a:2:{s:9:\"value_key\";s:1:\"1\";s:4:\"text\";s:4:\"Once\";}i:1;a:2:{s:9:\"value_key\";s:1:\"2\";s:4:\"text\";s:24:\"Twice (scan every 12hrs)\";}i:2;a:2:{s:9:\"value_key\";s:1:\"3\";s:4:\"text\";s:25:\"3 Times (scan every 8hrs)\";}i:3;a:2:{s:9:\"value_key\";s:1:\"4\";s:4:\"text\";s:25:\"4 Times (scan every 6hrs)\";}i:4;a:2:{s:9:\"value_key\";s:1:\"6\";s:4:\"text\";s:25:\"6 Times (scan every 4hrs)\";}i:5;a:2:{s:9:\"value_key\";s:1:\"8\";s:4:\"text\";s:25:\"8 Times (scan every 3hrs)\";}i:6;a:2:{s:9:\"value_key\";s:2:\"12\";s:4:\"text\";s:26:\"12 Times (scan every 2hrs)\";}i:7;a:2:{s:9:\"value_key\";s:2:\"24\";s:4:\"text\";s:26:\"24 Times (scan every hour)\";}}s:9:\"link_info\";s:19:\"https://shsec.io/b2\";s:9:\"link_blog\";s:19:\"https://shsec.io/kd\";s:9:\"beacon_id\";i:223;s:4:\"name\";s:14:\"Scan Frequency\";s:7:\"summary\";s:60:\"Number Of Times To Automatically Scan Core Files In 24 Hours\";s:11:\"description\";s:85:\"Default: Once every 24hrs. To improve security, increase the number of scans per day.\";}s:23:\"mal_autorepair_surgical\";a:10:{s:3:\"key\";s:23:\"mal_autorepair_surgical\";s:7:\"section\";s:14:\"section_non_ui\";s:7:\"premium\";b:1;s:4:\"type\";s:8:\"checkbox\";s:7:\"default\";s:1:\"N\";s:9:\"link_info\";s:0:\"\";s:9:\"link_blog\";s:0:\"\";s:4:\"name\";s:20:\"Surgical Auto-Repair\";s:7:\"summary\";s:55:\"Automatically Attempt To Surgically Remove Malware Code\";s:11:\"description\";s:58:\"Attempts to automatically remove code from infected files.\";}s:19:\"ptg_reinstall_links\";a:11:{s:3:\"key\";s:19:\"ptg_reinstall_links\";s:7:\"section\";s:20:\"section_scan_options\";s:7:\"premium\";b:1;s:4:\"type\";s:8:\"checkbox\";s:7:\"default\";s:1:\"Y\";s:9:\"link_info\";s:19:\"https://shsec.io/bp\";s:9:\"link_blog\";s:0:\"\";s:9:\"beacon_id\";i:135;s:4:\"name\";s:21:\"Show Re-Install Links\";s:7:\"summary\";s:33:\"Show Re-Install Links For Plugins\";s:11:\"description\";s:78:\"Show links to re-install plugins and offer re-install when activating plugins.\";}s:14:\"scans_to_build\";a:6:{s:3:\"key\";s:14:\"scans_to_build\";s:7:\"section\";s:14:\"section_non_ui\";s:12:\"transferable\";b:0;s:16:\"tracking_exclude\";b:1;s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:12:\"is_scan_cron\";a:6:{s:3:\"key\";s:12:\"is_scan_cron\";s:7:\"section\";s:14:\"section_non_ui\";s:12:\"transferable\";b:0;s:16:\"tracking_exclude\";b:1;s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:14:\"mal_fp_reports\";a:6:{s:3:\"key\";s:14:\"mal_fp_reports\";s:7:\"section\";s:14:\"section_non_ui\";s:12:\"transferable\";b:0;s:16:\"tracking_exclude\";b:1;s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:16:\"filelocker_state\";a:6:{s:3:\"key\";s:16:\"filelocker_state\";s:7:\"section\";s:14:\"section_non_ui\";s:12:\"transferable\";b:0;s:16:\"tracking_exclude\";b:1;s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:21:\"realtime_scan_last_at\";a:6:{s:3:\"key\";s:21:\"realtime_scan_last_at\";s:7:\"section\";s:14:\"section_non_ui\";s:12:\"transferable\";b:0;s:16:\"tracking_exclude\";b:1;s:4:\"type\";s:7:\"integer\";s:7:\"default\";i:0;}s:23:\"legacy_db_conversion_at\";a:6:{s:3:\"key\";s:23:\"legacy_db_conversion_at\";s:7:\"section\";s:14:\"section_non_ui\";s:12:\"transferable\";b:0;s:16:\"tracking_exclude\";b:1;s:4:\"type\";s:7:\"integer\";s:7:\"default\";i:0;}}s:11:\"definitions\";a:20:{s:14:\"all_scan_slugs\";a:3:{i:0;s:3:\"apc\";i:1;s:3:\"wpv\";i:2;s:3:\"afs\";}s:20:\"file_scan_extensions\";a:11:{i:0;s:3:\"php\";i:1;s:4:\"php5\";i:2;s:4:\"php7\";i:3;s:2:\"js\";i:4;s:4:\"json\";i:5;s:3:\"css\";i:6;s:3:\"htm\";i:7;s:4:\"html\";i:8;s:3:\"svg\";i:9;s:4:\"twig\";i:10;s:3:\"hbs\";}s:18:\"db_handler_classes\";a:5:{s:5:\"scans\";s:79:\"\\FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\HackGuard\\DB\\Scans\\Ops\\Handler\";s:9:\"scanitems\";s:83:\"\\FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\HackGuard\\DB\\ScanItems\\Ops\\Handler\";s:11:\"resultitems\";s:85:\"\\FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\HackGuard\\DB\\ResultItems\\Ops\\Handler\";s:15:\"resultitem_meta\";s:88:\"\\FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\HackGuard\\DB\\ResultItemMeta\\Ops\\Handler\";s:11:\"scanresults\";s:85:\"\\FernleafSystems\\Wordpress\\Plugin\\Shield\\Modules\\HackGuard\\DB\\ScanResults\\Ops\\Handler\";}s:14:\"db_table_scans\";a:5:{s:10:\"autoexpire\";i:0;s:4:\"slug\";s:5:\"scans\";s:14:\"col_older_than\";s:10:\"created_at\";s:14:\"has_updated_at\";b:0;s:11:\"cols_custom\";a:4:{s:4:\"scan\";a:3:{s:10:\"macro_type\";s:4:\"char\";s:6:\"length\";i:3;s:7:\"comment\";s:9:\"Scan Slug\";}s:8:\"ready_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:13:\"Scan Ready At\";}s:11:\"finished_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:17:\"Scan Completed At\";}s:4:\"meta\";a:2:{s:10:\"macro_type\";s:4:\"meta\";s:7:\"comment\";s:14:\"Scan Meta Info\";}}}s:18:\"db_table_scanitems\";a:7:{s:10:\"autoexpire\";i:0;s:4:\"slug\";s:9:\"scanitems\";s:14:\"has_updated_at\";b:0;s:14:\"has_created_at\";b:0;s:14:\"has_deleted_at\";b:0;s:14:\"col_older_than\";s:10:\"started_at\";s:11:\"cols_custom\";a:4:{s:8:\"scan_ref\";a:2:{s:10:\"macro_type\";s:14:\"foreign_key_id\";s:11:\"foreign_key\";a:1:{s:9:\"ref_table\";s:15:\"icwp_wpsf_scans\";}}s:5:\"items\";a:2:{s:10:\"macro_type\";s:4:\"text\";s:7:\"comment\";s:19:\"Array of scan items\";}s:10:\"started_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:25:\"Started Scanning Items At\";}s:11:\"finished_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:26:\"Finished Scanning Items At\";}}}s:20:\"db_table_resultitems\";a:5:{s:10:\"autoexpire\";i:0;s:4:\"slug\";s:11:\"resultitems\";s:14:\"has_updated_at\";b:1;s:14:\"col_older_than\";s:10:\"updated_at\";s:11:\"cols_custom\";a:8:{s:9:\"item_type\";a:3:{s:10:\"macro_type\";s:4:\"char\";s:6:\"length\";i:1;s:7:\"comment\";s:16:\"Result Item Type\";}s:7:\"item_id\";a:3:{s:10:\"macro_type\";s:7:\"varchar\";s:6:\"length\";i:256;s:7:\"comment\";s:14:\"Result Item ID\";}s:10:\"ignored_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:14:\"Result Ignored\";}s:11:\"notified_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:24:\"Result Notification Sent\";}s:16:\"auto_filtered_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:20:\"Result Auto Filtered\";}s:17:\"attempt_repair_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:19:\"Attempted Repair At\";}s:16:\"item_repaired_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:16:\"Item Repaired At\";}s:15:\"item_deleted_at\";a:2:{s:10:\"macro_type\";s:9:\"timestamp\";s:7:\"comment\";s:15:\"Item Deleted At\";}}}s:24:\"db_table_resultitem_meta\";a:5:{s:4:\"slug\";s:15:\"resultitem_meta\";s:14:\"has_updated_at\";b:0;s:14:\"has_created_at\";b:0;s:14:\"has_deleted_at\";b:0;s:11:\"cols_custom\";a:3:{s:6:\"ri_ref\";a:3:{s:10:\"macro_type\";s:14:\"foreign_key_id\";s:11:\"foreign_key\";a:1:{s:9:\"ref_table\";s:21:\"icwp_wpsf_resultitems\";}s:7:\"comment\";s:39:\"Reference to primary Result Item record\";}s:8:\"meta_key\";a:3:{s:10:\"macro_type\";s:7:\"varchar\";s:6:\"length\";i:32;s:7:\"comment\";s:8:\"Meta Key\";}s:10:\"meta_value\";a:2:{s:10:\"macro_type\";s:4:\"text\";s:7:\"comment\";s:9:\"Meta Data\";}}}s:20:\"db_table_scanresults\";a:6:{s:10:\"autoexpire\";i:0;s:4:\"slug\";s:11:\"scanresults\";s:14:\"has_updated_at\";b:0;s:14:\"has_created_at\";b:1;s:14:\"has_deleted_at\";b:0;s:11:\"cols_custom\";a:2:{s:8:\"scan_ref\";a:2:{s:10:\"macro_type\";s:14:\"foreign_key_id\";s:11:\"foreign_key\";a:1:{s:9:\"ref_table\";s:15:\"icwp_wpsf_scans\";}}s:14:\"resultitem_ref\";a:2:{s:10:\"macro_type\";s:14:\"foreign_key_id\";s:11:\"foreign_key\";a:1:{s:9:\"ref_table\";s:21:\"icwp_wpsf_resultitems\";}}}}s:10:\"db_classes\";a:3:{s:10:\"filelocker\";s:69:\"\\FernleafSystems\\Wordpress\\Plugin\\Shield\\Databases\\FileLocker\\Handler\";s:7:\"scanner\";s:66:\"\\FernleafSystems\\Wordpress\\Plugin\\Shield\\Databases\\Scanner\\Handler\";s:5:\"scanq\";s:68:\"\\FernleafSystems\\Wordpress\\Plugin\\Shield\\Databases\\ScanQueue\\Handler\";}s:19:\"db_table_filelocker\";a:4:{s:4:\"slug\";s:10:\"filelocker\";s:14:\"has_updated_at\";b:1;s:11:\"cols_custom\";a:5:{s:4:\"file\";s:61:\"varchar(256) NOT NULL COMMENT \'File Path relative to ABSPATH\'\";s:13:\"hash_original\";s:54:\"varchar(40) NOT NULL COMMENT \'SHA1 File Hash Original\'\";s:12:\"hash_current\";s:53:\"varchar(40) NOT NULL COMMENT \'SHA1 File Hash Current\'\";s:7:\"content\";s:28:\"MEDIUMBLOB COMMENT \'Content\'\";s:13:\"public_key_id\";s:52:\"TINYINT(2) UNSIGNED NOT NULL COMMENT \'Public Key ID\'\";}s:15:\"cols_timestamps\";a:3:{s:11:\"detected_at\";s:20:\"Change Last Detected\";s:11:\"reverted_at\";s:18:\"Reverted To Backup\";s:11:\"notified_at\";s:17:\"Notification Sent\";}}s:16:\"db_table_scanner\";a:3:{s:4:\"slug\";s:7:\"scanner\";s:11:\"cols_custom\";a:4:{s:4:\"hash\";s:58:\"varchar(32) NOT NULL DEFAULT \'\' COMMENT \'Unique Item Hash\'\";s:4:\"meta\";s:33:\"text COMMENT \'Relevant Item Data\'\";s:4:\"scan\";s:50:\"varchar(10) NOT NULL DEFAULT 0 COMMENT \'Scan Type\'\";s:8:\"severity\";s:44:\"int(3) NOT NULL DEFAULT 1 COMMENT \'Severity\'\";}s:15:\"cols_timestamps\";a:3:{s:10:\"ignored_at\";s:19:\"Scan Result Ignored\";s:11:\"notified_at\";s:21:\"Scan Notifiation Sent\";s:17:\"attempt_repair_at\";s:19:\"Attempted Repair At\";}}s:14:\"db_table_scanq\";a:3:{s:4:\"slug\";s:5:\"scanq\";s:11:\"cols_custom\";a:4:{s:4:\"scan\";s:50:\"varchar(3) NOT NULL DEFAULT \'\' COMMENT \'Scan Slug\'\";s:5:\"items\";s:34:\"text COMMENT \'Array of scan items\'\";s:7:\"results\";s:31:\"text COMMENT \'Array of results\'\";s:4:\"meta\";s:24:\"text COMMENT \'Meta Data\'\";}s:15:\"cols_timestamps\";a:2:{s:10:\"started_at\";s:12:\"Scan Started\";s:11:\"finished_at\";s:14:\"Scan Completed\";}}s:21:\"table_name_filelocker\";s:10:\"filelocker\";s:19:\"url_mal_sigs_simple\";s:96:\"https://raw.githubusercontent.com/scr34m/php-malware-scanner/master/definitions/patterns_raw.txt\";s:18:\"url_mal_sigs_regex\";s:95:\"https://raw.githubusercontent.com/scr34m/php-malware-scanner/master/definitions/patterns_re.txt\";s:23:\"default_whitelist_paths\";a:12:{i:0;s:18:\"wp-content/cache/*\";i:1;s:19:\"wp-content/shield/*\";i:2;s:26:\"wp-content/icwp/rollback/*\";i:3;s:35:\"wp-content/plugins-before-restore/*\";i:4;s:34:\"wp-content/themes-before-restore/*\";i:5;s:36:\"wp-content/uploads/bb-plugin/cache/*\";i:6;s:36:\"wp-content/uploads/cache/wpml/twig/*\";i:7;s:18:\"wp-content/cache/*\";i:8;s:11:\"*/error_log\";i:9;s:15:\"*/php_error_log\";i:10;s:10:\"*/mail.log\";i:11;s:14:\"*/php_mail.log\";}s:14:\"cron_all_scans\";s:9:\"all-scans\";s:14:\"wcf_exclusions\";a:5:{i:0;s:11:\"readme.html\";i:1;s:11:\"license.txt\";i:2;s:16:\"licens-sv_SE.txt\";i:3;s:20:\"wp-config-sample.php\";i:4;s:11:\"wp-content/\";}s:27:\"wcf_exclusions_missing_only\";a:2:{i:0;s:20:\"wp-admin/install.php\";i:1;s:10:\"xmlrpc.php\";}s:6:\"events\";a:5:{s:8:\"scan_run\";a:3:{s:12:\"audit_params\";a:1:{i:0;s:4:\"scan\";}s:5:\"level\";s:5:\"debug\";s:14:\"audit_multiple\";b:1;}s:16:\"scan_items_found\";a:4:{s:12:\"audit_params\";a:2:{i:0;s:4:\"scan\";i:1;s:5:\"items\";}s:5:\"level\";s:5:\"alert\";s:14:\"audit_multiple\";b:1;s:6:\"recent\";b:1;}s:24:\"scan_item_repair_success\";a:3:{s:12:\"audit_params\";a:1:{i:0;s:9:\"path_full\";}s:14:\"audit_multiple\";b:1;s:6:\"recent\";b:1;}s:21:\"scan_item_repair_fail\";a:2:{s:12:\"audit_params\";a:1:{i:0;s:9:\"path_full\";}s:14:\"audit_multiple\";b:1;}s:24:\"scan_item_delete_success\";a:2:{s:12:\"audit_params\";a:1:{i:0;s:9:\"path_full\";}s:14:\"audit_multiple\";b:1;}}}s:4:\"meta\";a:1:{s:6:\"ts_mod\";i:1642655802;}}','no'),(261574,'_site_transient_timeout_shield_mod_config_traffic','1644474206','no'),