a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4:"data";s:3:"


";s:7:"attribs";a:1:{s:0:"";a:1:{s:7:"version";s:3:"2.0";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:1:{s:7:"channel";a:1:{i:0;a:6:{s:4:"data";s:61:"
	
	
	
	




















































";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:16:"WordPress Planet";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:28:"http://planet.wordpress.org/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"language";a:1:{i:0;a:5:{s:4:"data";s:2:"en";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:47:"WordPress Planet - http://planet.wordpress.org/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"item";a:50:{i:0;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:92:"WPTavern: Gatsby Raises $15M, Plans to Invest More Heavily in WordPress and CMS Integrations";s: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:29:"https://wptavern.com/?p=94300";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:101:"https://wptavern.com/gatsby-raises-15m-plans-to-invest-more-heavily-in-wordpress-and-cms-integrations";s: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:5857:"<p><a href="https://www.gatsbyjs.com/" rel="noopener noreferrer" target="_blank">Gatsby Inc</a>. CEO Kyle Mathews announced a <a href="https://www.gatsbyjs.org/blog/2019-09-26-announcing-gatsby-15m-series-a-funding-round/" rel="noopener noreferrer" target="_blank">$15M Series A funding round</a> today, just one year after creating the company with GatsbyJS core contributors. The open source Gatsby project started in 2015 to provide a framework for developers to quickly build websites with React. As the project soared in popularity, Mathews formed a company to fund its ongoing development and further invest in the growing Gatsby ecosystem of products.</p>
<p>This round of funding will enable Gatsby to grow its 35-person team while investing in open source and cloud services that complement the company&#8217;s products.</p>
<p>&#8220;With Gatsby, we’re striving to create a business model that will drive many millions of dollars of investment in open-source tools and enable people to build the next generation of web experiences,&#8221; Mathews said.</p>
<p>At the forefront of the company&#8217;s vision is the idea of &#8220;reinventing website development.&#8221; Gatsby has popularized the concept of a “<a href="https://www.gatsbyjs.org/blog/2018-10-04-journey-to-the-content-mesh/" rel="noopener noreferrer" target="_blank">content mesh</a>,” a platform that provides the infrastructure layer for a decoupled website and reimagines the role of a CMS within this architecture.</p>
<p>Gatsby&#8217;s goal of creating more integrations for CMS&#8217;s was a big part of Mathews&#8217; funding announcement. Instead of writing off LAMP stack architecture as slow and obsolete, Gatsby is creating bridges to the CMS&#8217;s that power a large portion of the web:</p>
<blockquote><p>Instead of a monolithic CMS powering everything, Gatsby ties together specialized services with a modern development experience and optimized website delivery.</p>
<p>This content mesh empowers developers while preserving content creators’ workflows. It gives developers access to great cloud services without the pain of manual integration.</p>
<p>Web developers from dozens of web CMS communities like WordPress and Drupal are going “headless” and using Gatsby as the presentation layer for their CMS.</p>
<p>We’re forming partnerships with these communities to create seamless integrations between their solutions and Gatsby.</p></blockquote>
<p>Gatsby will be using some of its funding to invest more heavily in the WordPress ecosystem. The company hired <a href="https://wptavern.com/jason-bahl-joins-the-gatsby-team-to-work-on-wpgraphql-full-time" rel="noopener noreferrer" target="_blank">hiring Jason Bahl</a>, creator of the GraphQL for WordPress project, in June, and plans to add more WordPress developers.</p>
<p>&#8220;We recently hired someone else to work alongside Jason in developing WPGraphQL (announcement coming soon!) and are currently hiring for several roles on the team,&#8221; Mathews told the Tavern.</p>
<p>WordPress powers <a href="https://w3techs.com/technologies/details/cm-wordpress/all/all" rel="noopener noreferrer" target="_blank">34.6% of the top 10 million websites</a> and Matt Mullenweg has previously estimated its ecosystem to be a $10 billion industry. The CMS is <a href="https://joost.blog/cms-market-share-a-numbers-analysis/" rel="noopener noreferrer" target="_blank">showing no signs of decline</a>, and is a market that Gatsby product developers are strategically targeting.</p>
<p>WordPress adopted React as its JavaScript framework in 2017, and built its new Gutenberg editor on top of it. Although some early adopters began digging deeper into React and creating their own products with it, the majority of PHP developers have been slow to move in that direction. Gatsby provides a bridge for those who are just getting started.</p>
<p>&#8220;We think that for many web developers, a Gatsby project may be the first time they are using React, GraphQL, webpack or even Node.js,&#8221; Mathews said. &#8220;And that’s not just the case for WordPress developers &#8211; the same can be true for professionals in the Drupal, Rails, or .NET ecosystems.</p>
<p>&#8220;It’s our goal to make a framework that empowers developers to use these technologies easily, then dive deeper as they gain more experience. So, instead of taking days to configure webpack for the first time, you can use a Gatsby Theme that connects to WordPress as a data source, and automatically get a blazing fast site. Later, you can learn the innards of the system, and begin customizing Gatsby yourself.&#8221;</p>
<p>While Gatsby as a framework enables developers to bypass a lot of the technical and tooling jargon that has made modern development so complex, it is still a framework geared almost exclusively towards developers. Mathews said the company&#8217;s vision will continue to focus on enabling developers, not on creating solutions to make Gatsby more accessible to the non-technical crowd.</p>
<p>&#8220;We are focused on making Gatsby the best choice for WordPress developers who want a flexible and powerful presentation layer for their headless WordPress sites,&#8221; he said. &#8220;Non-technical team members or clients will still use WordPress to create and manage content, while the web developers on their team or at the agency they hired get to be productive using the best development tools available.&#8221;</p>
<p>Gatsby plans to use the funding to invest $3 million per year in open source, including the core Gatsby project, official plugins, and more learning materials. The funding is also good news for the future of the <a href="https://www.wpgraphql.com/" rel="noopener noreferrer" target="_blank">WPGraphQL</a> project, which should see deeper integration with Gatsby in the near future.</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, 26 Sep 2019 22:35:21 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s: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:1;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:57:"WPTavern: Long-Needed Date/Time Improvements Land in Core";s: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:29:"https://wptavern.com/?p=94295";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:68:"https://wptavern.com/long-needed-date-time-improvements-land-in-core";s: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:4026:"<div class="wp-block-image"><img /></div>



