Hi, my name is
Lee Harris and
I'm a Freelance Web Designer

WordPress: Query multiple post types using an ACF field to filter results

12.Dec.2014 | ,

How to use an ACF field to filter a loop with multiple post types

There are other ways to do this, but just in case you fancied using an ACF field, this is how you do it…it worked for me!

Lets say you have built a custom news feed for your WordPress site and you want to loop through three different custom post types. For this example we have three groups of posts – “posts”, “publications” and “events”.

<?php
$args = array( 'post_type' => array( 'post', 'publications', 'events' ),
		'orderby' => 'date',
		'order' => 'DESC',
		'showposts' => 10
             );

$loop = new WP_Query( $args );

if( $loop->have_posts() ): ?>

Now let say you have created a custom ACF select field called “Business Sector” with various values, and you want to only loop through the posts with the value of “charities”:

<?php
$args = array( 'post_type' => array( 'post', 'publications', 'events' ),
		'orderby' => 'date',
		'order' => 'DESC',
		'showposts' => 10,
                'meta_query' => array(
                                      array(
                                             'key' => 'business_sector',
                                             'value' => 'charities',
                                             'compare' => 'LIKE'
                                           )
                                     )
             );

$loop = new WP_Query( $args );

if( $loop->have_posts() ): ?>

You can replace “key” and “value” to match your own custom field.

Useful links: http://www.advancedcustomfields.com/resources/filter-posts-by-custom-fields/

, , ,

  • html5
  • css3
  • sass
  • php
  • WordPress
  • WooCommerce