


<p>I guess making coffee is the equivalent of dismissing something in WordPress, but that&#8217;s just part of life. So I do wonder where most people will sit on this. They realize that there&#8217;s a commercial need for these things to exist. And so they cope with it, but it may not be ideal.</p>



<p>[00:27:37] <strong>Jonathan Bossenger:</strong> And that&#8217;s one of the reasons why we need something new because I am, I&#8217;m not, I&#8217;m not saying that we should punish all plugin developers because they want to make a living.</p>



<p>I&#8217;m not just saying that. As I said earlier, I failed at building a plugin business because I didn&#8217;t know how to market myself properly. I didn&#8217;t know how to turn plugins that I built for free into a paid product and how to convert customers. And I kind of think there are others that have done it successfully and there are those that haven&#8217;t. So I&#8217;m here just saying, you know, developers shouldn&#8217;t be paid for their work.</p>



<p>I a hundred percent agree that they should be paid for their work. And I don&#8217;t believe, as I said, I don&#8217;t believe the problem is the plugin developers. Because if you think about it, let&#8217;s go back to the example I had of, you know, Seriously Simple Podcasting. We release an update, so we show that update to the user on the dashboard.</p>



<p>When I&#8217;m testing that, I&#8217;m just seeing that one notification, but when the user has it on their website, they&#8217;re seeing that notification plus however many other useful, important notifications are being pushed out by other plugins. You might be in a situation, and I have seen this before, where you&#8217;ve got an admin dashboard with ten important notifications.</p>



<p>Because there&#8217;s been a WordPress update. So that means what plugin X had to make a change in how they do something, so you need to run an upgrade. Plugin Y made an upgrade change to their tables, so you need to run that. This plugin did this. And those are all legitimate notifications. Now, first of all, the user doesn&#8217;t know what&#8217;s more important and what is primary? You know, they&#8217;re all just the same color. They&#8217;re all just red. So it&#8217;s all just a stress factor. So number one, how do we give plugin developers the option to say, hey, this is a minor update, so you should do this, but not the end of the world. Like with the categories, the example I gave earlier.</p>



<p>How do we give another plugin developer the option to say, this is rather important. If you don&#8217;t do this, something could go wrong with your site. Then how do we say, okay, this is a really low end thing. This is just, you know, okay, the plugin&#8217;s been updated and make a note of this change and you can read it later if you want to. We have no way of doing that right now. We have no way of giving plugin developers, theme developers, an option to create a status level and have a certain type of message that the user can go through.</p>



<p>I mean, we live in a world where our mobile phones have amazing notification systems. And I can control what notifications I want to read. So I have a Facebook account purely to interact with the folks on some of the WordPress groups that I&#8217;m in. But I switched those notifications off, because none of those notifications are primarily important to me. But I certainly switched the notifications to the messaging app that I have with my wife, because those notifications that are important to me. I allow my banking notifications to come through.</p>



<p>If my banking app sends me advertising, I&#8217;m okay with that because I accept the fact that they&#8217;re a business. They need to make money. I&#8217;m already giving them some of my money every month with banking fees and all of that, but they want to make more, fine, I accept that. Because the benefits of receiving the SMS to tell me that my credit card has been cloned, do I want to cancel it, overrides my distaste by advertising, but that, that exists as a concept. WordPress doesn&#8217;t have that place where I, as a user can choose, even simply which notifications I want to see and which I don&#8217;t. So if I say I&#8217;m using SEO plugin X, whatever the name is, and I want to see the notifications because my SEO is important.</p>



<p>Then I will probably accept any upsells or upgrade notifications and I will either read them or just mark them as read, but I will be happy to receive them because the rest of the information they&#8217;re giving me to keep my SEO on board to make sure my meta tags are right, is my featured image working, is my social media image working? All those things that are important to me, I will accept their messaging. And I believe that in doing something like that, where there is a specific, formalized way of doing things. If I see SEO plugin X is using that system, giving me the user the control to receive the messaging, and SEO plug in Z is not, I personally will have more of a inkling to use X, because X is putting the control of notifications back in my hands, which I respect and anybody who&#8217;s bombarding me, I&#8217;ll have less of an inkling to want to use their product.</p>



<p>[00:32:02] <strong>Nathan Wrigley:</strong> I think the mobile phone example is really excellent because we can probably all identify with that. There&#8217;s usually some kind of drop down notification held and little icons appear to alert you to the fact that there&#8217;s something there to read, if you wish. And then of course you scroll down and you can very quickly dismiss them. But then they are, there in a confined area. And that area is familiar to you as the place where notifications are. It can be totally ignored. You could come back to it in five days time, safe in the knowledge that they will be there still.</p>



<p>And were are they important? Well, that&#8217;s on you, you knew they were there and you decided to ignore them. And then further to that, I&#8217;ve seen a trend recently within mobile phone apps to have notification settings within the apps. So you can go in and say to the banking app, look, I&#8217;m very happy to receive the critical updates about security breaches, but I&#8217;d probably rather not have the, I don&#8217;t know, here&#8217;s our latest mortgage deal kind of notifications.</p>



<p>The premise there must be that the banking app realizes that there is some balance of trust to be gained. And if you keep pushing the relevant to some, but irrelevant to most, notifications out at some point, the trust scale tips, and you become tired of this app and you may uninstall it. Now, in the case of banking, it maybe that&#8217;s a step too far, you&#8217;te kind of wedded to that, but you can imagine something where there are three or four rivals and you&#8217;re trying to weigh up, which one&#8217;s better for you. The overwhelm of notifications may just be the thing that tips you against it.</p>



<p>So let&#8217;s move into the project that you&#8217;ve got, WP Notify, because that feels to me as if you&#8217;re trying to replicate the mobile phone model. In other words, everything is tucked away in a particular area. Do you want to describe this enterprise just in broad brush strokes, and then we&#8217;ll talk about specifically what it does, and also how you may get involved in where the project&#8217;s at right now.</p>



<p>[00:34:00] <strong>Jonathan Bossenger:</strong> Sure. So, the goal of WP Notify, as we originally defined in the initial post. And before I get into that, I just want to give a shout out to, sorry dude, I can&#8217;t pronounce your surname, but he was the guy who came up with a proposal originally. He tweeted that he didn&#8217;t have time to try and move it forward. So I contacted him and I picked it up from there. But his original proposal was very simply, we need a better notification system for WordPress. We can&#8217;t take what we currently have, which has been overused, which is limited, and it&#8217;s limited in its technology, but unlimited in what people can do with it, and that&#8217;s the problem. We can&#8217;t take that and make that better. We need something brand new. And then once we have something brand new, that works, that makes sense that balances the needs of the user and the open source project. And the developers who are trying to earn money from their project. Once we have something like that, then it&#8217;s easier to control, to tame these notifications.</p>