<p>After more than a year and several WordPress updates, an <a href="https://make.wordpress.org/core/2019/09/23/date-time-improvements-wp-5-3/">overhaul of the core Date/Time component</a> concluded.  WordPress 5.3 will ship with fixes for long-standing bugs and new API functions.</p>



<p>Andrey &#8220;Rarst&#8221; Savchenko spearheaded this project and worked through most of the issues in his <a href="https://github.com/Rarst/wp-date">WP Date</a> fork of WordPress.  Much of his work toward addressing the problems with this core component goes back further with the initialization of his <a href="https://github.com/Rarst/wpdatetime">WPDateTime project</a>.</p>



<p>Diving into the Date/Time component is no small feat.  Addressing one issue leads to another.  It&#8217;s a rabbit hole that few in the community have navigated.  Many developers were also unaware of the issues.  However, the bugs lingered for years, and users had no working solution for the problems they were facing.</p>



<p>The most common errors were caused by core bugs or developer errors due to compatibility issues, described Savchenko.  This would cause user-facing issues such as post scheduling and other time-based operations.</p>



<p>With the release of WordPress 5.3, all existing functions should behave more reliably.  Developers working on the component fixed several bugs and updated incorrect inline code documentation for many core functions. Along with the fixes, 5.3 will ship with new <a href="https://github.com/Rarst/wp-date/issues/4">Date/Time API functions</a>.  The updated API includes unified time zone retrieval, localization, and PHP interoperability functions.</p>



<p>Savchenko called it &#8220;the slow descent into madness&#8221; when asked of the catalyst for diving into the Date/Time component and its underlying issues.  &#8220;I started to notice serious bugs in the component from WordPress Stack Exchange questions about them, and the more I looked over years the more clear the dire state of it became to me.&#8221;</p>



<p>One of the major problems is the way WordPress handles timestamps.  &#8220;I actually had to invent the &#8216;WordPress timestamp&#8217; term,&#8221; said Savchenko.  &#8220;There was no name for it in core development and inline documentation incorrectly called these Unix timestamps before.&#8221;  WordPress adds a time zone offset to the real Unix timestamp, which causes issues with upstream PHP and external systems.  </p>



<p>WordPress timestamps couldn&#8217;t be removed from core without breaking backward compatibility.  Plugin and theme developers should avoid working with the WordPress timestamp and opt to use the <a href="https://make.wordpress.org/core/2019/09/23/date-time-improvements-wp-5-3/">recommended methods</a> outlined in Savchenko&#8217;s post.</p>



<p>WordPress date functions were originally written in PHP 4, a version of PHP so long-dead that it&#8217;s almost not worth digging up the end-of-life date (it&#8217;s <a href="https://www.php.net/eol.php">11 years</a>, by the way).  PHP 5.2 introduced the PHP <code>DateTime</code> and <code>DateTimeZone</code> classes and has continued receiving improvements over the years.  WordPress date functions were never updated to utilize newer standards.  The platform&#8217;s more recent bump to a minimum of PHP 5.6 also meant that the <code>DateTimeImmutable</code> class introduced in PHP 5.5 would be available.  The version bump helped land the new API functions in WordPress 5.3.</p>



<p>Some bugs go as far back as 7 years, such as <a href="https://core.trac.wordpress.org/ticket/20973">shorthand formats not working with the core date_i18n() function</a>, which was fixed in WordPress 5.1.  With any luck, core may also adopt such features as <a href="https://core.trac.wordpress.org/ticket/18146">user-based timezones</a> in the future, which would better handle time differences on WordPress installs with users all over the world.</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, 26 Sep 2019 16:33:40 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s: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:2;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:28:"Gary: Talking with WP&amp;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:25:"https://pento.net/?p=5120";s: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:47:"https://pento.net/2019/09/26/talking-with-wpup/";s: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:348:"<p>At WordCamp Europe this year, I had the opportunity to chat with the folks at WP&amp;UP, who are doing wonderful work providing mental health support in the WordPress community.</p>



