Developer Diaries – Custom Query Blocks

Screen full of React Code
Screenshot by Ronald Huereca

Quick Life Update

I have joined the XWP team as a WordPress Engineer. As a result, I have little time for freelancing. I’m updating my WordPress.org plugins as needed, however. I’m also working on a secret side project which I will detail in a separate Developer Diaries post.

Cheers!

The Block Conundrum of Custom Query Blocks

Custom Query Blocks started as a simple archive mapping solution. The blocks were a result of that solution.

The mapping system includes:

  • Mapping a post type archive to a page.
  • Mapping a term archive to a page.
  • Mapping a 404 template to a page.

For the post type archive, I wrote a Custom Post Types block. For the term archive, a term grid block. And finally, I also wrote a term archive block as well.

Seeing that a lot of people were more interested in the blocks, I renamed the plugin Custom Query Blocks. It currently stands at about 1,000 installs, but the growth is trending downward.

On top of the stagnated growth, I’ve received a few reviews questioning why archive mapping is part of the plugin. The reviews indicate that the blocks should be separate.

I installed this plugin to run and output custom queries with the Gutenberg block. That aspect of the plugin is beyond fantastic.

However, the mapping feature doesn’t make sense (to me) to include.. it seems like it ought to be its own separate plugin.

Erica Franz – Full Review

I get it, it started as a custom Archive page mapping plugin. And it needed a custom query block to be useful in the block editor era.

But the custom query block is useful on its own, and it’s really hard to find. A so useful feature for the block editor should be top priority.

Not sure how you could make it work, but both features should be detached.

Thanks for sharing your work.

Alvaro Gois dos Santos – Full Review

I did create an admin panel which allows you to disable archive mapping and keep the blocks, but it’s just a band-aid for people wanting just the blocks.

This leads me to a potential side-project of creating just a block suite for query blocks, but it’s been done and much more involved than I want to put time towards. I’m also hesitant to jump into the crowded market of block suites. Return on investment has been zero, and although I’m thankful for the 1,000 installs using it, it’s kinda not worth it anymore.

However (a big however), I’ve coded two new blocks for Custom Query Blocks, which are half-finished and weigh pretty heavy as far as size goes. You can check out the current branch to see how the blocks behave on the back-end. Please see some screenshots below.

As I mentioned, both blocks are halfway done, but each are heavy as far as lines of code. For example, the Child List Block weighs in at over 4,000, which is simply huge. Based on the downward trend of installs and a few negative reviews, it’s unlikely I’ll code the front-end for the new blocks.

It’s hard to be motivated to continue working on the plugin and as there are other plugins that do the job better, it’s hard to justify further investment in time.

I’m not sure of the future of the plugin aside for giving it up for adoption, but the code is fairly messy (it was one of the first blocks I coded), so I have the feels for any developer taking it over.

That being said, if you are interested or want to give me words of encouragement, the comment section is open.

Thank you for reading.

Ronald Huereca
Ronald Huereca

Ronald Huereca

Ronald has been part of the WordPress community since 2006, starting off writing and eventually diving into WordPress plugin development and writing tutorials and opinionated pieces.

No stranger to controversy and opinionated takes on tough topics, Ronald writes honestly when he covers a topic.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Ronald Huereca
MediaRon - Ronald Huereca

Ronald created MediaRon in 2011 and has more than fifteen years of releasing free and paid WordPress plugins.