In-Depth WordPress Tutorials for Developers

Fred Meyer and David Hayes, coeditors
Welcome to WPShout, a website about WordPress development. We cover making the most of WordPress in tutorials, news stories, and other resources.
Below, you can browse some of the great stuff we've published recently.
If you're ready to take the next step in your WordPress development journey, now might be the time to look at our excellent premium courses:
- Up and Running for learning WordPress development.
- WordPress Security with Confidence for properly tackling WordPress security.
Thanks for reading as always, and enjoy the site!
P.S. If you haven't already subscribed for our excellent weekly newsletter, then now's the time 🙂
Our "Start Here" Guides
These core WordPress development tutorials will get you started on the right foot.
Recently Published
Check out our most recently published WordPress development tutorials, thoughts and advice on working as a WordPress developer, and WordPress development news.
PHP for Beginners: Starting on Backend WordPress Development



Other Recent Articles



WordPress Custom Taxonomies: How and Why to Create Them



Learn WordPress Development: The Basic Course



WP Engine vs SiteGround for WordPress Hosting: An Honest Comparison



Become a Freelance WordPress Developer: How to Make a Career of It
Links and Quick Guides
Secret Mechanisms of CSS
As a very non-expert CSS author, I really appreciated this talk from Josh Comeau where he covers a few of the more confusing and surprising parts of the language.
I learned a lot about z-index, Flexbox, and more. Whether you do a lot or a little CSS I think you’ll enjoy the time spent watching the talk.
The Disadvantages of WordPress
This little article from Kim Coleman is a great little summary of some of the biggest reasons NOT to use WordPress for a project. I think a lot of WordPressers—myself very much included—can sometimes forget about the things that aren’t great about choosing WordPress for your site or business. So this list is a great thing to keep in mind. Some of my favorite points:
1. You have to maintain a WordPress site and keep everything up to date.
4. Everyone is upselling you constantly.
7. It’s constant decision making.
Be sure to click through for the whole list and a little more explanation of those above. It’s a quick read, I promise 🙂
Styles In Modern WordPress
I really appreciated this article from Brian Coords over at MasterWP. He does a great job of situating some recent core-team discussions about styling thinking within a context that me (as an average WordPress developer not really paying attention) can understand. This is particular stood out:
What’s important here is that any unique or custom HTML you want to include in your theme must be created as a custom block for use in the block editor. So your options for block themes are either no-code (build templates using existing blocks) or very high-code (build new blocks using React.js and a fairly hefty build process). Block themes basically jump over the ‘sweet spot’ that classic themes occupied: anyone with just a little knowledge of HTML and CSS could be dangerous enough to tweak it.
Overall, Brian’s argument is that the large “middle class” or WordPress development is being crowded out in favor of empowering the low-end of the market who never knew and liked CSS. I think that’s accurate to the feel for me: classic themes still feel like a much better way to go if you’re a classic HTML+CSS designer. The block theme world is just not ready to welcome you. I hope, with Brian, that it will be someday.
WordSesh 2022 Signups Open
The free and great WordSesh conference has released the schedule and opened signups. Which means—as you probably guessed—that you register with a simple form and then can watch all the sessions live.
WordSesh has been around for years and is always a great event. If you’re looking to learn some WordPress May 16-20, there’s surely no better option. The talks range from high-level career and business advice to deep dives into block themings, so there’s sure to be something for you.
Some Fun Modern PHP Features
A lot of WordPress PHP is still written in a PHP 5(.6) style for compatibility reasons. This is the best/worst thing about WordPress. But increasingly hosts are pushing even the most laggardly PHP versions into the 7-series and some are even prompting to try PHP 8. So for that reasons, WordPress PHP developers could use a refresher on what’s new since 5.6. Which is precisely what this little article from Dimitrios Lytras does perfectly.
Organized as a little cheat-sheet this post won’t give you an exhaustive summary of the features he explores. But you’ll see a quick code-snippet to get you some sense of what it does, which is really all I want in most of these articles anyway.
Great little article. Give it a once-over if you’re writing PHP anywhere 🙂
How to Write and Run Shell Scripts
I really appreciated this little summary about how to make BASH scripts from Lara Schenck. People will be all over the map in terms of where they come to the concept of “shell scripting” or “run a command on the terminal,” but if these concepts are pretty new to you, Lara’s article is approachable and brings you along from “I kind of know what that is” to “I’ve written a simple script.”
And if the concepts are familiar to you, I actually still think Lara’s article is worth a read because it goes into details most other tutorials skip. For example, I’d been using shell scripts for a while before I heard the term “shebang”:
Shebang – The syntax
#!
is called a shebang. A shell script must begin with this syntax so the machine knows which language you are using for your script. The#!
is followed by the path to the interpreter for the scripting language. For bash (on Unix operating systems), this is#!/bin/bash
.
Understanding Query Loop Blocks
I really appreciated this little video from Wes Theron over at Learn.WordPress.org about the Query Loop block. Mostly because while I’d fiddled with it a bit, I hadn’t really explored its richness in the new Site Editor. If you and I have that in common (or especially if you’ve never even fiddled with a Query Loop block), please give the video seven minutes.
The biggest thing that surprised me was the (obvious in retrospect) way that the Query Loop block inherits some of the filtering powers of WP_Query on the PHP side. For those uninitiated, most of the CMS powers in WordPress code comes from WP_Query. It is powerful and important, and our free course on it is pretty great to ;p
CUPID not SOLID
This is a little esoteric relative to the world of quick-changes that most of our code in WordPress is. But if you’re writing PHP or JavaScript in much depth, you’ve probably heard of the SOLID principles. These are rules of good software development made by Robert C. Martin. Code that follows the principles is generally thought to be of higher quality than that which does not.
Dan North, for whom I have a great deal of respect (because a lot of people I respect seem to respect him) thought it would be fun to riff on this idea with his own principles properties. And I found it useful and informative reading. If you’ve never heard of SOLID, maybe start there. But if you’ve read at least a little on SOLID, I really think you should give this CUPID article a read 🙂
Deep Introduction to Block Themes
Over at CSS-Tricks, Ganesh Dahal offers this great summary of the state of block theming. As one of the large majority who hasn’t had the time to follow all the developments in this area of WordPress closely, I found his extensive tour of what’s going on around them quite helpful.
The overarching takeaway for me after reading is that a lot remains unsettled. I particularly took notice of his discussion of how child themes aren’t really supported within the Site Editor way of building themes, because it’s not clear we need them to the teams involved.
As a long time proponent of child themes, the idea that we might be done with them initially took me by surprise. But it makes a certain sense. With (what we now will call) classic themes, I needed to make some CSS and PHP files to modify the way the site looked and felt. Now I can use the Site Editor to do it, so maybe the entire idea of a child theme as a safe place to put my CSS and PHP doesn’t make sense either.
A Quick Study of the Kubrick2 Block Theme
I really appreciated this article from Misha Rudrastyh where he breaks down the basics of a block theme by studying Kubrick2. Kubrick2 is a playful block theme made by longtime Gutenberg contributor Riad Benguella.
For those who’ve not been around WordPress for over a decade (sheesh, it is *that* long), Kubrick used to be the “default” WordPress theme for all new sites. That changed when they started making the “year-named” themes with Twenty Ten. But because of the nostalgia tingles, I still love this kind of simple and ugly little theme.
You’ll get a thorough tour of the theme from Misha, and for those of us just starting to get our feet with walking in the world of block theme it’s a big leg up. And then you can dig into the theme on Github yourself.
Is WordPress Pushing Freelancers Away?
Over at The WP Minute Eric Karkovack asks a question that’s started to drift across my mind as I think (and study) more about the coming of Full-Site Editing themes and what they mean for the future of WordPress.
I thought of writing a longer response to Eric’s article, but he really says nearly all I’ve got to say on the topic well. Because this isn’t really a question that it’s possible for us to clearly say “yes” or “no” to right now. It’s way too soon in the ongoing Guternberg-ification journey of WordPress to know where the journey leads.
It seems clear to me that WordPress is moving, as Eric says well, into being a “website builder” and away from a core role it served in much of the past as a “content management system.” These two roles, though, deeply overlap. So whether more people come or go in the shift is just unknowable. But what’s deeply clear is that the landscape around WordPress is changing, and it’s got people asking questions.
A Story of the Too-Slow High-Five on Wikipedia
This isn’t really about WordPress at all. But I enjoyed this little article about a particular corner of the public internet, so you might too.
Over at Input, Annie Rauwerda published a fun little love story from a place you surely wouldn’t have cause to expect it: the Wikipedia page about high-fives. But it’s a delightful little romp I do recommend. It’s got some internet sleuthing (that feels like lightweight stalking) and some charming reenactments.
Implications of WordPress & Block Protocol
There was a splash around the web a few weeks back when fabled software opiner and creator Joel Spolsky (Trello, Stack Overflow) announced the Block Protocol effort. I have to admit I noticed it but didn’t really dig into what it’d do.
That’s where this piece from Leonardo Losoviz over at Smashing Mag comes in. Because he basically builds up from this idea and the subsequent agreement from WordPress honcho Matt Mullenweg to the spirit of this notion. I’m always ready for the geeky excitement and this post packs it in spades.
I’ll admit I still don’t fully understand how these things all fit together. But if you’re interested in understanding better, this article did help me start to get why this would be both interesting and fun.
Accordions in Pure HTML
This post by Salma Alam-Naylor is pretty short, but it does teach something that I certainly didn’t know. That these days you can really count on HTML to some cool things. I, for one, had no idea that an expanding/collapsible accordion of content could be as simple as this:
<details open>
<summary>Title</summary>
<p>Here is the content that is open by default!</p>
</details>
Pretty cool. She explains a few more details of whats going on here (and how browser support works) but I’m impressed.
Who is Full Site Editing for?
I really enjoyed this essay/podcast from Joe Casabona about the kind of awkward question of what the 5.9-included full-site editing feature of WordPress is for. On one level, he argues this is very clearly a tool that’ll be really useful for no-code WordPress builders. I couldn’t agree more. But on another level he, fairly to my limited experience so far, points out that it’s not fully ready for regular no-code users to get done everything they might want—many operations are a little awkward or just not possible.
I don’t really think (and don’t think Joe’s arguing) that full-site editing could have been released in one single cycle. And what’s more I think if anything 5.9 is going to make less of a splash in terms of pushing forward adoption than it needs to. But this whole topic is a discussion that’s been in the back of my mind for a while now, and Joe’s take is a both rational and useful one.
Block Theme Primer
I’m still very much in learning-more mode when it comes to Block Themes in WordPress. While I’ve been comfortable with “classic” themes for almost my whole time in WordPress I was waiting for WordPress 5.9 to understand block themes and how they differ. For precisely that reason I really appreciated this article (from old WPShout friend) Eric Karkovack summarizing the major points of them.
I’m happy to hear that the template hierarchy survives, just in the template directory. And after reading Eric’s article I feel pretty sure that when I finally have some free-time (and especially once I learn how to make webpages look good 🤪) I’ll make some great WordPress block themes.
I’ll pull one note of solace from Eric those feeling a bit new to this whole topic as well:
Finally, block themes do not spell the end for classic themes – at least not for the foreseeable future. With that, the transition to this new way of theming doesn’t have to be immediate. It’s OK, for example, to experiment with blocks in a local environment while still relying on your favorite classic themes in production.
WordPress as a Commons
Especially or those with a more political or philosophical bent, this article from Lesley Sim on the idea of a “commons” over at Post Status is sure to be interesting. WordPress, she correctly names, has a complicated and complex story when one starts to peer into the details of the entities involved in it. When we overlay this complexity with the notion of it being a “commons” worthy of protection, a lot of good questions arise.
In summary, there’s quite a number of nervous but worthy questions about the mix of the three entities of the WordPress Foundation, WordPress.org, and Automattic. All are pretty clearly controlled by Matt Mullenweg, but after that it gets murky as to which is doing what in the name of “WordPress” and why. Headlines, even from inside the WordPress ecosystem, will sometimes gloss over the distinctions between them. (Lesley does a better job summarizing the details of these three, by the way.)
The article reads as more of a summary of the issues than a call to arms, but I especially appreciated her coverage of Elinor Ostrom’s findings on successful commons governance, as I was totally unaware of it. I encourage you to click through for that alone!
Modern Fluid Typography
Smashing Magazine is always a good place to stumble across links from. And as someone who last did CSS in earnest almost seven years ago, I really appreciated this complete rundown of how to use the CSS clamp
function to get good responsiveness working in just a little bit of work.
The author, Adrian Bece, did lose me a bit at the end with all the math. But I got a much clearer sense of how to make fonts look good in an accessible way without breaking a sweat. Which was just what I wanted.
The Knotted-Up WordPress Community
I really enjoyed this little essay over at Post Status about the WordPress community. As someone whose been involved with WordPress for over 15 years (perhaps I say that in a bid to merit Chris’s “elder” label 😉), I’ve felt just about every kind of way about both the tool and the people I’ve met while learning and using the tool.
Concretely, WordPress is a bunch of PHP and JavaScript files that I use to make websites. But it’s also been so much more in my life. It’s been kind of the hub around which I assembled both a professional and social world when I didn’t really have one of either to speak of.
That’s part of the reason as I sit here working through some professional and personal stuff that shoved WPShout onto the back burner that I find myself continually pulled back to it. Because so much good in my life started, ended, or was influenced by WordPress.
I’m getting wistful, and that’s mostly just because of the inspiration and thoughtfulness in Chris Hardie’s piece. So go read that!
You Might Miss the Customizer in WP 5.9
Perhaps the first surprise when I started fiddling with WordPress 5.9 and a block theme on an old site was that I didn’t see the Customizer at all. For those who’ve not done that, under “Appearance” you might end up with as few as two menu options: “Themes” and “Editor (beta).” So how do you do some Customizer things, like my old favorite of using it to set the Site Icon?
Justin Tadlock covers that whole question and more in this article. Part of the answer: the Customizer isn’t gone, just not linked to. So you can just “hack” your way to it at /wp-admin/customize.php
. And with that, all is restored.
And I’ll add that this is purely something that happened because I was using the cool Livro theme as opposed to a theme from an earlier era. All older themes will have the Customizer for the foreseeable future, no need for most of us to memorize that URL just yet 😉