<p><a href="https://wpandup.org/podcast/getting-to-the-core-of-wordpress-021/">Listen to the podcast</a>, and check out the services that WP&amp;UP provide!</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, 26 Sep 2019 04:35:45 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:4:"Gary";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:3;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:48:"BuddyPress: BuddyPress 5.0.0 Release Candidate 2";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://buddypress.org/?p=308016";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:68:"https://buddypress.org/2019/09/buddypress-5-0-0-release-candidate-2/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:2087:"<p>Hi!</p>



<p><a href="https://downloads.wordpress.org/plugin/buddypress.5.0.0-RC2.zip">The second release candidate for BuddyPress 5.0.0</a> is now available for an ultimate round of testing!</p>



<p>Since the <a href="https://buddypress.org/2019/09/buddypress-5-0-0-release-candidate/">first release candidate</a>, we&#8217;ve improved the way BP REST API Controllers are loaded inside BuddyPress component classes.</p>



<p>This is an important milestone as we progress toward the BuddyPress 5.0.0 final release date. &#8220;Release Candidate&#8221; means that we think the new version is ready for release, but with more than 200,000 active installs, hundreds of BuddyPress plugins and Thousands of WordPress themes, it’s possible something was missed. BuddPress 5.0.0 is&nbsp;scheduled to be released&nbsp;on&nbsp;<strong>Monday, September 30</strong>, but we need&nbsp;<em>your</em>&nbsp;help to get there—if you haven’t tried 5.0.0 yet, <strong>now is the time!</strong> </p>



<div class="wp-block-button aligncenter is-style-squared"><a class="wp-block-button__link has-background" href="https://downloads.wordpress.org/plugin/buddypress.5.0.0-RC2.zip">Download and test the 5.0.0-RC2</a></div>



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



<p><em>PS: as usual you alternatively get a copy via our Subversion repository.</em></p>



<p>A detailed changelog will be part of our official release note, but&nbsp;you can get a quick overview by reading the post about the&nbsp;<a href="https://buddypress.org/2019/08/buddypress-5-0-0-beta1/">5.0.0 Beta1</a>&nbsp;release.</p>



<div class="wp-block-image"><img src="https://plugins.svn.wordpress.org/buddypress/assets/icon.svg" alt="" width="33" height="33" /></div>



<p><strong>If you think you&#8217;ve found a bug</strong>, please let us know reporting it on&nbsp;<a href="https://buddypress.org/support">the support forums</a>&nbsp;and/or&nbsp;on&nbsp;<a href="https://buddypress.trac.wordpress.org/">our development tracker</a>.</p>



