Day 18 – Post from the App

Prompt 18/20

Blog: Download the WordPress Mobile app and post a post from the app about your experience posting from the app. Post a link to your post in the comments.

It’s been a while as I used to have the mobile app. Didn’t really ever use it. Didn’t blog enough to justify tbh.

So far it’s pretty good. Took me a while to orientate, the formatting buttons are below the block and some block functions are off screen due to real estate. But after a couple of minutes it seems pretty good.

Block insertion is good. I can add new blocks pretty easily.


Unfortunately appears there was a few bugs on the app, I think maybe because I am on a hosted solution via login? So I’e switched to desktop to finish this post. But if that was sorted I can see this being a good solution, it seems to have all the things you have on desktop in a tiny space, very well designed, easy to use. I wouldn’t use it for long form writing, but for quite posts / edits this is perfect. I shall keep it on my phone.

Day 16 – AI

Prompt 16/20

Blog: Tell us your hopes (or fears) for the future of AI in WordPress. Post your response on a WordPress website and link it in the comments.


I think this Tweet and video from Joe Hoyle sums it up pretty well.

The conversational nature of it is something I think has massive potential. I am a Web Developer and as such I know the general lexicon – row, column, font sizes, tables, hex colors… which might seem natural to us but is not to a wider variety of people. One comment I hear over and over again from clients (and designers) is that the WordPress admin is overwhelming, there are too many options, too many ways to break things (unintentionally and intentionally). This might help a lot.

Using something like AI makes it (potentially) more accessible to a wider variety of people, as great as we make any UI – adding another column to a table is going to be a different process from system to system. The words ‘Add another column’ will not be. Obviouvsly we know AI can ‘hallucinate’ and so this is not guaranteed. More on that next.


Well, many. AI or for many contexts LLM is not magic. They appear to be but they are not, however the expectation, even if known (myself included) is such that they are. As such we might over trust it to produce the right results even if they are not. The need to check these is essential.

Auto generated fluff. And there will be LOTS. If as above we can generate things more easily then this will be for good and bad and maybe both. If we can generate an essay from a simple prompt then we will, and a LOT. SEO spam, filter content, marketing gateway pages and much more Ray-Ban style comment spam than you can shake a Midjourney generated stick at.

This will undoubtedly be overwhelming, and also mean we will question the nature of truth, if anything can be AI and ‘made up’, what is ‘real’.

People will develop AI detectors which will also be AI powered and will be wrong and right in equal measure. See how it’s affecting education already. Maybe I’ve put this blog post through ChatGPT, maybe I asked it to fix the spelling and grammar, maybe I asked to to generate the entire thing, maybe my prompt was super vague…or super detailed? All are AI generated but some are orders of magnitude different to the other. Is it any less valid or true if I just want to fix my spelling. What if I was dyslexic? What if my English was poor. There are so many nuances it’s almost impossible to say AI is bad, AI is good, AI is false. It just is. All neatly bringing me around to the first post on this blog in 2004.

Or another way of putting it.

“All of this has happened before. All of this will happen again.” – Number Six

Day 15 – Share a WordPress tip or trick

Prompt 15/20

Blog: Share a WordPress tip or trick that has made your life easier. Post your response on a WordPress website and link it in the comments.

There are probably a couple for me, the first being ‘Plucks a certain field out of each object or array in an array.

$categories = get_the_terms( get_the_ID(), 'category' );
wp_list_pluck( $categories, 'term_id' );

Just feels like a really efficient way of just getting the info we need, in the above instance we just want and array of Category IDs that we could do something with. But this could be post IDs or child pages via query args.

Another is ‘Displays translated text that has been escaped for safe use in HTML output‘ This one is best if we might be using HTML in the string

<?php esc_html_e( 'Skip to main content', 'dogwonder' ); ?>

We could also use the following depending on the context in which the text is being used.

esc_html__( 'text to translate', 'text-domain' ) // To store a translated string in a variable, can be echoed later
__( 'text to translate', 'text-domain' ) // Needs echoing, no escaping
_e( 'text to translate', 'text-domain' ) // No escaping echos directly

In general it’s probably good practice to use either esc_html_e or esc_html__

It also has the benefit of preventing cross-site scripting (XSS) attacks.

Now you may never wish to translate your theme or plugin, but it’s not a bad idea to do the above if you ever think it might happen. It will save a huge amount of time later. You can then use a tool such as Poedit so scan your theme or plugin to create an empty translation file.

Day 14 – Take a screenshot of your IDE 

Prompt 14/20

Develop: Take a screenshot of your IDE open to a recent WordPress project (be sure to obscure any identifying details) and share it on your preferred social account. Post a link to your post in the comments.

This is a recent project where I am building a category filter. Bonus feature, I’ve just got access to GitHub CoPilot X so included that in the screenshot as well.

Screenshot of my IDE (Integrated development environment) showing a recent project where I am building a categories filter list
2023 2022 2021 2020 2019 2017 2016 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004