Custom WordPress Query Using Custom Taxonomy and Custom Post Type

What you are about to read is the result of, probably, 20+ hours of banging my head against a wall. It wasn’t until Nick came in and showed me the light that I finally was able to get over the hump.

I was having a heck of a time getting a custom WordPress query that displays a random custom post from a custom taxonomy to work properly. I only seem to have this problem when returning information via a plugin or via a function in the theme, but it is possible that it might pop up elsewhere.

To clarify, I have a custom post type called “ads”. I have a custom taxonomy attached to the “ads” custom post type called “rotation”. Here is the code I finally went with:

global $post;
$args = array(
'tax_query'=> array( array(
	'taxonomy' => 'rotation',
	'field' => 'slug',
	'terms' => $position,
	'operator' => 'IN',
	), ),
$my_query = new WP_Query($args);
while ($my_query->have_posts()) : $my_query->the_post();
	// Display post details here.  Example: the_title(), the_permalink(), etc.

The big hurdle to overcome was knowing that I needed to use the “tax_query” property. I still don’t know why that part is necessary, but it is. If you know why that is necessary, please share your knowledge in the comments.

I hope this information saves someone many hours of frustration! 🙂

Posted in ,

Toby Cryns

Toby Cryns is a freelance CTO, expert WordPress consultant, and teacher.

He offers free advice to improve your freelance biz.

He also publishes small droppings every now and then to and

Follow Toby's contributions on Github and