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.
Which is the Best SiteGround Plan? The WordPress Shared Hosting Comparison



Other Recent Articles



Best Image Optimizer for WordPress



WP Engine Review 2021: Great WordPress Hosting, But Not the Best



WordPress Hooks, Actions, and Filters: What They Do and How They Work



Defer Parsing of JavaScript in WordPress
Links and Quick Guides
Quick Guide: How to Set Your Site Icon (Favicon) in WordPress



One thing every WordPress site should have is a site icon, also called a "favicon"---the little tiny image that shows up in your browser tabs to let you tell one site from another. Ours at WPShout is a orange circle with a bullhorn inside it, so you which tabs are us. For the more visually-inclined, here's a relevant summary image…
Keep reading about How to Set Your Site Icon (Favicon) in WordPress →
Accessible-Colors.com
At a recent (virtual) Fort Collins WordPress meetup, someone shared this little site which I’ve never encountered before: Accessible-Colors.com. As you might guess from the name, it’s a simple little site/tool to tell you if the contrast between two colors you’re using in a design is in line with the WCAG 2.0 standard for contrast.
If you color’s don’t quite work, it’ll give you a way to make them work by modifying one or the other of them. In that way, it’s just flexible enough. It doesn’t do more than two colors, and it doesn’t give more than two recommendations. But that’s really all I think it needs to.
I’m sure there are lots of other ways to tell if colors conform to WCAG standards, but I love how simple and quick this one is. Definitely worth a bookmark 🤓
Dashboard Summary Plugin
I stumbled across this little plugin from Greg Sweet a few weeks ago. I’ve run it on a few sites, and I think it’s just a great little free upgrade to the “At a Glance” widget on the WordPress Dashboard. (Here I mean the thing that’s labelled Dashboard, not the general “back end administration area.”) It’s simplest to understand what it does by looking. Here is what it shows on the “Content” tab (here on WPShout):



I’m still unsure all this extra data is useful enough that I’ll make a point of installing this simple little plugin everywhere, but I sure like it enough to encourage you to give it a look.
The End of AMP?
I’m more than a little linking this story just because I hope it comes to pass, rather than because Dwayne Lefluer convinced me that he’s bringing real news that AMP’s end is nigh.
We’ve never really dealt with AMP here on WPShout, and there are a dozen reasons. But mostly it’s just because I think it’s a silly solution for an ad-driven problem. Google were trying to “monkey-patch” the problem of slow web pages in a way that casually also gave Google a big technical lead on getting *their* ads running on publisher’s site.
(I also do some client work where AMP is used, and the WordPress plugin just isn’t good enough for big old WordPress sites, like theirs is.)
Mac User? Try HazeOver
I was just thinking the other day that I should send some love to some my favorite “not really WordPress” computer tools. And the first one I want to share is this missing-feature app I love on the Mac called “HazeOver.” In short, it blacks out (or any other color you want, but you want black 🤪) everything else on your Mac that isn’t the front-most app window. (If you’re a visual person, this post’s “feature image” on this post is what my screen looked like while writing this post, with HazeOver running.)
This is the classic idea of a “distraction free” mode, but it extends it beyond the “full browser” window level and into the entire rest of the system. So you can hide from view other windows from the same app, or windows from other apps, or your messy Desktop. All of them just disappear.
I will say that I really discovered and relish the power of HazeOver most with a big screen. On a 13″ laptop, I just mostly use apps full-screen or nearly so, so the usefulness of HazeOver is limited. But on my 27″ iMac, I’m running the app like 90+% of the time. Only when I’m actively doing something where two apps being visible simultaneously is useful (like doing manual data-importing), do I not have HazeOver on. So I must encourage you to try it.
Re-licensing Gutenberg for Mobile Apps?
If you’re not into the legal complexities of “open source software” you can safely skip this. 🤓
But if you’re also kind of interested in the legal complexities of choosing different open source licenses, your interest may also be piqued by this little story from Justin Tadlock over at the Tavern. The short version is that there’s a small *philosophical* change that requires this re-licensing, but it’s more of the *practical* side of the equation that’d push Gutenberg to dual-license under the Mozilla Public License v2.0 as well as the GPL (v2).
I have to admit I’m not fully briefed on all the complexities, so I’ll keep my observations minimal. I think I support this change, but it does seem a loss for those (diminishing number of people) who are excited to see the GPL “virally” push all software to be completely open-source. The ecosystem around this has changed so dramatically in the last 20 years—remember those bad old times where we worried that Microsoft would be able and eager to crush free (libre 👩🏼🏫) software?—that I think a less-viral approach makes sense.
Anyway, there’s a lot more in Justin’s story and the underlying posts. So dig in if you’re more opinionated than me. Especially if you disagree with the thoughts in the prior paragraph, now’s the time to get involved ✊
WordPress 5.7 Field Guide
If there’s one post I *always* read about the latest/upcoming WordPress release, it’s these “field guide” posts on make.wordpress.org. They’re a concise summary of the major highlights to keep an eye on.
You should take a look yourself, because different thing may be more important for you than for me. These features jumped out at me though:
- Allowing Admin users to force-send a password-reset link to a user
- They made a “Robots API“—fun name, and likely to be useful for SEO changes
- Lazy-loading iframes (
img
already do this) out-of-the-box - A host of developer-focused changes
- And more Gutenberg changes than I can list
A Summary of Next-Gen Image Formats
Most everyone in the WordPress world knows the basic image formats: use JPEGs for photos, PNGs for screenshots, and maybe WebP if you’re a Google-loving-hipster. Or at least, that’s my summary of the situation. (Some other playful/controversial opinions: .bmp is for dinosaurs who love MS Paint, GIF is a weird name we fight about for what should really be silent video files.)
I didn’t know a lot of the technical details of all those image formats. Nor had I realized that people were (maybe obviously) working on newer image formats. All that in more is the topic of this post over at Cloudinary from Jon Sneyers. His writing is fun, his biases are clear, and you’ll probably learn something about an important detail of the internet 🤓
Dealing with Client Conflicts
I’m quite confident a lot of WPShout readers are doing at least a little bit of “client work.” Whatever way you do that—even if you don’t do it using WordPress—problems can crop up. Which is why I really appreciate this little article from Jennifer Bourn.
She covers a number of the facets of how to deal with conflicts that come up, including this thing that some conflict-avoidant souls (like me) may find a little surprising:
The good news is that client conflict isn’t always a bad thing.
Managing client conflict the right way can turn a negative situation into a positive one. Your response can solidify your position as leader of the project, reinforce your expertise, and build greater trust with your client. Plus, by addressing potential conflict immediately, you can salvage client relationships worth saving and end those that are toxic before they devolve into a situation that could harm your brand.
She goes on to enumerate ways you can handle conflict poorly, as well as some of the ways that you can healthily cope in a difficult situation. Definitely give it a read.
Quick Guide: How and Why to Make a BASH Alias



