612-293-8629 HELLO@THEMIGHTYMO.COM

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(
 
'post_type'=>'ads',
'showposts'=>'1',
'orderby'=>'rand',
'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.
endwhile;
 
}

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! ūüôā

PHONE, EMAIL, TEXT

We love to communicate: phone, email, text, Facebook, Twitter, LinkedIn, you name it.

LOCATIONS

PAYMENTS ACCEPTED

Call Now

Enroll in Our Free Beginner WordPress Class - delivered to your Email Inbox!

Become a WordPress superstar for FREE in only minutes a day!  Our free Beginner WordPress Email Class will be delivered to your inbox!

Learn More 

You Have Successfully Enrolled! Prepare For Amazing!