<p>Thanks in advance for giving this second release candidate a test drive!</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, 26 Sep 2019 02:31: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:5:"imath";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:4;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s: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:53:"WPTavern: Hacktoberfest 2019 Registration is Now Open";s: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:29:"https://wptavern.com/?p=94243";s: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:64:"https://wptavern.com/hacktoberfest-2019-registration-is-now-open";s: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:3413:"<p><a href="https://hacktoberfest.digitalocean.com/" rel="noopener noreferrer" target="_blank">Hacktoberfest</a> has started back up again for its sixth year running, sponsored by <a href="http://digitalocean.com" rel="noopener noreferrer" target="_blank">DigitalOcean</a> and <a href="https://dev.to/" rel="noopener noreferrer" target="_blank">DEV</a>. The annual event brings together open source communities from all over the world for virtual and <a href="https://hacktoberfest.digitalocean.com/events" rel="noopener noreferrer" target="_blank">local collaboration</a>. Organizers are expecting approximately 150,000 participants this year.</p>
<p>The first 50,000 participants who make four pull requests to any GitHub-hosted repositories between October 1-31, will receive a commemorative Hacktoberfest T-shirt. Organizers have introduced a one-week review period for PRs this year in order to give maintainers the opportunity to flag any spammy PRs as invalid. The goal is to encourage participants to submit more thoughtful contributions.</p>
<p>More than 21,000 issues on GitHub have already been <a href="https://github.com/search?q=label%3Ahacktoberfest+state%3Aopen&type=Issues" rel="noopener noreferrer" target="_blank">labeled for Hacktoberfest</a>. Maintainers who want to have their projects included should identify issues best suited to new contributors and apply the &#8220;Hacktoberfest&#8221; label. Organizers also recommend creating a CONTRIBUTING.md file with contribution guidelines and adopting a code of conduct for the project.</p>
<p>Adding WordPress to a search for Hacktoberfest issues displays <a href="https://github.com/search?utf8=%E2%9C%93&q=label%3Ahacktoberfest+state%3Aopen+wordpress&type=Issues&ref=advsearch&l=&l=" rel="noopener noreferrer" target="_blank">120 issues</a> that are related in some way to themes, plugins, apps, and other products with WordPress-specific needs. The event is a good opportunity for maintainers to get more exposure for their projects and help new contributors gain confidence through a structured contribution process.</p>
<p>This year Hacktoberfest&#8217;s organizers are also featuring <a href="https://github.com/topics/climate-change" rel="noopener noreferrer" target="_blank">projects focused on combating climate change</a>. These include repos for open source technologies, such as an <a href="https://github.com/CodeForAfrica/ClimateChangeProjections" rel="noopener noreferrer" target="_blank">embeddable map that shows climate change projections</a>, an <a href="https://github.com/juancoob/Vegginner" rel="noopener noreferrer" target="_blank">app targeting consumption habits</a>, and <a href="https://github.com/sphericalpm/ghgdata" rel="noopener noreferrer" target="_blank">greenhouse gas emissions data packaged for exploration and charting</a>, to name a few.</p>
<p>Hacktoberfest is open to contributors at any level of experience. For those just getting started, DigitalOcean has created an <a href="https://www.digitalocean.com/community/tutorial_series/an-introduction-to-open-source" rel="noopener noreferrer" target="_blank">Introduction to Open Source</a> series that covers the basics of git and how to create a pull request. DEV also has a <a href="https://dev.to/tvanblargan/crash-course-git-lingo-1enj" rel="noopener noreferrer" target="_blank">Git crash course</a> available to get new contributors up to speed.</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, 25 Sep 2019 22:39:40 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s: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:5;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:88:"WPTavern: Human Made Releases Publication Checklist Plugin Designed for 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:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:29:"https://wptavern.com/?p=94238";s: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://wptavern.com/human-made-releases-publication-checklist-plugin-designed-for-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:2502:"<p>Human Made has created a <a href="https://github.com/humanmade/publication-checklist/" rel="noopener noreferrer" target="_blank">Publication Checklist</a> plugin built specifically for the block editor. It was developed as a headline feature of <a href="https://humanmade.com/2019/06/17/a-technical-introduction-to-altis-enterprise-augmented-wordpress-platform/" rel="noopener noreferrer" target="_blank">Altis</a>, the company&#8217;s enterprise publishing platform based on WordPress, but is also available as a standalone plugin that developers can customize for their own particular use cases.</p>
<p>Ryan McCue, Human Made&#8217;s Director of Engineering, shared screenshots of the plugin on <a href="https://twitter.com/rmccue/status/1173550662296190976" rel="noopener noreferrer" target="_blank">Twitter</a> but noted that it may require more manual configuration when used outside of Altis. Developers familiar with React can extend the checklist to provide a more interactive experience for users completing the required publishing tasks.</p>
<p>&#8220;Because this is built for the block editor, you can build the UI for your checks in React, allowing users to fix issues inline, or providing richer interaction; e.g. &#8216;jump to block failing this check,'&#8221; McCue said.</p>
<p><a href="https://i1.wp.com/wptavern.com/wp-content/uploads/2019/09/Screen-Shot-2019-09-25-at-10.43.20-AM.png?ssl=1"><img /></a></p>
<p>Status of the publishing tasks is also shown in its own column in the posts list table, a useful feature for giving editorial teams a better overall picture of posts in progress. (The plugin also provides a way to disable this view.)</p>
<p><a href="https://i0.wp.com/wptavern.com/wp-content/uploads/2019/09/publication-checklist-posts-list-table.jpeg?ssl=1"><img /></a></p>
<p>It&#8217;s important to note that the Publication Checklist plugin only provides a framework for the pre-publish checks, and does not include a settings interface for users to create their own checks. For this reason, the current version is more geared towards developers who are capable of registering checks using the provided function. The checks display a warning if incomplete but users are still allowed to publish. A more strict enforcement that blocks publishing can also be applied. For more information on customizing the plugin, check out the <a href="https://github.com/humanmade/publication-checklist/" rel="noopener noreferrer" target="_blank">documentation</a> on GitHub.</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, 25 Sep 2019 17:44:10 +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:6;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:69:"WPTavern: Theme Review Team Restructures Into Project Representatives";s: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:29:"https://wptavern.com/?p=94224";s: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:80:"https://wptavern.com/theme-review-team-restructures-into-project-representatives";s: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:5229:"<p>The WordPress Theme Review Team (TRT) restructured its administrative duties and laid out its <a href="https://make.wordpress.org/themes/2019/09/24/new-theme-review-team-structure/">new team organization</a> after yesterday&#8217;s semimonthly team meeting. This is not the first time the TRT has restructured to meet the growing demands of the official theme directory over the years.  The team is moving toward a flat structure that spreads its responsibilities to various project representatives.</p>



<p>The original team consisted of a purely merit-based system where members worked their way up the ranks, becoming moderators and eventually admins.  Each level provided more access and responsibility.  In 2017, the team restructured to a <a href="https://make.wordpress.org/themes/2017/04/08/restructuring-the-theme-review-team/">lead-based system</a> in which two team leads rotated every six months.  The time limit was put in place to prevent burnout.  Some leads ran the team beyond the six-month limit during this time, but it was not always easy to find replacements who wanted to take on the full responsibilities of managing everything.  There was also concern among some team members that the rotation schedule wasn&#8217;t strictly followed with some leads overstaying their allotted time.</p>



