Meta Filters (Pro)
Meta filters allow you to filter by field, and create complex queries with multiple fields.
- 1.
- 2.Switch to the Meta Filters tab.
- 3.Click on the ‘Add Rule’ button.
- 4.Click on the ‘Add Field’ button.
- 5.In the Group field select the field group.
- 6.Select the Field from the dropdown.
- 7.For the Comparison field, select how you would like to compare the fields.
- 8.Enter a Value that will be compared.
- 9.Repeat steps 4 to 8 to add more fields.
- 10.Click ‘Update’ to save your Card.
Note: adding another Rule (see step 3) will create a relation to control how field rules will be joined within the meta query.
Note: Do you want to customize a query (WP_Query) that is used to get posts for a Card, but the option is missing in the UI? You can do this using our filters. Read more here
The value field supports dynamic injection. This means you don’t need to use only static values, but have the option to also define page id/field and datetime aliases. These aliases will be replaced dynamically with the current value depending on the page and/or current date and time respectively.
Get current post ID
Note: $post$ will be replaced with the current post id.
Example usage: find all posts where post_object/relationship field contains the current page in the list.
Compare current post with field value
To compare with a field value, you can use $post$.field-name, where 'field-name' should be replaced with the name of your target field. In this way, the plugin will automatically get and use a value of the field from the current page in the query.
Example usage: find all posts where a 'select' field has the same option chosen, as the option chosen on the current page.
Compare date to current date and time
To compare the value in an ACF Date or an ACF Date/Time field to the current date and time.
Note: $now$ will be replaced with the current date and time the page is viewed.
Example usage: find all posts where 'date' field value is "Bigger than" current date and time. So as to show only upcoming events in the posts grid or list.
ACF Views Pro supports Post_object and Relationship field types in the Meta filters.
For Example:
Let’s imagine that you have a Company and Employee CPT. Every Employee has a post_object field, where the current Company of the Employee is selected.
Our goal is to create a Card for Company CPT, which will display all Employees of the current Company.
- 1.Create (or open) an ACF Card, which will query posts by the relationship/post_object field.
- 2.Create a new Meta Rule and select the target relationship/post_object field. Choose ‘Equal’ in the Comparison setting.
- 3.Define a value, which can be done in a couple of ways; a) Use the special
$post$
value if you’re going to paste a Card shortcode on a Page or Post, of which the ID should be used in the meta_query. It means the$post$
will be replaced with an ID of the Post, where you’ve pasted the shortcode, and the query will find all Posts, where the relationship/post_object field of the current post ID is chosen. In our Company example this fits perfectly well and can be used to display all Employees on the Company CPT. b) Numeric ID of the target Post. If you want to query all posts which have the specific Post selected in their relationship/post_object field, but this specific Post is different from the Page where you’re going to paste the shortcode, then you must define a numeric ID of that specific Post. In our Company example this can be used to display all Employees for the specific Company CPT on the homepage or another page. c) Use the relation field alias i.e.$post$.your-field
to find all posts that have the same option selected as the current page. Note: if the current page field contains multiple values, then it will get pages, where at least one matches. - 4.Save the ACF Card, and paste the Card shortcode in the target place.
- 5.That’s it, you’re done.
Behind the scenes, it does the necessary trick of wrapping into quotes and using 'Like' for comparison, so you don't need to take care of it. It'll work with all the field options for Single, Multiple select and all return formats of a field.
Last modified 7d ago