Jonny Harris's Avatar

Jonny Harris

@spacedmonkey.bsky.social

WordPress core committer. Working on the Times. Lover of open source.

817 Followers  |  236 Following  |  62 Posts  |  Joined: 09.12.2023  |  1.9879

Latest posts by spacedmonkey.bsky.social on Bluesky

Are they selling the solution?

23.01.2026 07:00 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Add wp-env SPX profiler option by nerrad ยท Pull Request #70693 ยท WordPress/gutenberg What? Implements SPX (Simple Profiling eXtension) support in the @wordpress/env package, providing lightweight PHP profiling capabilities with a built-in web UI. Why? SPX offers a more lightweight ...

The WordPress ENV package now supports SPX (Simple Profiling eXtension) ๐ŸŽ‰
Get lightweight PHP profiling with a built-in web UI, making it much easier to analyse and optimise performance during development.

github.com/WordPress/gu...

20.01.2026 10:29 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 1
Preview
GitHub - spatie/phpunit-snapshot-assertions: A way to test without writing actual testย cases A way to test without writing actual testย cases. Contribute to spatie/phpunit-snapshot-assertions development by creating an account on GitHub.

I think in the new year I am going to play around with โ€œSnapshot testing with PHPUnitโ€. This could be really cool to check front end, to ensure html markup doesnโ€™t change, unless I meant it to

github.com/spatie/phpun...

10.12.2025 11:52 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Consistent Cache Keys for Query Groups in WordPress 6.9 Query caches have historically used the last changed timestamp as a salt. While this has proven effective for most sites, it leads to an excessive number of caches which can be problematic on high-โ€ฆ

If you want the full technical breakdown โ€” and how hosts or cache providers might handle upgrade scenarios โ€” read the announcement blog post on Make/Core.
๐Ÿ‘‰ Full details: make.wordpress.org/core/2025/11...

04.12.2025 13:53 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

This applies to nearly every query type: posts, comments, terms, users, sites, networks, and more.
The result: far better cache efficiency, fewer wasted objects, improved hit rates, and predictable behaviour under heavy load.

04.12.2025 13:53 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

From 6.9, cache keys stay consistent. The freshness check (via last_changed) now lives inside the cached value itself.
If the data is stale, WordPress overwrites the existing entry rather than creating a new key.

04.12.2025 13:53 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Previously, query caches included last_changed inside the cache key. Every content update generated brand-new keys, leaving old entries stranded and wasting memory.
At scale, this meant caches filled up with unreachable data.

04.12.2025 13:53 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

After more than two years of work, a major performance improvement is landing in WordPress 6.9: consistent cache keys for all query groups.
This change will have a huge impact on sites running a persistent object cache at scale.

04.12.2025 13:53 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Iโ€™m helping with this one.

05.10.2025 16:55 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
REST API: Increase the specificity of capability checks for collectioโ€ฆ ยท WordPress/wordpress-develop@52992d2 โ€ฆns when the `edit` context is in use. The edit access in now taken into account for each individual post, term, or user in the response. Props andraganescu, desrosj, ehti, hurayraiit, iandunn, j...

For those that use the REST API with context=edit, there is a change added to core that adds a permission check that break some of your calls.

REST API: Increase the specificity of capability checks for collectioโ€ฆ ยท WordPress/wordpress-develop@52992d2 github.com/WordPress/wo...

01.10.2025 12:39 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I am heading to @loopconf.com this week in London. First time at a WordPress conference in a while, excited to connect with the WordPress community again.

23.09.2025 10:39 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Cover block images are a special case. They should really use an image tag but they donโ€™t. They use a div with background image as it gives more css control.

18.08.2025 16:43 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Accessibility question: should the WordPress cover block have alt text? Technically a cover block uses a background image which doesnโ€™t have alt but should it? Should decorative images have alt text? ๏ฟผ

18.08.2025 11:47 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I would love to see a custom LLM for WordPress, it could contain trac, the codex and maybe the plugin repo. I would love to be able to ask questions of the whole of trac, like why decisions were made, find duplicate tickets or find plugins with similar functionality.