<p>In meetings and discussions over the last several months, various members drafted proposals on changing the team structure.  The now-former team leads and a group of moderators created the new plan to split the team into specific projects, each with at least one representative.</p>



<p>The following are the new sub-teams and representatives.</p>



<ul><li>Theme review representatives: Sandilya Kafle and Carolina Nymark</li><li>Theme packages representative: Ari Stathopoulos</li><li>Automation representative: Denis Žoljom</li><li>Theme handbook representative: Ana Alfieri</li><li>Communications representative: William Patton</li></ul>



<p>The five projects cover the team&#8217;s current duties and spread out the workload. &#8220;That&#8217;s kind of what this is about,&#8221; said William Patton.  &#8220;It&#8217;s making sure that no one single person handles all the things and that it&#8217;s shared between all.&#8221;</p>



<p>The new structure doesn&#8217;t mean there&#8217;s no room for other projects.  If a team member has a particular itch they want to scratch, they&#8217;re open to spearhead that project.  All the power is no longer consolidated into a couple of people&#8217;s hands.</p>



<p>&#8220;Sharing the load and spreading people&#8217;s specific skills between things they know and are investing time into makes sense at this point,&#8221; said Patton.</p>



<p>The team will no longer rotate leads (or representatives in this case) every six months.  If someone needs to step down from their representative role or take a break, finding a new representative will be handled on a case-by-case basis.  &#8220;We all have our strengths and passions. The thing that we also need to work on is finding people who are willing to participate and eventually take over when we feel tired,&#8221; said Denis Žoljom.</p>



<p>Žoljom has been leading the automation project for while by maintaining the Theme Review coding standards and Theme Sniffer plugin.  He&#8217;s currently looking to move the WPThemeReview ruleset to the official WordPress GitHub.  &#8220;This is necessary because we want to use it in Tide,&#8221; said Žoljom.  Tide is an automated tool for improving code quality in plugins and themes.</p>



<p>&#8220;My personal goal would be to see if we can improve the review process &#8211; either by working on the GitHub review idea I had a few months ago, or by working on the automated tools that help the users,&#8221; said Žoljom.</p>



<p>The theme review representatives will handle the traditional role of overseeing the reviewing responsibilities of the team.  Little will change in that regard since it&#8217;s the primary duty of the TRT.  They will continue moderating themes and handling guideline changes.  &#8220;However, they can consult with other reps to make the final decision and to make new changes,&#8221; said Sandilya Kafle.</p>



<p>The WordPress docs team has now handed over responsibility of the <a href="https://developer.wordpress.org/themes/">theme developer handbook</a> to the TRT.  &#8220;I think we should try to keep coherence between the two handbooks, so we avoid saying one thing in one and another in the other,&#8221; said Ana Alfieri about the differences between the developer and review handbooks.  At times, such difference have been points of contention between TRT members.  Having both handbooks in sync on best practices will help keep reviewers and theme authors on the same page.</p>



<p>Ari Stathopoulos recently took over as the <a href="https://wptavern.com/behind-new-packages-project-lead-theme-review-team-launches-admin-notices-solution">representative for theme packages</a> in the past month.  The packages project aims to build standardized drop-in modules for developers to use in their themes.  This specific project may also have various developers handling specific packages.</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, 25 Sep 2019 17:18:34 +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:7;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:72:"WPTavern: WordPress 5.3 to Introduce New Admin Email Verification Screen";s: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:29:"https://wptavern.com/?p=94193";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:83:"https://wptavern.com/wordpress-5-3-to-introduce-new-admin-email-verification-screen";s: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:2769:"<p>WordPress 5.3 is set to introduce an admin email verification screen that will be shown every six months after an admin has logged in. The feature was proposed seven months ago in a <a href="https://core.trac.wordpress.org/ticket/46349" rel="noopener noreferrer" target="_blank">ticket</a> that contributor <a href="https://www.andreidraganescu.info/" rel="noopener noreferrer" target="_blank">Andrei Draganescu</a> opened as part of the Site Health component improvements.</p>
<p><a href="https://i0.wp.com/wptavern.com/wp-content/uploads/2019/09/admin-email-verification.png?ssl=1"><img /></a></p>
<p>Draganescu said the idea came from discussions in the #core-php channel regarding WSOD (White Screen of Death) recovery emails, which are sent when a site experiences a fatal error and the administrator may be locked out of their WordPress site. Participants in the discussion raised the issue of how common it is for admin email addresses to be outdated or set to a &#8220;catch all&#8221; address that is never checked. The email address may also be set automatically by the host during the process of a one-click installation.</p>
<p>The &#8220;Why is this important?&#8221; link leads to a WordPress support article that describes the <a href="https://wordpress.org/support/article/settings-general-screen/#email-address" rel="noopener noreferrer" target="_blank">various uses for the admin email address</a>, such as new user registration notifications, comment approval, and maintenance messages.</p>
<p>Although it wasn&#8217;t the stated intention for the new admin email verification screen, the feature could become important for improving communication prior to automatic updates. Requiring admins to verify their email addresses after six months could ensure that more addresses are kept current, especially for admins who check their sites infrequently.</p>
<p>When the WordPress security team <a href="https://wptavern.com/proposal-to-auto-update-old-versions-of-wordpress-to-4-7-sparks-heated-debate" rel="noopener noreferrer" target="_blank">proposed auto-updating older versions of WordPress to 4.7</a>, one of the chief concerns is whether WordPress will be able to reach admins whose emails have been abandoned. This new admin email verification screen will not be be useful for older WordPress sites, but in the future, when auto-updating for major versions becomes the standard, it will help ensure more administrators are getting those notices to a working address.</p>
<p>A new <code>admin_email_check_interval</code> filter is available for developers to customize the interval for redirecting the user to the admin email confirmation screen. Those who find it to be unnecessary or annoying can set a very large interval for the check.</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, 24 Sep 2019 18:30:33 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s: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:8;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:63:"WPTavern: Twenty Twenty Bundled in Core, Beta Features Overview";s: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:29:"https://wptavern.com/?p=94038";s: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:73:"https://wptavern.com/twenty-twenty-bundled-in-core-beta-features-overview";s: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:5884:"<div class="wp-block-image"><a href="https://i1.wp.com/wptavern.com/wp-content/uploads/2019/09/twenty-editor.jpg?ssl=1" target="_blank" rel="noreferrer noopener"><img /></a></div>