<p>Then it&#8217;s easier to put guidelines in place. And then when the developers build their plugins, they are almost forced because when they register a notice, they can only register three fields. Those are the only three fields that are allowed. They can put whatever texts they wanted them, but those are the three fields. They can&#8217;t go overboard. They can&#8217;t make it bigger. They have a specific format, and the way they look. They&#8217;re allowed to add certain things, but not other things. That&#8217;s just where we&#8217;re at. So that&#8217;s what an WP Notify is. It&#8217;s a project that we kicked off now in 2019. So it&#8217;ll be going on for three years in August.</p>



<p>It&#8217;s an open source, what&#8217;s known as a feature plugin. So a feature plugin is something that is, I want to say, not sponsored by, has been accepted by WordPress Core in general as a good idea. We have an official GitHub repository on the WordPress organization and we have a Slack channel, and we are slowly trying to build this better notification system for WordPress.</p>



<p>[00:35:57] <strong>Nathan Wrigley:</strong> So imagine that I&#8217;ve enabled this, I&#8217;ve downloaded it and activated it. I will, by the way, link to the GitHub repository and various other things.</p>



<p>[00:36:07] <strong>Jonathan Bossenger:</strong> I wouldn&#8217;t install and activate it just yet, because it&#8217;s not something that you can actually use yet.</p>



<p>[00:36:12] <strong>Nathan Wrigley:</strong> So rewind. I haven&#8217;t installed it. I haven&#8217;t activated it. None of that stuff has happened. What does it look like? What will it present me with? As a user if I&#8217;m looking at the screen, what will I be seeing?</p>



<p>[00:36:24] <strong>Jonathan Bossenger:</strong> Okay. So it&#8217;s difficult to obviously, you know, describe this in a podcast environment, but the idea is very similar to what we were chatting about when we spoke about the Android or the iOS, the mobile phone notification system.</p>



<p>The idea is to have some kind of icon, not a jumping blinging one, but some kind of icon, be it a bell or something. I think in the design that is. That shows some kind of user interface messaging to say, you have new notifications. The user is then able to click on that. They&#8217;re able to see the notifications come up, they&#8217;re able to scan through, see which ones are important to them, see which ones aren&#8217;t. Read the ones that are dismissed, the ones that aren&#8217;t. The other idea as we spoke about earlier is to give the user the control over who they want to receive notifications from. So if they keep getting a bunch of notifications from plugin X that are never useful to them, they can turn it off if they want to.</p>



<p>If they receive notifications from plugin X that are useful for them, they leave them on. It is up to the user to then choose to either read or dismiss those notifications. We don&#8217;t want to go as far as saying, we&#8217;re only going to show notifications that are state changes or update changes.</p>



<p>We want the plugin developers to be able to advertise their products. We want the theme developers and the product developers to be able to say, hey, we&#8217;ve got a black Friday special on. We&#8217;ve got a discount code running, whatever. We want those things, but we want them in a way that the user has the control. So there are some designs, as you can see, if you go through to the GitHub repository on the read me page, we have links to our design documents.</p>



<p>We have links to our requirements documents. We spent about, due to the nature of open source, we spent probably about a year and a half just working on what are the requirements version one? And that went through a lot of process of feedback and revisions. Then we worked on design and that went through feedback and revisions as well.</p>



<p>Now we&#8217;re starting at the sort of initial implementation phase and our first goal, our first short term goal right now is to take those designs, and actually implement them purely as HTML so that you, Nathan, or anybody else who is interested, could install the plugin and just see what we&#8217;re planning. Just to get a visual idea of what this could look like.</p>



<p>The goal after that is to then get feedback from the community. From the plugin developers, from the theme developers, from the users, from the open source community. And say, does this solve the problem we&#8217;re trying to solve? If it does, then we can start looking at how do we implement this?</p>



<p>[00:38:46] <strong>Nathan Wrigley:</strong> How has the project been received? Have you had a lot of engagement? Has it been a difficult struggle trying to get people involved? What&#8217;s your opinion on where you&#8217;re at given the time that&#8217;s been spent on it?</p>



<p>[00:38:55] <strong>Jonathan Bossenger:</strong> That&#8217;s so here&#8217;s where we get into a little bit of personal history on this. For me, it&#8217;s been a little bit difficult because I&#8217;m not a fully sponsored contributor to opensource. I have a day job. And my day job requires me to do certain things for the business that I work for, be it, when I started it was Castos, now it&#8217;s Delicious Brains. I am allowed X amount of time to contribute to open source, but it&#8217;s not, I&#8217;m not allowed to spend my whole day. So I&#8217;ve kind of worked in a bit of a, it&#8217;s called a project manager slash wrangler role, just to try and get people interested.</p>



<p>We had, when we launched, we had, if you go to the initial launch post, we had loads and loads of comments and everybody was keen and everybody was excited. The problem was, in my opinion at least, everybody had their own idea of how this should work. And there was actually a stage, and if you go back into the history of the meetings, there was a stage where there was a bit of a of almost people fighting with each other in the meetings. Because one was saying it should be done this way, and one was saying it should be done then the other way. And we hadn&#8217;t even, we hadn&#8217;t even done requirements gathering yet, but people were already deciding how to build this thing. But we didn&#8217;t even know what we were building yet. So that kind of tapered off, and then we got a nice core group of folks. There was maybe ten of us. I can&#8217;t remember the exact numbers, but around ten of us that were meeting regularly. We were doing the requirements gathering. And I want to shout out to a bunch of people here Mervin, Hernandez, Ari. I can&#8217;t pronounce his surname, but he works at Yoast now, he was the theme team representative. Aaron from who was at Auttomatic, she&#8217;s somewhere else. A couple of other folks that I&#8217;m forgetting right now. I apologize in advance, but they were really involved and keeping things going. There was another chap who I know he&#8217;s a WordPress user name, but I don&#8217;t know his first name. His represented prestigious as Ramen. I don&#8217;t remember his first name. He was very influential in getting the PHP side going. And what&#8217;s happened now is we&#8217;ve kind of reached this point where COVID happened, and people&#8217;s lives changed. And I noticed that things started going down a bit and we just kind of kept chugging along and chugging along.</p>



<p>And what I&#8217;m now seeing is that with all of this conversation, that&#8217;s going on, people are coming back into the project. So we had a bit of work done last year on getting that HTML going, which I mentioned earlier. That kind of died down. And then recently somebody joined again and said, hey, I want to help out.</p>



<p>So I think the biggest problem that we have as an open source feature plugin, if you will, is just getting the, and it&#8217;s difficult in an source environment because you don&#8217;t, you don&#8217;t have a lot of easy ways to connect the folks. You have to make blog where you can create posts and I&#8217;ll blame myself here. I probably wasn&#8217;t keeping up the post as much as I should have. But you don&#8217;t really have like an official way to, you know, call to arms and get people involved. So whenever I do see these posts that jump up and down about notifications are a problem, then part of me goes, well, we&#8217;re here, we&#8217;re over here, come and have a look.</p>



