11th Aug '23
/
4 comments

Sort Posts by Meta Box Group Sub Field in Bricks

This Pro tutorial provides the steps to order posts in Bricks by the value of a Number-type of sub field that is inside a Meta Box group.

Use case: Sort posts by year.

If the year field were not inside a group, it is straight forward to order by the field value:

But if the field is inside a group like this:

there is no built-in way, that I know of, to set up ordering using the controls that Bricks provides in the editor.

What Bricks does provide however, is a set of excellent filter hooks for developers to modify most aspects of the output programmatically.

We shall use the bricks/query/result filter to intercept the query result by

  • getting the array of post objects in the result
  • getting the array of post IDs
  • sorting the above array using a custom comparison function
  • getting the array of post objects from the above sorted array of post IDs
  • setting the posts property of the result object to the above array of sorted post objects

to arrange the posts in the order of those that have the sub field populated in either ascending or descending order followed by the rest in the default date descending order.

Sample data from our test site:

Event 0:

Event 1: 2026

Event 2: 2023

Event 3: 2022

Event 7: 2040

(rest of the event entries have the field empty)

On the front end before implementing the tutorial:

On the front end after implementing the tutorial - with posts arranged by the Event Year sub field in descending order:

Step 1

Inside a Section's Container, add a Posts element or set up a query loop on a Block element.

Configure the query and set

Order by: Meta numeric value

If you are not editing a template that applies to the event CPT archive, set Post type to Events.

Add the following in child theme's functions.php or a code snippets plugin:

This is a BricksLabs Pro tutorial.

For full access login below or create your BricksLabs Pro account

Get access to all 633 Bricks code tutorials with BricksLabs Pro

Related Tutorials..

Custom Image Field Avatar in WordPress

Custom Image Field Avatar in WordPress

Learn how to use a Meta Box image field value as the author profile image on single post pages in WordPress/Bricks.
Categories:
Tags:
Pro
Random Row from ACF Repeater in Bricks

Random Row from ACF Repeater in Bricks

In the past, we shared how the first row of a ACF Repeater can be output in a Bricks query loop here. This Pro tutorial…
Pro
Meta Box Relationship Posts Filtered by a Taxonomy Term in Bricks

Meta Box Relationship Posts Filtered by a Taxonomy Term in Bricks

Updated on 17 Feb 2025 In the Inner Circle a user asks: Hello, I have a relationship made in metabox between two Post Types “Travel”…
Categories:
Pro
Bricks Forms + Meta Box: Auto-Create Post Relationships on Form Submission

Bricks Forms + Meta Box: Auto-Create Post Relationships on Form Submission

How to link a Bricks post-creation form on a post to a newly created post of another post type using Meta Box relationship.
Pro
Ordering Meta Box group rows by a sub field in Bricks

Ordering Meta Box group rows by a sub field in Bricks

In the BricksLabs Facebook group a user asks: Any idea how to set the sort order of a cloneable group in the query? In this…
Color Custom Field as Section Background Color on Category/Term Archives in Bricks

Color Custom Field as Section Background Color on Category/Term Archives in Bricks

How to use a color from a taxonomy term custom field for as the hero section background color on archive pages.
Categories:
Tags:
Pro
Meta Box Relationship in Bricks using Posts Query Loop

Meta Box Relationship in Bricks using Posts Query Loop

This Pro tutorial is similar to the recent ACF Relationship in Bricks using Posts Query Loop guide but for Meta Box. In the past, we…
Categories:
Pro
Filtering Meta Box Cloneable Group by Select Subfield for Multiple Bricks Query Loops with Conditional Output

Filtering Meta Box Cloneable Group by Select Subfield for Multiple Bricks Query Loops with Conditional Output

In the Bricks Facebook group a user asks: Consider this cloneable Meta Box field group for a Custom Post Type called Tour: with the Tour…