<p>Twenty Twenty, the upcoming default WordPress theme, was committed to core and shipped with <a href="https://wptavern.com/wordpress-5-3-beta-1-ready-for-testing-includes-12-gutenberg-releases-and-new-twenty-nineteen-default-theme">WordPress 5.3 Beta 1</a> yesterday.</p>



<p>Like most core themes, Twenty Twenty is simple in function.  It comes packaged with a handful of custom features and options, but it remains true to the mission of being an easy-to-use default theme.</p>



<p>The theme has personality.  Its headings are bold and opinionated.  Its pull quotes grab your attention.  It&#8217;s unafraid of making a splash with its design.   This is a blog theme that&#8217;s meant to showcase what the block editor is capable of doing.   It is a refreshing change of pace from the current slew of themes landing in the directory.</p>



<p>Twenty Twenty is not ideal for every use case.  Some users will no doubt dislike the design choices.  Others will love everything about it.</p>



<p><em>Note: Twenty Twenty is still in beta, so its features could change between now and the official release of WordPress 5.3.</em></p>



<h2>Customizer Options</h2>



<div class="wp-block-image"><img />Hue-only picker for the accent color in the customizer.</div>



<p>The theme has a few custom options available within the customizer:</p>



<ul><li>A retina logo option, which scales the logo image to half its size to make it sharper on hi-res screens.</li><li>An option for showing or hiding a search icon in the header.</li><li>A choice between showing the full post text or summary (excerpt) on archive pages.</li><li>A header and footer background color.</li><li>An accent color used for links and other elements.</li><li>Support for the core custom background feature.</li></ul>



<p>The accent color option is an interesting choice.  Rather than providing the full breadth of all colors, the theme includes a hue-only color picker.  This feature allows users to select from a more limited set of colors within an accessible color range.</p>



<p>There is also a ticket for removing core <a href="https://github.com/WordPress/twentytwenty/issues/480">custom background image support</a> to help users avoid accessibility issues.</p>



<h2>Custom Page Templates</h2>



<a href="https://i1.wp.com/wptavern.com/wp-content/uploads/2019/09/twenty-cover.jpg?ssl=1" target="_blank" rel="noreferrer noopener"><img /></a>Cover template options in the customizer.



<p>Twenty Twenty has a fresh take on creating a cover page not seen in previous default themes.  The &#8220;Cover Template&#8221; works for both posts and pages.  When selecting it, the template displays the post featured image similar to the cover block in core.  The featured image spans the full width of the screen and extends behind the header and navigation area.  The post title and byline/meta are set over the image.</p>



<p>The theme provides a few options for customizing the output of the cover area and allows the user to:</p>



<ul><li>Set a fixed background for a parallax effect.</li><li>Add an overlay background color that sits over the featured image.</li><li>Change the color of the text on top of the image.</li><li>Choose a blend mode for the overlay background color.</li><li>Alter the overlay background color opacity.</li></ul>



<p>Having a core theme explore this feature is a nice. Ideally, users would be able to create a featured cover area on a per-post basis and adjust the colors for the specific image on that post.  However, core has yet to bundle such a feature with the block editor.  There is an open Gutenberg ticket for <a href="https://github.com/WordPress/gutenberg/issues/16281">expanding the editor outside of the post content</a> that may help theme authors address this common feature, but we&#8217;re likely several releases from seeing that become a reality.</p>



<p>The theme also includes a wide (full width) template, which is a fairly common feature.  At the moment, this template doesn&#8217;t seem to do anything in particular when assigned to a page.  There&#8217;s an <a href="https://github.com/WordPress/twentytwenty/issues/185">open GitHub ticket</a> that addresses what it should do at some point.  Considering that the theme has no left/right sidebar, it&#8217;d be interesting to see how this template functions.</p>



<h2>Page Loading Speed</h2>



