In this episode, WordPress’s Executive Director, Josepha Haden Chomphosy, answers two recently asked questions. Tune in to hear what those questions were and her response, in addition to this week’s small list of big things.
Have a question you’d like answered? You can submit them to wpbriefing@wordpress.org, either written or as a voice recording.
Hello, everyone, and welcome to the WordPress Briefing, the podcast where you can catch quick explanations of the ideas behind the WordPress open source project, some insight into the community that supports it, and get a small list of big things coming up in the next two weeks. I’m your host, Josepha Haden Chomphosy. Here we go!
Josepha Haden Chomphosy 00:40
So I was in a meeting recently, which I realize isn’t saying much for me since I spend a quarter of my time in meetings. But in this particular meeting, I was asked a couple of questions that I absolutely loved. The first question was, “if there were one thing you could change in people’s minds about WordPress, what would it be?” And my answer, predictable though it may be, was that I want to change the idea that WordPress is just a blogging platform.
Josepha Haden Chomphosy 01:06
WordPress has grown into a lot more than that. But the idea of a content management system, even now, sometimes gets a mental shorthand where content is a stand-in for the word writing or words. If you’re using WordPress today in an enterprise context, or as part of a governmental agency, or if you use it in a classroom setting, you know that your content cannot be confined that way. And if you’re supporting or building anything to hand off to clients, you know that timely, easy-to-ship changes on a site are considered a vital part of any overarching brand and marketing strategy. And when was the last time that any marketing strategy was literally only about the words?
Josepha Haden Chomphosy 01:51
So that was the first question. And also my first answer. There is also this kind of annual, not fear, necessarily, but this annual question that is sort of related that is raised to me and has been asked of me recently, that I’m just going to give you a small answer to. One annual worry that I get every year around November and December is, “What are we going to do about the fact that the term blog and blogging are declining in search popularity?” And I was gonna say it’s been a while since I answered that in any sort of public format. But I think maybe I’ve never answered it in a public format at all. And so I’m just going to answer it here. Because I think maybe a lot of people have that same question.
Josepha Haden Chomphosy 02:36
So number one, I think that the way that people search now is different. There’s a lot more semantic cognition. This is not the way to answer this — search engines are smarter now. So like, it used to be the case with early search engines that yeah, there was a lot of just like, individual search terms that were looked for. But now, people are asking full questions; they have, essentially, an entire sentence that they are searching for. And then, search engines are able to parse that information better and get more high-quality answers and information for them. So like, that’s one thing that I’m already not worried about. If people are searching for individual words anymore, it’s so that they can get a definition of that word. So I’m not specifically worried about a decline in search volume for the word blog or blogging for that reason. But the answer to my first question, if there is probably the real reason that I’m not actually super worried about any decline in search volume for the word blog, or blogging, is that WordPress has really moved beyond that. And since we have moved beyond that, then it doesn’t necessarily make sense for WordPress as an entity for WordPress as a project to get overly hung up on the idea that the term blog has gone out of fashion.
Josepha Haden Chomphosy 03:52
Okay, now that I did my first question, and the answer, and then an additional question that only ever gets asked in private and is being answered by me for the first time in public, I will tell you now, the second question that I loved, someone asking of me, and that question is this: “What is one thing you’d like people to see or experience, right when they first land on wordpress.org?” Now, I often don’t get asked questions about the wordpress.org website, like administrative tasks, things that we need to update, move around where they should go. Sure. But like, “Josepha, what’s the point and purpose of this site?” Never. I’ve never been asked that, and so I was really excited that someone asked me, and I’m going to give you a heads up. I think some of you might disagree with my answer.
Josepha Haden Chomphosy 04:40
So the primary thing that I want people to see or experience when they first get to wordpress.org, the website is the depth of WordPress. Not which audience segment they should belong to or that we believe they should belong to or raw data about the CMS or even how much we care about the freedoms of open source. Now the first thing I want people to see on that site is that WordPress has not only 18 years of learned knowledge that every single new user benefits from, but that it also has 1,000s of really smart people making sure it works and gets better every day, now.
Josepha Haden Chomphosy 05:19
WordPress is a Goliath in its field. I know that we cite this bit of context. Frequently, we say that we are 42% of the web. And that is true that is the percentage by usage. But in its field, which is websites that are using a content management system, we actually have a 65% market share. This is very easy to find. It’s on the W3Techs website: I can put a link in the show notes, but you could find it just by searching for it.
Josepha Haden Chomphosy 05:46
So WordPress is a Goliath in its field of websites that are run using a CMS. Because we have always brought our learnings forward with us with the understanding that knowledge, when shared grows rather than diminishes. But open source, the heart of what defines this project, open source is not a Goliath; it’s barely even David somedays. Even though the web is built on scads of open source software, there’s a pervasive public perception that it is built by and for hobbyists or that it is inherently risky, and that if there were if it were worth something, then people would pay something. And I just know that if the first impression of WordPress, we’re, “we’ve got 18 years of experience and learning that brought us to today,” the rest of the sale to adopt software that protects other people’s freedoms would take care of itself. And I guess, to quote John Oliver, at this point, “And now this.”
Josepha Haden Chomphosy 06:59
Alright, that brings us now to our small list of big things. There are actually quite a few big things on this small list today. So number one, we have reached the beta phase for the year’s final release, which means that WordPress 5.9 beta one is happening tomorrow, Tuesday, November 16. And then seven days later, I believe on the 23rd, if I recall correctly, comes beta two.
Josepha Haden Chomphosy 07:24
The second thing on my list is that team rep nominations are happening all over the project right now. I’ve got a post that I will share in the notes below that I believe all the team reps have put their team’s nomination posts on. So if you have had an interest in learning more about that and what it means to help keep teams kind of running in the WordPress project, then this is a great opportunity to check those out.
Josepha Haden Chomphosy 07:49
And the third thing, this last thing actually isn’t in the next two weeks, but it is very important, nonetheless. Matt’s annual State of the Word is coming up on December 14. So basically a month from today. It’s going to join the growing list of in-person events that are on the calendar. It will be in New York City but will also be live-streamed across the world as usual. Keep an eye out for additional updates about that for anyone who, like me, really looks forward to this particular presentation from our project co-founder every year.
Josepha Haden Chomphosy 08:25
And that is your small list of big things. Thank you for tuning in today for the WordPress briefing. I’m your host, Josepha Haden Chomphosy, and I’ll see you again in a couple of weeks.
I like to think of the typical WordPress website as a collection of parts. Themes, plugins, and custom code can be combined to power virtually any type of site.
But, in most cases, these various pieces don’t necessarily work together. That is, they each serve their own purpose independently of one another. Unless they’re tied into the same ecosystem (a WooCommerce extension, for example), they can usually be changed without causing a domino effect.
That has both positives and negatives. On the plus side, it’s possible to add or remove functionality at any time. But it also means that getting things to work in tandem can be difficult.
It’s a challenge for developers. There are many scenarios where you may want user actions in one plugin to also trigger a response in another. Unless these features are intentionally built into a plugin, it may require building that functionality from scratch.
That’s where the power of automating WordPress comes into play. There are now tools specifically designed to trigger a chain reaction among multiple plugins and third-party services. Best of all, they can be configured with relative ease.
If that sounds like something that could change your life (or at least your website), read on! We’ll introduce you to some WordPress automation tools and basic examples of what they can do for you.
WordPress Automation Plugins
The first step involves choosing a WordPress automation plugin. This will serve as the glue that links your site’s various plugins and services together.
There are a couple of compelling options we’ll focus on. Each has a free version that includes plenty of possibilities. If you’re looking for something more robust, commercial versions provide advanced features and wider compatibility.
Before you choose, be sure to review what’s included. While both options have similarities, there may be some key differences that will determine the best fit for your situation.
AutomatorWP comes loaded with integrations for popular plugins such as WooCommerce, BuddyPress, Gravity Forms, LearnDash, and Restrict Content Pro – among many others. In addition, you can tie in with service providers like HubSpot, Twilio, Zapier, and Zoom.
Note that integrations are limited on the free version of the plugin. Premium add-ons are available, which can be purchased individually or as part of a package deal. They expand upon the types of tasks (a.k.a. “triggers”) available in your automation workflow.
In addition to the plugin integrations listed above, Uncanny Automator works with the likes of Easy Digital Downloads, Elementor, MemberPress, and The Events Calendar. Third-party services include Facebook, FluentCRM, and Twitter.
The free version includes over 100 automation triggers and actions. More are available via the pro version. Note that there is no a la carte option– you’ll need to buy the pro version to access the advanced functionality.
Creating a Few Basic Automations
Now that we know a bit more about both AutomatorWP and Uncanny Automator, it’s time to put them to work. We’ll use them to create a couple of automations that reflect common use cases.
But first, a little background on how things are put together.
How Does It Work?
While each plugin uses slightly-different terminology, the process for adding automation to your website is essentially the same.
Both have a similar back-end UI for creating automated functionality. AutomatorWP calls them “automations,” while Uncanny Automator refers to them as “recipes.” It is possible to have multiple automations/recipes on your site.
Either way, these configurations have two components:
Triggers
A trigger is the initial step in the process when a user performs a specific task. For example, common triggers could be when a user enters a comment on a blog post or purchases a product. Triggers can be set up for either logged-in or anonymous (logged-out) users.
Actions An action is what happens after the trigger has been completed. Let’s say a user has joined a BuddyPress group on your website. You could create an action that automatically emails them a welcome letter or adds them to a mailing list.
It’s also worth noting that a given automation/recipe can contain multiple triggers and actions. In some situations, you can even set a sequence for them.
Example #1 (Uncanny Automator): When a Customer Purchases a Specific WooCommerce Product, Add Them to a BuddyPress Group
Our first example will tie both WooCommerce and BuddyPress together. When a customer purchases the “Beanie” product from our fictional store, we’ll also add them to our “Fashion Forward” BuddyPress user group.
We’ll use Uncanny Automator to set it up. Here’s how we did it:
1. Inside WordPress, navigate to Automator > Add New.
2. Uncanny Automator will ask you to select a recipe type. In this case, we’ll want to choose “Logged-in users.” Click on “Confirm”.
3. Give your recipe a name – in this example, we went with: “Add Beanie Buyers to the Fashion Forward BuddyPress Group.”
4. Under the “Logged-in triggers” area, click on WooCommerce.
5. Now, you’ll see a list of possible triggers. Choose: “A user completes, pays for, lands on a thank you page for an order with a product.”
6. Next, Uncanny Automator will ask for a Trigger condition. Select “completes” and click on “Save”.
7. Here, we’ll choose the product we want to target. From the list, select “Beanie” and click on “Save”.
Now that our trigger is set, it’s time to move on to the Actions portion of the recipe.
8. Click on “Add action”.
9. From there, click on BuddyPress.
10. Select “Add the user to a group” from the action list and click on “Save”.
11. Also, be sure to change the status on the upper right of the page from “Draft” to “Live”.
When completed, the recipe should look similar to the image below.
Example #2 (AutomatorWP): When a User Submits a Gravity Form, Create a New WordPress User
Our fictional website has a technical support form (powered by Gravity Forms) that users can submit to get help. If that user doesn’t have an account on our site, we can use AutomatorWP to create one for them.
This automation requires us to know the ID numbers of the fields in our Gravity Form. That can be found by clicking on specific fields within the form editor’s UI.
1. Inside WordPress, navigate to AutomatorWP > Automations. Once on the Automations screen, click on “Add New Automation”.
2. AutomatorWP will ask you to select the automation type. Select “Anonymous” and click on “Confirm”.
3. Give your automation a name – in this example, we went with: “Tech Support Form Entry Creates a New User”
4. In the Triggers area, click on Gravity Forms.
5. Choose “Guest submits a form” from the list of triggers. By default, the trigger will work with any form on our site. To change to a specific form, we clicked on “any form” and selected ours (Technical Support) from the list. Click on “Save”.
Now that our trigger is set, it’s time to move on to the Actions portion of the automation.
6. In the Actions area, click on “New user.”
7. We can now fill in portions of the new user’s profile with fields from our form (via the Guest submits a form action). As we mentioned, this requires us to know the ID number for the various fields. In this case, we have fields for the user’s first and last name, along with their email address.
Our form’s Email field (ID: 2) will be used to populate both the Username and Email fields in the user profile.
For the user’s name, we’ll use First Name (ID: 5) and Last Name (ID: 6) from the form.
8. There are a few more options within this action we’ll want to address:
The default user role is “Subscriber,” but we can change that in the Role setting if needed.
We’ll turn on the Send User Notification setting. This will send an email to the new user and provide a password reset link.
Then, we’ll set What to do if the user already exists: to “Do not run the actions”.
9. Click “Save” to save the new automation action.
10. Finally, click “Save & Activate” to put the automation to work.
When completed, the automation should look similar to the image below.
Making WordPress Plugins Work Together
WordPress automation plugins can turn an otherwise time-consuming process on its head. With just a few clicks, it’s possible to create some seriously useful functionality.
And while some of the more advanced options require commercial software, it may be well worth the investment. Think of how much time and effort it would take to create these features from scratch. The convenience alone is worth the price.
Finally, there’s an easy way to make your site’s WordPress plugins work together. Experiment and see how it can help improve your workflow.
State of the Word is the annual keynote address delivered by the WordPress project’s co-founder, Matt Mullenweg. Every year, the event allows us to reflect on the project’s progress and the future of open source.This year will include that and more.
Due to the pandemic, we moved the State of the World online for the first time ever in 2020. This year, the event will be livestreamed from New York City .That will enable us to take as many folks as possible along for the ride!
Join Matt as he provides a retrospective of 2021, discusses the latest trends he’s seeing, celebrates the community’s amazing wins, and explores the future. Expect to hear about a range of topics, from WordPress 5.9 and Openverse to Web3 and non-fungible tokens (NFTs).
State of the Word will be followed by a Question & Answer session. If you want to participate, you can either send your question ahead of time to ask-matt@wordcamp.org, or ask during the event in the livestream chat on YouTube.
If you’re new to State of the Word, the previous years’ recordings (below) will help you get a sense of what the event is about. Check them out:
Paradigm; a nice word that means "a theory or a group of ideas about how something should be done, made, or thought about" (Merriam-Webster). In software development we have them too. From the philosophy and history of science courses I've followed, I remember that scientists working with different paradigms have great difficulty understanding each other, and appreciating each other's work.
Paradigm Shifts
An example of a paradigm is the theory that the sun revolves around the earth. To a certain extent this is a fruitful theory, and it has been used for thousands of years. There's of course another paradigm: the theory that the earth revolves around the sun. This is also a fruitful theory, and it can be used to explain a lot of observations, more than the previous theory. Still, people got angry with each other for moving the earth out of the center of the universe. Paradigm changes, or shifts, occur when the old theory has been stretched too much. It becomes impossible to hold on to it. Then some people start to experiment with a completely different paradigm, one that sounds totally weird, but in the end proves to have more power.
Now back to software development: we have paradigms and paradigm shifts too. For example, PHP went from being a very dynamically typed language to being a more statically typed language. This is weird for some, but great for others since it unlocks new possibilities, like static analysis and automated refactoring.
The DI Paradigm
Another paradigm shift happened years ago when we went from symfony1 to Symfony 2, which introduced the Dependency Injection container. The idea of Dependency Injection was quite new to many developers back then, and we had to talk and read about it a lot before we were ready for this amazing yet weird concept. What got in the way of adoption, I think, was the Yaml or XML syntax for service definitions, an approach that was probably copied from Spring. If we'd start by writing our own service containers in plain PHP, that would've been much easier to learn and do.
What's interesting to me is that Symfony's first DI container was showing some influence from the old paradigm, e.g.
Singleton services: most services are instantiated only once, which allows for stateful services, mimicking the actual singletons from before.
The container had services that aren't services (e.g. the current HTTP request object).
Nevertheless, we got a taste of DI: expect your dependencies to be injected, instead of having to fetch them yourself. This changes everything!
Dependency injection is inversion of control: a service doesn't have to be worried about setting up a dependency, it can just declare it, and it will be taken care of.
Depending on an interface gives the developer the option to switch out implementations, for whatever reason.
Looking at the constructor signature, you can get some idea of what the service is going to do, and a complete overview of what it needs.
If a class is not a service, you can't give it service dependencies. This makes it absolutely clear what type of object a class represents: it's either a service, or some other object like an entity, or a value object.
I was totally convinced that the Dependency injection paradigm was a step forward, out of the land of unclear dependencies and tightly coupled classes. And I thought every other developer would like it too. Surprisingly, the introduction of a new framework - Laravel - revived the old paradigm, and with great success. It's surprising because a paradigm shift isn't often reverted. In science, the paradigm shift indicates a step forward, towards a theory that can explain more phenomena than the previous paradigm could. In programming, it turns out, you can have developers working with different paradigms, and even arguing that neither of those paradigms is a step forward compared to the other.
Crossing the Bridge
When I, as a developer from the DI paradigm, talk to someone who uses another paradigm, I find it really hard to come to some form of understanding. The assumptions, the goals, the theories that each of us uses, are very different. I find this very hard to deal with. We talk about a piece of code and I see lots of problems with it, but there is no common ground that can help us settle the debate. Personally I'm sad about this, because I don't really know how to improve the situation. You can keep fighting, and this happens a lot (e.g. on Twitter, Reddit), but since developers use completely different paradigms, I think that produces only negativity. In the case of "S
Truncated by Planet PHP, read more at the original (another 1699 bytes)