Use WP CLI to find all blog posts without a featured image - two methods


The Logo for WordPress.

This uses the wp shell command. It gives you an interactive prompt into which you can do various WordPress "things". One small annoyance is that it doesn't like multi-line entry. It treats every hit of the enter key as "plz run the codez" - so, at the end of this blog post, I've put the commands in copy-n-paste format. Once you've installed WP CLIP, go to the command line and run wp shell. You'll be greeted with an interactive prompt wp> Method One - Quick Search This command constructs a…

Continue reading →

The minimal-div minimal-span philosophy of this blog


HTML Source Code.

If you've ever learned Mandarin Chinese, you'll know about "measure words". They're the sort of thing that trip up all new learners of the language. While 个 (gè) can be used as a generic measure word, using it everywhere makes you sound like an idiot (according to my old teacher). So you learn to use 个 for people, 包 for packets, and 根 for things which are long and thin. English has a similar construct. You might say "one bunch of flowers" or "two glasses of wine" or "three bowls of soup". You…

Continue reading →

Who reads my blog?


Some giant question marks standing in a field. Photo by https://www.flickr.com/photos/dbrekke/181939582/

Hello! Thank you for reading what I write. Sorry to ask, but… who are you? I was chatting to a friend about what it is like running a blog, finding new topics, keeping up with a daily schedule, moderating comments, etc. And they asked, quite reasonably, "who are your readers?" And, honestly, I have very little idea! The only analytics I have on here is basic WordPress JetPack statistics. I can see which posts are popular. I get a sense of which countries you are in. If you leave a comment, I k…

Continue reading →

Build your own "On This Day" page for WordPress


A graphic of a calendar showing the date "February 25 Sunday"

I blog. A lot. Too much really. One of the things I like to do is see what I was rambling on about this time last year. And the year before that. And so on. So, here's my On This Day page and here's how I built it. WARNING Extremely quick and dirty code ahead! This allows you to add a shortcode like [ edent_on_this_day ] to a page and have it auto generate a list of posts you published on this day in previous years. You may need to exclude that page from your cache. Add these functions to…

Continue reading →

12,000 comments


Screenshot from the WordPress dashboard showing 12,000 comments have been approved.

I know they say you should never read the bottom half of the web. This blog has existed in one form or other since 2004. Since then, I've approved TWELVE-THOUSAND comments. Most comments - but by no means all - are delightful. People wanting to share their own stories, add something to the discussion, or politely disagree. I moderate heavily. If someone is rude or abusive, their comment isn't published. Unless it's really funny. In all the years of running this site, I've only had to…

Continue reading →

Necroposting - blogging from before you started blogging


An old photo of me, wearing a silly hat.

Jon Hicks has a lovely blog post about his site's design. In it, he briefly touches on something I find interesting: Blogging like it's 1972 I also finally realised that there's nothing stopping me from adding journal posts dated from before I started blogging. So I'm going to start adding key life moments as much as I can. A blog isn't an immutable chain of events. There's nothing to stop us travelling in time. When I go digital sperlunking though my history, I often find interesting…

Continue reading →

The ethics of syndicating comments using WebMentions


The WebMention logo is a stylised letter W with an arrow at the end.

This blog uses WebMention technology. If you write an article on your website and mention one of my blog posts, I get a notification. That notification can then be published as a comment. It usually looks something like this: This means readers of my post can see where it has been mentioned around the web. They can read your article after reading mine. Nice! I've also set up a "bridge" service which looks for people posting comments about my work on social media. For example, if you…

Continue reading →

HOWTO: Remove the Blubrry PowerPress "New!" Banner


WordPress menu. There is a distracting badge with a white background and red text.

The best thing about WordPress is the plugin infrastructure. A million little gadgets to make your blog better. Sadly, there are all sorts of ways plugin authors can abuse their privileges. Dodgy code and user-hostile features sometimes make plugins more trouble than they're worth. Recently, the normally excellent Blubrry PowerPress plugin pissed me off. It's a useful plugin for publishing podcasts on WordPress. They had a new feature - some kind of embedded audio player - and introduced it…

Continue reading →

Blog To Speech


Screenshot of a blogpost saying that the audio version has been recorded by "George Hahn".

Listen to this blog post in your browser: Download MP3 audio. Powered by Amazon Polly. I've noticed an interesting trend on some of the blogs I follow. More of them - though by no means the majority - are including audio versions of the content. The usually look something like this: or The ones which have this are mostly using commercial Text-To-Speech (TTS) engines. Although a few of the (perhaps wealthier?) bloggers have hired people to record audio versions of their…

Continue reading →

Goodbye daily blogging


A calendar view of all my blog posts in the last three years.

At the start of 2020, for some strange reason, I decided to publish a new blog post every single day of the year. And, a third of the way through that, COVID struck. In a way, it was good for my motivation. I didn't have any fun and exciting trips to go on - so I had plenty of free time. But there's only so long you can stare at four walls while your friends are sick and dying, without going out of your mind. So I started buying random tech to review. And then companies started sending me…

Continue reading →

WordPress Stories - a quick review


In product screenshot. You've got early access to Story Posts and we'd love for you to give it a try. Now stories are for everyoneCombine photos, videos, and text to create engaging and tappable story posts that your visitors will love.Story posts don't disappearThey're published as a new blog post on your site, so your audience never misses out on a thing.

The WordPress app for Android prompted me to add a story! < p>This is a new and experimental feature. Sadly, it isn't very good. Here's how it works. < p>There's a brief description and some aspirational screenshots. < p>There's a basic image picker. Then you get some basic tools to add text on top of your image. < p>I know I'm a cynic, but this is a little underwhelming. It just posts an image to the blog. You can make it go full screen. < p>This is it: < p>There's a…

Continue reading →

Best of: What I blogged about in 2020


My smiling face.

This is a quick round-up of the blogs which "did numbers" this year - and a few which I feel were cruelly overlooked. I posted a new blog every day in 2020 - so don't be surprised if you missed a few. OK? Here we go! January Watch out; there's a scam about. People love sharing horror stories. Scammers registering date-based domain names A venture into the arcane mysteries of programming Why do we have different programming languages? A nice security report to Google but, sadly, no…

Continue reading →