<p>Page load is something to keep an eye on.  Twenty Twenty currently ships a 100 kb stylesheet on top of the block editor&#8217;s 40 kb CSS file (from the Gutenberg plugin).  This number doesn&#8217;t include the font and JavaScript files also loaded for the page.  This is a far cry from the behemoth 223 kb stylesheet included in Twenty Nineteen, but it&#8217;s still concerning because more development time means that more code will likely get added as tweaks are made and bugs are fixed.  </p>



<p>To be fair, the block editor has many elements to style with no unified design framework for theme authors to take advantage of.  Keeping a Gutenberg-ready stylesheet under 100 kb that also styles each block is a feat of engineering few can master.</p>



<h2>Follow Twenty Twenty Development</h2>



<p>Theme development is currently happening on the <a href="https://github.com/WordPress/twentytwenty/">Twenty Twenty GitHub repository</a>.  If you want to track its changes as the theme is imported into core, the changes are happening on the <a href="https://core.trac.wordpress.org/ticket/48110">Import Twenty Twenty</a> Trac ticket.</p>



<p>The theme still has work to be done before it&#8217;s ready for public release.  Now would be a great time to start testing it and reporting issues.</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, 24 Sep 2019 17:29:22 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s: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:9;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:82:"BuddyPress: An online community learning hub to deepen studies during IRL meetings";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"https://buddypress.org/?p=307967";s: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:102:"https://buddypress.org/2019/09/an-online-community-learning-hub-to-deepen-studies-during-irl-meetings/";s: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:6001:"<div><em>This is a guest post by Tanner Moushey, Founder and Lead Engineer of <a href="https://study.church/about/">StudyChurch</a>. He is a BP REST API early adopter and we thought his achievments implementing Headless BuddyPress was a great source of inspirations for the BuddyPress community. Many thanks to him for taking the time to share with us about this case study.</em></div>



<p>Peer reviewed by <a class="bp-suggestions-mention" href="https://buddypress.org/members/imath/" rel="nofollow">@imath</a></p>



<div class="wp-block-image"><img src="https://buddypress.org/wp-content/uploads/1/2019/09/StudyChurch-Organization-Dashboard.png" alt="" /></div>



<p><a href="https://study.church/">StudyChurch</a> is an ambitious startup seeking to make a mark in the church product marketplace. With a unique approach to online interaction, StudyChurch combines elements of engagement and learning in a way that is both simple and intuitive for the end user.</p>



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



<h2>Background</h2>



<p>I began working on StudyChurch as a side project in 2015. It started as a proof of concept and an excuse to dive deeply into BuddyPress. I wanted to leverage the group and activity components that BuddyPress provides and combine that with a custom study module that I created with a custom post type, BackboneJS, and the WordPress REST API. Answers to study questions were stored in WordPress Comments and synced to a custom BuddyPress activity type which was then used to create the discussion interface. Each question had an activity component under it to show off the other group answers and corresponding discussions.</p>



<p>I finished the first draft of the project after several months and before too long I had groups signing up to use the system. I continued to make minor modifications over the next few years but kept running into complaints about speed and the user interface.</p>



<p>When I was approached in 2018 by a publisher that wanted to use StudyChurch on a larger scale it sounded like a great opportunity to rebuild.</p>



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



<h2>Implementing Headless BuddyPress </h2>



<p>One of the big changes that I wanted to make in the rebuild was to switch to a JavaScript front end. I wanted something that was going to allow us to make numerous asynchronous data requests without using Ajax, which can be slow and difficult to maintain over a large project. I decided on VueJS and started building out the API to handle the data that was previously controlled by the BuddyPress templates. </p>



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



<h3>Building a custom API with the BuddyPress REST API </h3>



<p>I’d done quite a bit of work extending the WordPress REST API on previous projects and was excited to discover the <strong>BuddyPress REST API</strong> that extended it. This took care of a lot of the structure and allowed me to focus my time on building out our custom modules and functionality. Anytime I ran into something that needed to be more flexible, I’d submit a patch to the BuddyPress REST API repository and would get a prompt resolution.</p>



<p>Now that we are able to post and retrieve data through the API, the user interactive elements on the site are noticeably faster and the overall load on the server is much less. Not only that, but we are ready for a native app once we get to that point.</p>



<div class="wp-block-image"><img src="https://buddypress.org/wp-content/uploads/1/2019/09/studychurch-case-study-image-1024x482.png" alt="" class="wp-image-307971" /></div>



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



<h3>Creating&nbsp;a VueJS front end </h3>



<p>Building a completely JavaScript front end for BuddyPress was fun challenge. I underestimated how many different components I’d need to build out since I wasn’t able to rely on the BuddyPress default templates, but the end result was well worth the effort.With VueJS we were able to leverage a lot of prebuilt UI packages (like&nbsp;<a href="https://element.eleme.io/#/en-US">Element</a>) to do a lot of the heavy lifting for us. Since we were no longer tied to the BuddyPress template engine, we were able to get creative with how we displayed information and handled user interactions. The end result was a clean, fast, and user friendly interface that was simple and straightforward to use.</p>