18.07.2025 07:33 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I would love to see a custom LLM for WordPress, it could contain trac, the codex and maybe the plugin repo. I would love to be able to ask questions of the whole of trac, like why decisions were made, find duplicate tickets or find plugins with similar functionality.

18.07.2025 07:32 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 1
Preview
#14110 (Expose height and width attributes to 'wp_get_attachment_image_attributes' filter) โ€“ WordPress Trac Blog Tool and Publishing Platform

WordPress 6.8.2 just dropped, and Iโ€™m especially proud of one small but mighty improvement: we closed a 15-year-old ticket! ๐ŸŽ‰

wp_get_attachment_image_attributes now includes height and width. This unlocks some powerful tricksโ€”like replacing image URLs or dynamically adjusting dimensions.

16.07.2025 08:43 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Have you ever used the alias_of term functionality in WordPress?

Or even heard of it?
Genuinely curious โ€” reply and let me know. ๐Ÿ‘‡ #WordPress #DevSurprises

01.07.2025 20:56 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Apparently it was officially deprecated in WordPress 4.7 โ€” yet it still works if you manually set it.

I canโ€™t believe this was quietly lurking in plain sight all this time.

01.07.2025 20:56 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

It doesnโ€™t show up in the admin UI.
Thereโ€™s no core UI for managing aliases.
You have to dig into the DB or use code.
And it only works within the same taxonomy.

01.07.2025 20:56 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

You can even set alias_of via wp_insert_term() or when registering terms manually.

Internally, WordPress uses it to merge terms. Think of it as a soft-deprecated, under-documented feature from the multisite merge days.

01.07.2025 20:56 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Turns out thereโ€™s a alias_of parameter for taxonomy terms.

Itโ€™s meant to point one term (e.g. a tag or category) to another โ€” so when you access the alias, it loads the main term instead. Essentially a redirect, at the database level.

01.07.2025 20:56 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Waitโ€ฆ did you know WordPress has a term alias functionality? ๐Ÿ˜ฎ
Iโ€™ve worked with WordPress for years and somehow completely missed this.

01.07.2025 20:56 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Dropping security updates for WordPress versions 4.1 through 4.6 โ€“ WordPress NewsWordPress.orgWordPress.orgWordPress.orgWordPress.org

Dropping security updates for WordPress versions 4.1 through 4.6 wordpress.org/news/2025/06...

20.06.2025 09:08 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

For those at #wceu, what is your biggest take away from the event? What did you learn?

08.06.2025 14:12 โ€” ๐Ÿ‘ 0    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I am not even in Europe right now, I am in Canada. I think that law of physics requires me to half a word away. Crazy. Hopefully next time!

08.06.2025 13:34 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

You went to WCEU?!? The one bloody WCEU I miss!

08.06.2025 13:20 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

It can be used with delicious brains background processing. I would look at using WP cli to run your scheduled tasks, once a minute using a real cron on your server.

02.06.2025 19:54 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Have you looked into action scheduler?

02.06.2025 07:13 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Enhancing WP_Query Performance in WordPress - Spacedmonkey WP_Query is a powerful tool for fetching posts in WordPress. However, if you donโ€™t carefully configure your queries, they can quickly become inefficient, particularly on larger sites. Whether youโ€™re working on a high-traffic website, a REST API endpo...

I don't know about you, but I use WP_Query a lot when coding in #WordPress. This article from @spacedmonkey.bsky.social is a great resource on how to enhance your use of WP_Query.

Well worth a read.

https://bit.ly/4kwUVfa

24.05.2025 08:00 โ€” ๐Ÿ‘ 11    ๐Ÿ” 4    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
How to work effectively with the useSelect hook This article is about the useSelect React hook from the @wordpress/data library. It offers several tips and tricks on how to use it in the most efficient way possible, and answers many subtleโ€ฆ

๐Ÿš€ Mastering useSelect in WordPress development? This in-depth guide by Jarda Snajdr dives into best practices for using the @wordpress/data hook efficiently. From declaring dependencies to handling multiple stores, elevate your block editor skills today.

22.04.2025 13:32 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@spacedmonkey is following 19 prominent accounts