<p>So we have had some people coming in, now, it looks like we&#8217;re moving forward again with HTML side of things. So I&#8217;m hoping that very soon we&#8217;ll be able to actually release this installable plugin that doesn&#8217;t do much, but actually just looks like what it&#8217;s going to look like. And I&#8217;m hoping my, my hope is that when we can do that, when we can physically give people something to install, and see, then they will get excited and start getting involved again.</p>



<p>[00:42:08] <strong>Nathan Wrigley:</strong> If I were an end user of WordPress and I had things tucked away in a notification panel or whatever that might be, that feels to me like, well, a good repository for notifications. I&#8217;m just wondering from the plugin developer side, especially from the perspective of somebody who is, really, as clean as a whistle. They never misstep and misuse notifications. They just keep everything very slim and very lean and they don&#8217;t bother us too much. What would the future for them look like? Are they going to be additional hurdles that they would have to jump through? Let&#8217;s imagine a scenario in two or three years time. WP Notify has become part of Core and everybody needs to go through the process of registering their notifications in the correct way.</p>



<p>What would the burden be like? Is it very minimal on the plugin developer side? How does that work?</p>



<p>[00:42:57] <strong>Jonathan Bossenger:</strong> So I&#8217;ll say this, I don&#8217;t see admin notices going anywhere anytime soon. And one of the reasons for that is because WordPress Core uses it extensively and will probably continue to do so until we move completely towards a JavaScript admin dashboard.</p>



<p>But I don&#8217;t see admin notices going anywhere anytime soon. So those developers that are using admin notices in big air quotes correctly, won&#8217;t be affected. Those that are using them in different places, but unobtrusively currently it&#8217;s a case of, you register a hook. Your write a little bit of HTML, and your notice works. On the WP Notify side, we want to make it as easy as that as well. So they will be a defined structure. You can actually see, I can send you a link. There&#8217;s a document where we have the defined structure of a notification. And if I remember correctly, it&#8217;s title and description. So very similar to what an admin notice currently looks like. An admin notice just has a description area, if you will. It doesn&#8217;t even, it&#8217;s not even defined, it generally gets used as a description area. We&#8217;ve added a title. And then I seem to recall, can&#8217;t remember hundred percent, I&#8217;ll have to double check, but I think we&#8217;ve also added a possibility to register a URL.</p>



<p>So if the user needs to click on a link to go and trigger some other action or click on a link internally in WordPress to trigger some action. So as a developer, you would have a similar rich user interface where currently you would hook into an admin notice. You would register a callback. Your call back would continue HTML.</p>



<p>In WP Notify you would have a similar hook and then you would register an object, and the object has your title, your description, and if you wanted your URL. So we want to keep it as easy to use as what admin notices is, but as friendly to the user as possible.</p>



<p>[00:44:34] <strong>Nathan Wrigley:</strong> I think probably Jonathan I&#8217;ve asked everything that I wish to ask. The inevitable thing is, is there anything that you wished to describe that I didn&#8217;t ask you about?</p>



<p>[00:44:43] <strong>Jonathan Bossenger:</strong> No. At the end of the day, The only thing that the only thing that I&#8217;m, let&#8217;s call it keen on, if you want a better word is to move this forward. So right now I&#8217;m going to use this opportunity to say if there are any front end developers or any developers out there who are very good at turning design into HTML. You want to find some way to contribute to WordPress, we have an open track ticket, where some work has been done. If we can get that over the line, that will make a huge. Then, if there are any developers who want to make this happen and they&#8217;re very good on the PHP side, or they&#8217;re very good on the JavaScript side, please come along and take a look.</p>



<p>Everything is linked through on our GitHub Wiki. We have a project Wiki dedicated towards the requirements documents, the design, the requirements analysis we did, the open issues and the pull request. It&#8217;s all there. So come along and come and join us, come and help us build a better notification system for WordPress, because once we can put that in place, then we can make amazing things happen.</p>



<p>[00:45:42] <strong>Nathan Wrigley:</strong> Jonathan, if somebody were interested in reaching out to you personally, because they would like to contribute in some way or just find out more. Do you have any links or websites or social channels that you frequent?</p>



<p>[00:45:54] <strong>Jonathan Bossenger:</strong> Sure. I am on Twitter. It&#8217;s John underscore Bossenger because Jonathan Bossenger was too long for Twitter, back in the day. You&#8217;re also welcome to email me. My email address is my full name. Jonathan Bossenger at gmail dot com. I don&#8217;t mind sharing that email address because Gmail&#8217;s pretty good at handling spam. And I would just say that if you do email me to ask me questions, please give me some time because I am very strict with how I manage my emails.</p>



<p>So I&#8217;ll check that mailbox once a day and reply when necessary. Finally, if you want to get involved, go to github dot com slash wordpress slash wp hyphen notify and go through from there. If you are already contributing to WordPress and you&#8217;re already in the WordPress Slack, there is a feature notifications channel where we have our meetings every Wednesday.</p>



<p>And I think it&#8217;s 2:00 PM UTC, please feel free to come and join. And you&#8217;re welcome to DM me in that Slack. Email is the best. I&#8217;m a little bit old now, so this whole Twitter DM thing is something I still struggle with. So, if you want to ask me questions, email is . Probably the best. Otherwise get me onto Twitter.</p>



<p>[00:46:49] <strong>Nathan Wrigley:</strong> Jonathsn Bossenger, thanks for joining us today on the podcast.</p>



<p>[00:46:52] <strong>Jonathan Bossenger:</strong> No problem. Thank you. .</p>
</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, 02 Mar 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:44;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:49:"WPTavern: The WordPress Web Fonts API Has Arrived";s: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=130686";s: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:60:"https://wptavern.com/the-wordpress-web-fonts-api-has-arrived";s: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:7757:"<p class="has-drop-cap">The journey toward a web fonts API in WordPress has been a rollercoaster of emotions for developers. After being <a href="https://wptavern.com/proposed-web-fonts-api-not-coming-to-wordpress-5-9-possibly-landing-in-gutenberg-first">punted from the WordPress 5.9 release</a>, it was moved to the Gutenberg project, where it could be built alongside related features that relied on it.</p>



<p>The API has been <a href="https://github.com/WordPress/gutenberg/pull/37140">merged into the Gutenberg plugin</a> and should land in version 12.8. Theme authors who want to test it can clone the dev version of the plugin or <a href="https://gutenbergtimes.com/need-a-zip-from-master/#nightly">download the nightly version</a> from Gutenberg Times.</p>