This Quick Guide covers a common question whose lingo may confuse newbies: how do I make a Bash shell alias? For those for whom that sentence was Greek—let start here: Bash is the "Bourne Again Shell." (There's not relationship to the Matt Damon movie character, for better or worse. ;p) In the world of "command line interfaces," Bash has been…
Is CSS float deprecated?
As a perennial CSS newbie (who kind of had skills a decade ago) I appreciated this short article from Robin Rendle about when (translation: how little) you should use the float: left
that was so common when I last really did CSS.
To summarize, you can (and should) keep using float
for what it is originally designed for: embedding small things like images inside of text which flows naturally around them. But all the other layout used people put them to for years? Skip it and that annoying clearfix
stuff we all had to do.
The most interesting thing from the article—which Robin also seemed surprised by—is that haven’t actually need to do that clearfix
stuff for a while, all because of a little property on display
called flow-root
. To learn just how that works, you’ll have to click through 🤓
Google Tricks Cheatsheet
I use Google a lot. You probably do too. But have you ever thought about tricks that’d make you better at Googling? I honestly don’t much of the time. And that’s partly down to just how good “normal Googling” is, and also my laziness.
Anyway, I really liked this little post from Marko Denic because it almost certainly will make you better at using the tool to the utmost. I was familiar with things like the site:wpshout.com
trick. But I had no idea that Google supports *
as a wildcard placeholder in a phrase. For that and other things you might now know, do click through to give the post a scan. (I’m not being diminutive; this post is clearly purpose-built as a quick-scan vs an in-depth reading journey 🏕)
Why I Still Use RSS
I share this story from Marc at atthis.link for two reasons: that it is itself interesting and useful, and because I’ve also been using RSS lately and enjoying its respectfulness.
First, Marc’s article is itself a useful summary of why RSS is better than Twitter, Facebook, et al. He also highlights a few things I hadn’t realized or thought about, like the ability to set up an RSS subscription to YouTube channels and (sub)Reddits.
But more importantly to me, I’ve been using RSS a little more regularly in the last few months, and I’m loving it. I’m using Feedly, largely on my new iPad.
I was a heavy user of RSS around the time Google Reader was ended (too soon). But the Fever app by Shuan Inman I was using stopped getting active support around the same time that my life got busier. So RSS just kind of fell by the wayside.
But as Marc says, RSS is the internet at its best. A loose confederation of people without lock-in to specific business models of monetization or greediness for attention. (Yep, that’s a lightly veiled reference to Twitter, Google, and Facebook 🤓)
For those unfamiliar with RSS, the great news is that WordPress automatically provides RSS feeds. You don’t need to do anything to support people reading your site that way 🥳
Quick Guide: Where are WordPress Pages Stored & How to Find Them



It's a very reasonable question: where are WordPress pages stored? There are a lot of ways to answer it though. Without getting too pedantic, we really need to understand a few different levels of the questions to really give a good answer. In this Quick Guide we'll cover a few different of the answers you may be seeking. Quick Ways…
Keep reading about Where are WordPress Pages Stored & How to Find Them →
State of Website Builders
I think it’s a good practice for us WordPress Pros to at least keep an eye on what’s going on the world of websites outside of our chosen CMS. A quick and effective way to learn about other ways people learn WordPress is this little article from Steve Benjamins at SiteBuilderReport.
A quick summary of my takeaways:
- Webflow — which is something I’ve heard a smattering of good things about — seems to be growing a lot.
- Wix has more overall users, but is on a smaller percentage of popular sites than Squarespace.
- After Shopify, the second-most-popular ecommerce platform was “Ecwid.” Which I had never heard of.
(Hat tip to the Post Status Newsletter on this)
The WP Briefing Podcast
Here we are sharing news of a podcast so new that you probably can’t even easily subscribe to in your podcast player. (Or at least I failed. Because they’re still mid-podcast-directory approval, it seems.) But I just listened to the first episode and I think it’s definitely worth keeping in on your radar.
Josepha Haden Chomphosy, WordPress Executive Director, started a podcast. I’ve admired Josepha’s work in WordPress and leadership for a while, so I for one am pumped to get to hear more from her about anything, especially including WordPress. So I think this podcast is great. And if you want a lot more nerdy details, be sure to check out Justin Tadlock’s reporting on the topic. The first episode is a cogent summary of the themes Ms. Haden Chomphosy pulled out of the State of the Word talk Matt Mullenweg gave in December.
Quick Guide: When & How to Use Noopener Noreferrer in WordPress



It's pretty common for WordPress folks to start looking harder at their page's HTML from time to time. If you find yourself doing that, you may see this rel="noreferrer noopener" on some links. What's noopener noreferrer? You're in the right place to find out. Short answer: it's a security measure for when you want a link to open in a…
Keep reading about When & How to Use Noopener Noreferrer in WordPress →
PhpStorm for WordPress Tips
I’ve been using PhpStorm for PHP + WordPress development for gosh, at least 5 years now. For those who aren’t familiar, PhpStorm is a PHP-specific IDE (“integrated development environment”; read: text editor with lots of special features) from JetBrains. JetBrains make other tools you may have heard of like PyCharm, WebStorm, and IntelliJ IDEA.
Anyway, the thing that this little article from Iain Poulson made very clear to me—and I did already suspect—is that I’m using just a fraction of the relevant and cool features that the tool has to offer. I figure at least a few people out there are rather-lazy PhpStorm users. Or maybe are wondering if the tool would be worth the investment for them. If you’re either of those types, give this article a read.
Cool CSS Paper Effects
It’s hard for me to pass up cool-looking tricks, and this is no exception. This sweet little post from Suzanne Aitchison is just three different little CodePens that show off relatively-realistic looking effects that mimic real-life paper. Would I be able to recreate a similar thing in 3 hours of trying? Probably not. But that doesn’t make it less worth my time to stare at them for a bit. ;p
State of CSS, 2020
Long time readers will know that I consider myself a CSS outsider. I learned how to do it about 10 years ago, and have just enough skills to get by today. So I read with interest Sacha Greif’s “The State of CSS 2020” document. While I found myself a little annoyed by the document’s “design fanciness” (particularly what I perceive as scrolljacking), the results were quite interesting.
On a quick-tour, the takeaway of “really learn Tailwind” is hard to miss. That said, I also found the “CSS in JS” discussion useful, and I was pretty cheered by the “overall satisfaction” chart that caps it all off (and is this post’s “featured image”). People are loving CSS! What an age! 🤓