<p>I made a few modifications to allow WordPress and BuddyPress recognize our front end app and use it for BuddyPress components. I solved this with a pretty simple hook into the template include filter and included our template instead of the default. A few custom rewrite rules handled any non-BuddyPress url structures I needed to support and I soon had a fully functional and detached front end.</p>



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



<h2>Conclusion</h2>



<p>StudyChurch is now a powerful, robust social network ready for scale. We are still working on improving the system and adding new features which are now easier and faster to implement with the new structure.</p>



<p>We’ve received some great feedback from users who find the app fast and intuitive. We are hoping to build out a native app in the near future.</p>



<p>I’m so thankful for the work done by all of the volunteers who’ve put so much time into WordPress, BuddyPress, and now the BuddyPress REST API. I think there are going to be many more projects like StudyChurch in the near future that will leverage these great tools to build amazing and helpful solutions.</p>



<p>Feel free to reach out if you have any questions or comments on what we’ve done with StudyChurch. Also, you are welcome to browse our code base on <a href="https://github.com/studychurch/sc-dashboard" target="_blank" rel="noreferrer noopener">GitHub</a>.</p>



<p>You can read more about StudyChurch and other projects we work on at <a href="https://iwitnessdesign.com/" target="_blank" rel="noreferrer noopener">iwitnessdesign.com</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:"Tue, 24 Sep 2019 09:07:27 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"imath";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:10;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s: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:116:"WPTavern: WordPress 5.3 Beta 1 Ready for Testing, Includes 12 Gutenberg Releases and New Twenty Twenty 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:29:"https://wptavern.com/?p=94165";s: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:128:"https://wptavern.com/wordpress-5-3-beta-1-ready-for-testing-includes-12-gutenberg-releases-and-new-twenty-nineteen-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:2577:"<p>WordPress core contributors worked together today to package up <a href="https://wordpress.org/news/2019/09/wordpress-5-3-beta-1/" rel="noopener noreferrer" target="_blank">5.3 Beta 1</a> for release on schedule. The Core slack channel was abuzz this afternoon as developers pushed through last-minute commits and fixed issues ahead of shipping the beta.</p>
<p>Iterations on the block editor are a major part of of this release. WordPress 5.3 will include the last 12 Gutenberg plugin releases. If you have already been using the plugin, you may have forgotten how many features it has that still haven&#8217;t made it into core WordPress. This includes significant improvements to group, column, and gallery blocks, Accessibility Navigation mode, the new inserter help panel, &#8220;snackbar&#8221; notices, and the typewriter experience, to highlight a few big items that have been rolled into 5.3.</p>
<p>The highly anticipated Twenty Twenty default theme is also available in the beta, which which we will explore in greater detail on WP Tavern this week. Its design is <a href="https://wptavern.com/first-look-at-twenty-twenty-new-wordpress-default-theme-based-on-chaplain" rel="noopener noreferrer" target="_blank">based on the Chaplin theme from Anders Norén</a> and showcases what is possible with the block editor.</p>
<p>Some of the UI changes introduced in Gutenberg are starting to make their way into other parts of the WordPress admin.</p>
<p>&#8220;These improved styles fix many accessibility issues, improve color contrasts on form fields and buttons, add consistency between editor and admin interfaces, modernize the WordPress color scheme, add better zoom management, and more,&#8221; release coordinator Francesca Marano said in the 5.3 beta 1 announcement.</p>
<p>A few other notable additions to 5.3 that need testing include the following:</p>
<ul>
<li>Support for resuming uploads on large file sizes</li>
<li>Automatic image rotation during upload</li>
<li>Improvements to Site Health checks</li>
<li>Time/Date component fixes</li>
<li>PHP 7.4 Compatibility and removal of deprecated functionality</li>
</ul>
<p>If you&#8217;re ready to take the beta for a test drive, the easiest way is to install the <a href="https://wordpress.org/plugins/wordpress-beta-tester/" rel="noopener noreferrer" target="_blank">WordPress Beta Tester</a> plugin and select the “bleeding edge nightlies” option. The <a href="https://make.wordpress.org/core/5-3/" rel="noopener noreferrer" target="_blank">official release</a> is targeted for November 12, 2019.</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, 24 Sep 2019 02:56:22 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s: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:11;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:102:"WPTavern: Google Search Console Adds Breadcrumbs Report, Sends Out Warnings for Structured Data Errors";s: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:29:"https://wptavern.com/?p=94132";s: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://wptavern.com/google-search-console-adds-breadcrumbs-report-sends-out-warnings-for-structured-data-errors";s: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:5150:"<p>Google recently announced a new Breadcrumbs report available in the Search Console to inform site owners about markup issues. In 2015, Google <a href="https://webmasters.googleblog.com/2015/04/better-presentation-of-urls-in-search.html" rel="noopener noreferrer" target="_blank">introduced support for schema.org structured data</a>, including the breadcrumbs URL structure, in order better present URLs in search results. The Search Console&#8217;s new report uses this data to help site owners fix any issues preventing their breadcrumbs from displaying as rich search results.</p>
<blockquote class="twitter-tweet">
<p lang="en" dir="ltr">Great news, we have a new report on Search Console <img src="https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f4e2.png" alt="