<p>Jono Alderson opened the <a href="https://core.trac.wordpress.org/ticket/46370">original ticket</a> for a web fonts API in February 2019. However, it was not until late 2021 that it gained a mass of <a href="https://wptavern.com/a-web-font-api-possibly-coming-to-wordpress">support and development</a>. By most accounts, the API looked ready to ship with WordPress 5.9. However, it was put on hold by Andrew Ozz, one of the lead WordPress developers.</p>



<p>It was not a popular decision, but it may have been the best direction. The API was limited because it did not yet have <code>theme.json</code> support. Being only available through PHP meant that theme authors would have mostly been doing what they always have &#8212; rolling out their own solution. This was not the holdup for its unveiling, but it will likely be the API&#8217;s most common use case.</p>



<p>While many wanted to see this feature land in WordPress 5.9, the extra months have given it time to evolve into a cleaner API that integrates with the site and content editors.</p>



<p>Theme authors can now define font-face definitions alongside their corresponding families in <code>theme.json</code> files, and WordPress will automatically load the necessary <code>@font-face</code> CSS in the editor and on the front-end. I have tested this extensively and have not run into any problems.</p>



<p>The potential downside is that the feature only ships with support for a local provider, which means fonts must be bundled with the theme. A Google Fonts provider was part of the original implementation but was later removed.</p>



<p>Ozz goes into <a href="https://github.com/WordPress/gutenberg/pull/36394#issuecomment-981970167">further details in an earlier ticket</a>, but his recommendation was to drop Google Fonts support for now:</p>



<blockquote class="wp-block-quote is-style-default"><p>Add support only for local fonts for now. If WordPress decides to include support for the Google CDN later on, the implementation will have to consider web privacy laws and restrictions and be tied with an eventual User Consent API, etc.</p></blockquote>



<p class="has-neutral-900-color has-neutral-100-background-color has-text-color has-background"><strong>Related article:</strong> <a href="https://wptavern.com/german-court-fines-website-owner-for-violating-the-gdpr-by-using-google-hosted-fonts">German Court Fines Website Owner for Violating the GDPR by Using Google-Hosted Fonts</a></p>



<p>Ari Stathopoulos, one of the developers behind the web fonts API, explained that bundling a solution in core that writes the font files directly to the server <a href="https://github.com/WordPress/gutenberg/pull/36394#issuecomment-986541963">would improve privacy</a>:</p>



<blockquote class="wp-block-quote"><p>Instead of removing it, maybe we could implement them properly, enforcing locally-hosted webfonts to improve performance &amp; privacy? This way we&#8217;d be setting a good example, and we&#8217;d see a significant performance &amp; privacy improvement in the WP ecosystem as themes &amp; plugins that currently use Google-fonts, Adobe-fonts and whatnot will start to adopt the API.</p></blockquote>



<p>For now, it looks like local fonts are officially supported, but theme and plugin authors must register custom providers. One fear with leaving out Google Fonts support is that there will be many competing solutions in the wild instead of one solid provider that everyone can rely on. The more developers build their own wheels, the more likely different implementations ship with bugs or security issues.</p>



<p>Automattic already has a <a href="https://github.com/Automattic/jetpack/pull/23045">draft patch for a Google provider</a> for Jetpack. Assuming that gets pulled into the plugin, it will undoubtedly conflict with a theme down the road that registers its own <code>google</code> provider ID.</p>



<p>Only supporting local fonts could also create larger theme download sizes. For many themes, this should be a non-issue. One, two, or three font packages are reasonable. However, if global style variations become popular, we could see themes that ship dozens of fonts to cover multiple pre-packaged designs. That will quickly lead to bloated theme files and, combined with enough images, theme authors may hit the 10MB limit for submission to the directory. That feels a little like tomorrow&#8217;s problem, but it is something to begin thinking about today.</p>



<p>There are still some issues that need to be solved around the API. However, pushing it through this early in the WordPress 6.0 release cycle will give everyone time to test and help improve it.</p>



<h2 id="testing-bundled-fonts">Testing Bundled Fonts</h2>



<p>There are two methods for registering web fonts with WordPress. For theme authors, the simplest solution is to define them via their <code>theme.json</code> files. This is the method that I will cover below since the file has been standard since WordPress 5.8. There is a PHP example in the <a href="https://github.com/WordPress/gutenberg/pull/37140">pull request ticket</a>.</p>



<p>The <code>theme.json</code> keys and values mostly correspond to the CSS <code>@font-face</code> rule. Theme authors should <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face">brush up on it</a> if it has been a while since they have used it.</p>



<p>For testing, I registered three web fonts through my theme, and the following screenshot shows them in action in the editor:</p>



<img />Testing three web fonts.



<p>Web fonts should be registered under <code>settings.typography.fontFamily</code> as part of a specific font family definition. The following is a copy of the code I am testing in one of my themes using the Cabin font:</p>



<pre class="wp-block-code"><code>{
    "settings": {
        "typography": {
            "fontFamilies": &#91;
                {
                    "fontFamily": "\"Cabin\", sans-serif",
                    "slug": "primary",
                    "name": "Primary",
                    "fontFace": &#91;
                        {
                            "fontFamily": "Cabin",
                            "fontWeight": "400 700",
                            "fontStyle": "normal",
                            "src": &#91; "file:./public/fonts/cabin/Cabin-VariableFont_wdth,wght.ttf" ]
                        },
                        {
                            "fontFamily": "Cabin",
                            "fontWeight": "400 700",
                            "fontStyle": "italic",
                            "src": &#91; "file:./public/fonts/cabin/Cabin-Italic-VariableFont_wdth,wght.ttf" ]
                        }
                    ]
                }
            ]
        }
    }
}</code></pre>



<p>Note that <code>file:./public/fonts/*.ttf</code> is relative to the theme folder. Theme authors need to adjust this to fit their theme structure.</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, 02 Mar 2022 00:58: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:"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:45;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:88:"Post Status: Post Status Comments (No. 7) — The State Of WordPress Admin Notifications";s: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=93986";s: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://poststatus.com/post-status-comments-no-7-the-state-of-wordpress-admin-notifications/";s: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:4671:"<h2 id="h-the-only-folks-able-to-do-a-free-plugin-are-ones-that-are-supported-by-a-big-corporation-matt-cromwell">“The only folks able to do a free plugin are ones that are supported by a big corporation&#8230;” — Matt Cromwell</h2>



<p class="has-drop-cap">&#8220;They suck&#8221; might be one way to describe the state of WordPress admin notices as a whole, but that doesn't help us very much, does it? <strong>David Bisset</strong> is joined by <strong>Matt Cromwell</strong>, <strong>Jon Bossenger</strong>, <strong>Aurooba Ahmed</strong>, and several guests to discuss the current pain points and possible technical solutions. Why do developers overdo admin notices in the first place? Learn about <strong>WP Notify</strong>, how it approaches the problem, and how the WordPress community can help make this the core solution.</p>







<p class="has-background"><strong>Post Status Comments</strong> <img src="https://s.w.org/images/core/emoji/13.1.0/72x72/1f4ac.png" alt="💬" class="wp-smiley" /> is a stage for WordPress professionals to exchange ideas and talk about recent topics and trends.<br /><br /><a href="https://poststatus.com/podcast/comments/">Browse past episodes</a> and subscribe to <a href="https://poststatus.com/podcasts/">our podcasts</a> on&nbsp; <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 get them by <a href="https://feeds.simplecast.com/2JE9sc8P">RSS</a>. <img src="https://s.w.org/images/core/emoji/13.1.0/72x72/1f399.png" alt="🎙" class="wp-smiley" /></p>



<h3 id="%f0%9f%99%8f-sponsor-godaddy-pro"><img src="https://s.w.org/images/core/emoji/13.1.0/72x72/1f64f.png" alt="🙏" class="wp-smiley" /> Sponsor: <a href="https://poststatus.com/stellarwp">StellarWP</a></h3>



<p>We are a collective of WordPress innovators, empowering business owners and creators with plugins and tools to help them thrive. We build great plugins, but we don’t stop there; we continually challenge ourselves to keep innovating and improving.</p>



<p>Our solutions include the most trusted names in WordPress, with more than 2.5 Million installs. Since 2021, we’ve grown to encompass seven brands and dozens of plugins.</p>



<p>StellarWP is part of the Liquid Web family of brands.</p>



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



<hr class="wp-block-separator logo is-style-default" />



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



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



<ul><li><a href="https://github.com/WordPress/wp-notify">WP Notify &#8211; A Notification Center for WordPress (Feature Project)</a></li><li><a href="https://make.wordpress.org/core/2022/02/01/wp-notify-status-update/">WP Notify Status Update</a></li><li><a href="https://www.mattcromwell.com/delayed-admin-notice/">Encourage Donations to your Free Plugins with a Delayed Admin Notice</a></li><li><a href="https://wptavern.com/clarity-ad-blocker-for-wordpress-announced-receives-mixed-reactions">Clarity Ad Blocker for WordPress Announced, Receives Mixed Reactions</a></li></ul>



<h3 id="follow-our-panelists-and-post-status-on-twitter-a4ffc805-90f1-41dc-9135-61b3ff20cb40">Follow Our Panelists (and Post Status) on Twitter:</h3>



<ul><li><a href="https://twitter.com/dimensionmedia">David Bisset</a></li><li><a href="https://twitter.com/aurooba">Aurooba Ahmed</a></li><li><a href="https://twitter.com/jon_bossenger">Jon Bossenger</a></li><li><a href="https://twitter.com/learnwithmattc?lang=en">Matt Cromwell</a></li><li><a href="https://twitter.com/post_status" target="_blank" rel="noreferrer noopener">Post Status</a></li></ul>



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



<hr class="wp-block-separator logo is-style-default" />



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



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



<hr class="wp-block-separator logo is-style-default" />



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



<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:"Tue, 01 Mar 2022 21:26:09 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"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:46;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:82:"WPTavern: Strattic Acquires WP2Static  Plugin, Plans to Relaunch on 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:"guid";a:1:{i:0;a:5:{s:4:"data";s:30:"https://wptavern.com/?p=130646";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:90:"https://wptavern.com/strattic-acquires-wp2static-plugin-plans-to-relaunch-on-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:3332:"<p>Strattic, a WordPress hosting company that creates static files managed via a headless install, has <a href="https://www.strattic.com/wp2static-joins-strattic/">acquired WP2Static</a>, an open source plugin for generating a static WordPress site. Leon Stafford, the plugin&#8217;s creator, has been working for the company for the past nine months and will continue to maintain WP2Static.</p>



<p>In 2020, Stafford <a href="https://staticword.press/t/removal-of-wp2static-from-wordpress-org/159">removed WP2Static from WordPress.org</a> after the downsides of hosting in the directory began to outweigh the benefits for his project. He cited WordPress.org&#8217;s lack of a straightforward way to  alert users to important updates, users abusing the Reviews section to file issues, the inability to disable support, and the cumbersome plugin release process.</p>



<p>WP2Static is a tool aimed more at DIY users who want to manage their own static site generation, but Stafford found that hosting on WordPress.org often brought the plugin to users who didn&#8217;t fully understand its function.</p>



<p>&#8220;It was almost too easy for people to install <a href="https://wordpress.org/plugins/static-html-output-plugin/">WP2Static/Static HTML Output</a> when in the wp.org repository,&#8221; he said. &#8220;This lead to quite a few people installing it on their live production servers and expecting some magic performance improvement, which is not the way it’s intended to be used.&#8221; </p>



<p>Acquiring WP2Static allows Strattic to funnel the less technical crowd to its hosting services, as well as those who prefer a more managed experience. At the moment users get updates from the <a href="https://wp2static.com/download/">WP2Static website</a>, or via the Composer package, or GitHub download. Strattic plans to relaunch the plugin on WordPress.org to improve its discovery, installation, and update process.</p>



<p>&#8220;While Leon was focusing development primarily for the open source/GitHub users of the plugin, we&#8217;d like to get this static site solution helping as many WordPress users as possible and for that, the WordPress repository makes it the easiest experience for them,&#8221; Strattic CEO Miriam Schwab said.</p>



<p>Schwab said prior to acquiring WP2Static, it was already generating high quality leads for Strattic, as Stafford had listed the company as an alternative to using the plugin.</p>



<p>&#8220;We expect this trend will continue and grow now that WP2Static is part of the Strattic family,&#8221; Schwab said. &#8220;WP2Static is an excellent option for users who want to test the waters with static WordPress in a low-commitment way, and also for users who are more &#8216;DIY&#8217; and get excited about building their own infrastructure and architecture for their websites, and maintaining it on an ongoing basis.&#8221;</p>



<p>Strattic will be marketing the plugin as a starting point. Users who outgrow WP2Static will be encouraged to look to Strattic for more complex functionality, such as dynamic plugins, forms, search, 301 redirects, SEO plugins, multi-language, and other features not supported by the plugin. Schwab said they do not currently plan to rebrand WP2Static but are considering revising its name to “WP2Static by Strattic.&#8221; </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, 01 Mar 2022 21:16:37 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s: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:47;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:74:"WPTavern: WordPress Multisite Is Still a Valuable and Often Necessary Tool";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:30:"https://wptavern.com/?p=130441";s: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://wptavern.com/wordpress-multisite-is-still-a-valuable-and-often-necessary-tool";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:6194:"<p class="has-drop-cap">Rob Howard rocked the boat last week in calling for the <a href="https://masterwp.com/its-time-to-deprecate-wordpress-multisite/">deprecation of WordPress multisite</a> in the latest MasterWP newsletter. He argued that &#8220;the brave and noble add-on is no longer necessary or valuable to developers.&#8221; The <a href="https://twitter.com/ChrisWiegman/status/1496500570328342533">responses via Twitter</a> were swift and in disagreement.</p>



<p>Before WordPress 3.0, multisite was an entirely separate system called <a href="https://codex.wordpress.org/WordPress_MU">WPMU</a> (WordPress MultiUser). It was a mess to set up, and one of the best things to ever happen to it was that it was rolled into core WordPress. It became a first-class citizen in the WordPress world, and its setup is now simple enough that nearly anyone can get a network up and running in no time.</p>



<p>I have not used multisite much in my career in the WordPress space. My primary use case has been for setting up theme and plugin demos. These are sites that I do not intend to touch much outside of their initial setup. Multisite always makes it easy to manage theme and plugin updates from the network admin.</p>



<p>Howard argued that this is no longer necessary in today&#8217;s world:</p>



<blockquote class="wp-block-quote"><p>Likewise, sharing themes and plugins between sites no longer seems like a benefit to developers or end-users. With one click, we can deploy a parent theme from a Git repository to an unlimited number of sites hosted anywhere in the world – so what&#8217;s the real value of having a theme on the Multisite network?</p></blockquote>



<p>Even with the vast tools available for deploying such things via Git, sometimes I prefer to avoid complicating matters. I can work in the command line well enough, but having that central location to manage all of my sites in one place is simpler. The argument also leaves out an entire segment of users who run multisite and have never even heard of Git. Multisite is sometimes a user tool.</p>



<p>The most complex multisite setup I have worked on was for a university. I was contracted to do some development work for another WordPress agency a few years ago. My focus area was extending the user role and permissions system.</p>



<p>The network had sites for each school, department, and various other projects. Setting all of this up on multisite allowed the permanent dev team to create new sites on an as-needed basis instead of spinning up an entirely new WordPress install. Everyone also had user access via their university email and password. It is possible to share a user database via multiple single-site installs, but it adds another layer of complexity that does not exist with multisite.</p>



<p>I cannot imagine the agency running this through 100s of individual installs. I am sure that some systems would make this easier, but a solution already exists in WordPress.</p>



<p>My multisite experience is limited. However, I have routinely talked with and helped fellow developers actively working on networks with 1,000s of sites in the enterprise and education sectors. It is almost a given that they are running multisite for every job.</p>



<p>WordPress co-founder Mike Little explained why multisite is often necessary for his work <a href="https://twitter.com/mikelittlezed1/status/1496912733048033285">via Twitter</a>:</p>



<blockquote class="wp-block-quote"><p>Of course, I manage a hundred single instances too, a couple of them are 3-6-site multisites, but most are single (and should remain so). But one client of mine has close to 450 sub-sites on one of his multisites. That would be impossible to manage as separate sites.</p><p>Around 1K users per subsite, up to 100+pages of content created/day during an event. etc. It&#8217;s also constantly being developed.</p><p>Rolling out fortnightly code changes to 400+ single sites (not mentioning there are more than a dozen other instances with up to 50 sub sites each) would be unmanageable. And this isn&#8217;t a for profit org, so doesn&#8217;t have unlimited funds.</p></blockquote>



<p>I have sat on this article since last Wednesday. At the time, I was ready to leap into the fire and defend multisite. However, as the responses rolled in via Twitter to the MasterWP article, I was disheartened by a few of the responses from the WordPress community.  I did not want to feel like I was piling on.</p>



<p>The world of social media has made knee-jerk reactions all too common and uninviting to those outside of the inner WordPress circle. There is too much pressure to not say the &#8220;wrong&#8221; thing that so few end up saying anything worthwhile &#8212; or at all. Fortunately, there is still some thoughtful discourse, such as the <a href="https://wpowls.co/articles/its-time-to-give-wordpress-multisite-some-love/">response article</a> by Maciek Palmowski on WP Owls and from others on Twitter.</p>



<p>Perhaps Howard was <em>really</em> just writing a click-bait article. However, because he only recently became the new owner of the MasterWP newsletter, I felt like I owed it to him to believe he was attempting to generate sincere discussion. Maybe his conclusion of deprecating a vital feature for many was off-base, but the conversation around problems with multisite is worth having.</p>



<p>Regardless of the merits of Howard&#8217;s argument, it did lead to an idea that might just be worth exploring. <a href="https://twitter.com/schlessera/status/1496646033891201028">Alain Schlesser tweeted</a>:</p>



<blockquote class="wp-block-quote"><p>I&#8217;d prefer for single-site to be deprecated instead, to not have a random differentiation anymore. Everyone just has a network, but some only have a single site on them. Would simplify everything…</p></blockquote>



<p>I do not know what such a WordPress would look like, but I do know that it could simplify the multisite installation process if there were only one way of doing it. Perhaps there would be fewer edge cases, plugin issues, and wrinkles that developers need to iron out if there were only one flavor of WordPress.</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, 01 Mar 2022 02:13:07 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s: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:48;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:51:"WordPress.org blog: People of WordPress: Tonya Mork";s: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=12151";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:66:"https://wordpress.org/news/2022/02/people-of-wordpress-tonya-mork/";s: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:11984:"<p><strong>In this series, we share some of the inspiring stories of how WordPress and its global network of contributors can change people’s lives for the better. This month we feature a website developer and engineer from the US, who found the software and its community provide the impetus to keep her going forward.</strong></p>



<p>WordPress gave Tonya Mork a new lease of energy after a health crisis from which she nearly died. She had spent two decades as an electrical and software engineer in high tech automated manufacturing. But when she discovered the WordPress software, teaching it to others became her new purpose. Through this discovery, she has gone on to help thousands of developers understand and build code in great depth.</p>



<p>As part of her WordPress journey, she has shared her skills in the roles of Release Coordinator and the Core Tech Editor for the most recent major WordPress release, <a href="https://make.wordpress.org/core/5-9/">5.9</a> Joséphine.&nbsp;</p>



<div class="wp-block-image"><img width="1024" height="515" src="https://i0.wp.com/wordpress.org/news/files/2022/02/featured-img-tonyamork.jpg?resize=1024%2C515&ssl=1" alt="Tonya pictured in her work room" class="wp-image-12326" /></div>



<h2 id="life-takes-an-unexpected-turn">Life takes an unexpected turn</h2>



<p>For the first 22 years of Tonya’s life, she rose through the ranks from enlisted personnel in the US Navy to a highly sought after chief engineer with a multi million-dollar industrial automation engineering firm.  </p>



<p>However, while she was working in engineering, her life was to change dramatically. In 2007, Tonya started to face health challenges that had an impact on all that she had known.</p>



<blockquote class="wp-block-quote"><p><strong>“My career defined me. It was my canvas and my art. When it was gone, I did not recognize myself.</strong></p><cite>Tonya Mork</cite></blockquote>



<p>One day, she woke up at home ready to visit a client’s facility where her firm was building a robotic system. She said: “As I headed for the door, I fell to my knees, as this wave of pain crushed down on my chest.”</p>



<p>Doctors diagnosed her with a very rare heart disease that caused her blood vessels to spasm, cutting off blood to whatever was downstream of the blockage. </p>



<p>A few months later, she was diagnosed with a second rare and more serious condition, related to the migraines from which she had been suffering. Combined with her heart condition, this made every migraine attack life-threatening.</p>



<p>For nearly seven years, the unexpected changes to her health left her mostly homebound and constantly monitored. This meant she had to close her engineering firm and say goodbye to staff and clients. </p>



<p>“My career defined me. It was my canvas and my art. When it was gone, I was lost. I didn’t recognize myself.”</p>



<p>But in her darkest hour, she found her strength. Tonya made a choice to move forward, and make the most of her life.</p>



<p>“When you are at rock bottom, you have to make a decision or else it will consume you. My decision was that I chose to be happy,” said Tonya.</p>



<p>One of Tonya’s first steps was to start writing a blog using WordPress. In this she shared insights on how to find peace and joy in any situation. She wrote about kindness and helping one another.&nbsp;</p>



<p>The joy of making solutions through WordPress became a way for Tonya to accept her new life and not feel as limited by her health. She wanted purpose, and in WordPress, she found just that.</p>



<p>Tonya felt she could do something worthwhile in the virtual world.&nbsp;</p>



<h2 id="a-ray-of-hope-for-tonya">A ray of hope for Tonya</h2>



<div class="wp-block-image"><img width="1000" height="750" src="https://i1.wp.com/wordpress.org/news/files/2022/02/tonya.jpg?resize=1000%2C750&ssl=1" alt="" class="wp-image-12327" /></div>



<p>In 2013, Tonya’s health deteriorated further. She was admitted into intensive care and was diagnosed with a third rare disease, this time related to her autoimmunity. She was not expected to survive this time. </p>



<p>Following what she describes as a ‘miraculous recovery,’ she became stronger and was able to stop relying on a wheelchair. She used the energy from working on websites to keep going. “WordPress kept my mind alive,” said Tonya.</p>



<p>She had first used WordPress for her engineering firm’s intranet. But when she discovered the software’s full potential and the collaborative opportunities of open source, it opened a new world.&nbsp;</p>



<blockquote><p>&#8220;Finding WordPress helped me to find myself again&#8221;</p><cite>Tonya Mork</cite></blockquote>



<p>During the years which followed, she donated her time to build some WordPress websites and plugins. She said: “Through giving my time, I was able to do something other than sit in isolation.” </p>



<p>Tonya was amazed by the sharing in open source in general and in WordPress in particular. She said: “I was amazed to see people sharing so much information freely with one another. In my former engineering world, information was proprietary. Throughout my career, I had worked to break down those silos and help anyone to understand complex systems. I was drawn to this open community.”&nbsp;</p>



<p>She also became aware that WordPress developers were hungry to learn more about development. She wanted to be part of the solution with her passion for teaching and the knowledge she had gained in industry.<br /><br />She said: “Finding WordPress helped me to find myself again. Here in this community, I was able to feel like a person again, not a sick one, but a professional with something to give.”</p>



<p>As her interest in the software grew, Tonya decided to start a non-profit where she turned to WordPress to build the websites. This re-sparked her interest in programming. She said: “I wanted to really know the code and understand what made it tick.”</p>



<p>The realization led Tonya to start the WP Developers’ Club, which in turn spawned <a href="https://knowthecode.io/">Know the Code</a>, to help educate individual developers, and is still used today.</p>



<h2 id="from-helping-wordpress-companies-to-working-on-wordpress-core">From helping WordPress companies to working on WordPress Core</h2>



<div class="wp-block-image"><img width="300" height="300" src="https://i0.wp.com/wordpress.org/news/files/2022/02/tonya-with-dog.jpg?resize=300%2C300&ssl=1" alt="Tonya pictured with her dog" class="wp-image-12328" /></div>



<p>Tonya went on to work with big and medium size WordPress companies helping their developers and supporting them in raising their firms’ leverage with WordPress.</p>



<p>By late 2020, she knew she wanted to do even more with WordPress.</p>



<p>In February 2021, Tonya joined an international firm in the ecosystem and began working closely on WordPress Core.</p>



<p>At that time, WordPress Core was pulling together a new Triage team. Tonya started volunteering on that team to find collaborative solutions, and help others do so. In 2020 for <a href="https://wordpress.org/news/2020/12/simone/">WordPress 5.6 Simone</a>, she became the release’s Triage lead, and again for <a href="https://make.wordpress.org/core/5-7/">WordPress 5.7 Esperanza</a>.&nbsp;</p>



<p>In 2021, she became a Test Team Rep and helped to expand the team and is an advocate for the value of testing and feedback in the release development process.</p>



<h2 id="a-new-successful-chapter-with-wordpress-5-9">A new, successful chapter with WordPress 5.9</h2>



<div class="wp-block-image"><img width="1024" height="480" src="https://i1.wp.com/wordpress.org/news/files/2022/02/WP59-thumbnail-jb.png?resize=1024%2C480&ssl=1" alt="Tonya was one of the notable contributors to the WordPress 5.9 release featured in this picture." class="wp-image-12329" /></div>



<p>Tonya’s passion for the software and getting people involved in its growth continued. For the WordPress 5.9 release in 2021, she took on the role of both the Core Tech Lead and the Release Coordinator. As this was a big release and included the first major implementation of Full Site Editing, it had many moving parts and hundreds of contributors. She was able to share the skills she had learned in communication and project management from her days streamlining and documenting engineering software and processes.&nbsp;</p>



<p>In the first 24 hours of WordPress 5.9 landing, it had more than 10 million downloads—and 17 formally reported bugs.</p>



<h2 id="giving-back-to-open-source">Giving back to open source</h2>



<p>Now in what Tonya describes as her third chapter. She said: “I’m a very different person from the engineer I used to know. What really matters in this world is when you reach out and make a difference in someone’s life.”</p>



<p>She feels she has found her purpose in this life. “I’m on a mission to give back and make a difference. Teaching is how I will do it. And in WordPress I have found my professional home, and I have all this software knowledge that I just want to share.”</p>



<h2 id="share-the-stories">Share the stories</h2>



<p>Help share these stories of open source contributors and continue to grow the community. Meet more WordPressers in the <a href="https://wordpress.org/news/category/newsletter/interviews/">People of WordPress series.</a> #ContributorStory.</p>



<h2 id="contributors-to-this-feature">Contributors to this feature</h2>



<p>Thank you to Tonya Mork (<a href="https://profiles.wordpress.org/hellofromtonya/" class="mention"><span class="mentions-prefix">@</span>hellofromtonya</a>) for sharing her story. </p>



<p>Interviews and feature by Abha Thakor (<a href="https://profiles.wordpress.org/webcommsat/" class="mention"><span class="mentions-prefix">@</span>webcommsat</a>) and Mary Baum (<a href="https://profiles.wordpress.org/marybaum/" class="mention"><span class="mentions-prefix">@</span>marybaum</a>). Reviewed by Chloe Bringmann (<a href="https://profiles.wordpress.org/cbringmann/" class="mention"><span class="mentions-prefix">@</span>cbringmann</a>), Nalini Thakor (<a href="https://profiles.wordpress.org/nalininonstopnewsuk/" class="mention"><span class="mentions-prefix">@</span>nalininonstopnewsuk</a>), Meher Bala (<a href="https://profiles.wordpress.org/meher/" class="mention"><span class="mentions-prefix">@</span>meher</a>), and Anjana Vasan (<a href="https://profiles.wordpress.org/anjanavasan/" class="mention"><span class="mentions-prefix">@</span>anjanavasan</a>). Photo editing Reyez Martínez (<a href="https://profiles.wordpress.org/rmartinezduque/" class="mention"><span class="mentions-prefix">@</span>rmartinezduque</a>) and Jean Baptiste Audras (<a href="https://profiles.wordpress.org/audrasjb/" class="mention"><span class="mentions-prefix">@</span>audrasjb</a>). </p>



<p><em>Thanks to Josepha Haden Chomphosy&nbsp;(@<a href="https://profiles.wordpress.org/chanthaboune/">chanthaboune</a>) and Topher DeRosia (<a href="https://profiles.wordpress.org/topher1kenobe/">@topher1kenobe</a>) and others for their support&nbsp;</em>of this initiative.</p>



<div class="wp-block-media-text is-stacked-on-mobile is-vertically-aligned-center"><img width="180" height="135" src="https://i1.wp.com/wordpress.org/news/files/2020/03/heropress_logo_180.png?resize=180%2C135&ssl=1" alt="HeroPress logo" class="wp-image-8409 size-full" /><div class="wp-block-media-text__content">
<p class="has-small-font-size"><em>This People of WordPress feature is inspired by an essay originally published on </em><a href="https://heropress.com/"><em>HeroPress.com</em></a><em>, a community initiative created by Topher DeRosia. It highlights people in the WordPress community who have overcome barriers and whose stories might otherwise go unheard. </em>#HeroPress </p>
</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:"Mon, 28 Feb 2022 23:55:13 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:28:"webcommsat AbhaNonStopNewsUK";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:49;a:6:{s:4:"data";s:13:"
	
	
	
	
	
	
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:2:{s:0:"";a:5:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:45:"WPTavern: WPExperts Acquires Post SMTP 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:30:"https://wptavern.com/?p=130623";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:56:"https://wptavern.com/wpexperts-acquires-post-smtp-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:3010:"<p><a href="https://wpexperts.io/">WPExperts</a>, a Pakistan and Egypt-based WordPress development agency with more than 120 employees, has acquired the <a href="https://wordpress.org/plugins/post-smtp/">Post SMTP plugin</a> from its former developer, Yehuda Hassine. This is the agency&#8217;s second acquisition this year, after picking up Rich Tabor&#8217;s <a href="https://richtabor.com/bye-logindesigner/">Login Designer</a> plugin in January.</p>



<p>The Post SMTP plugin is a fork of the <a href="https://wordpress.org/plugins/postman-smtp/">Postman SMTP</a> plugin, which was <a href="https://wptavern.com/postman-smtp-plugin-forked-after-removal-from-wordpress-org-for-security-issues">closed by WordPress.org in 2017</a> due to an unfixed security vulnerability. Hassine, a longtime user of the plugin, fixed the vulnerability, forked it, and renamed it to <a rel="noreferrer noopener" href="https://wordpress.org/plugins/post-smtp/" target="_blank">Post SMTP Mailer/Email Log</a>. He grew the plugin to more than 300,000 active users, managing its development and support by himself, before becoming too busy with his full-time job.</p>



<p>Post SMTP improves the delivery of emails that WordPress generates and it logs the causes of failed emails to help eliminate configuration mistakes. Its chief competitors include <a href="https://wordpress.org/plugins/wp-mail-smtp/">WP Mail SMTP by WPForms</a> (2 million+ installs) and <a href="https://wordpress.org/plugins/easy-wp-smtp/">Easy WP SMTP</a> (600,000 installs). WPExperts plans to continue the plugin&#8217;s free version and does not plan to release a commercial version. Instead, they are working towards monetizing it with paid add-ons.</p>



<p>&#8220;This is the biggest acquisition for WPExperts in terms of acquired plugin active users (300,000+),&#8221; WPExperts community manager Zubair Siddiq said. &#8220;WPExperts will enhance Post SMTP&#8217;s current UI, features, and support.&#8221;</p>



<p>Before selling Post SMTP, Hassine was working on six paid add-ons, which were included in the deal with WPExperts but they are still under development. The add-ons in progress include the following: <a href="https://twitter.com/saadyiqbal"></a></p>



<ul><li>Office 365 </li><li>Amazon SES </li><li>Sendinblue </li><li>Mail Control </li><li>Twilio Notification </li><li>Better logger</li></ul>



<p>WPExperts founder Saad Iqbal said the acquisition is aimed at building additional revenue streams for the agency&#8217;s plugin shop. Post SMTP joins WPExperts&#8217; collection of nearly 60 free plugins hosted on WordPress.org. </p>



<p>&#8220;I normally find plugins in .org and then contact the owner to see if they want to sell,&#8221; Iqbal said. &#8220;We are always looking to acquire cool WordPress plugins.&#8221;</p>



<p>Now that Post SMTP has moved to its new owner, users can expect development and support from a much larger team of professionals, as well as new commercial add-ons 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:"Mon, 28 Feb 2022 20:51: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: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:"";}}}}}}}}}}}}}}}}s:4:"type";i:128;s:7:"headers";O:42:"Requests_Utility_CaseInsensitiveDictionary":1:{s:7:"*data";a:8:{s:6:"server";s:5:"nginx";s:4:"date";s:29:"Wed, 16 Mar 2022 08:22:13 GMT";s:12:"content-type";s:8:"text/xml";s:4:"vary";s:15:"Accept-Encoding";s:13:"last-modified";s:29:"Wed, 16 Mar 2022 08:15:07 GMT";s:15:"x-frame-options";s:10:"SAMEORIGIN";s:4:"x-nc";s:9:"HIT ord 2";s:16:"content-encoding";s:4:"gzip";}}s:5:"build";s:14:"20220126061847";}