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(
'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! 🙂

Posted in ,

The Mighty Mo! Design Co.

RSS From Toby’s Blog

  • Where uncertainty exists, don’t order specific.
    4 Idiot Case Studies with 2 simple age-old business lessons. The post Where uncertainty exists, don’t order specific. appeared first on Toby Cryns, WordPress Trainer in Minneapolis, MN.
  • “Now THAT was a good meeting!”
    A single effective meeting can change the course of history for a company. Imagine if you could lead effective meetings EVERY DAY! You can, but it takes curiosity & practice. This article is a good place to start your journey to a more effective you. The post “Now THAT was a good meeting!” appeared first […]
  • Never Respond to RFPs & Custom Proposal Requests
    Y'all who work at normal 9-5 jobs don't need to deal with the B.S. that is an RFP process (or rather you get paid to deal with it). But us freelancers gotta deal with a whole big bag of schtuff when it comes to custom proposals. Here's my quick-and-dirty RFP filtering process that I use […]

More posts from themightymo.com

How to auto-save Advanced Custom Fields (ACF) data to a file in your theme

By The Mighty Mo! Design Co. | January 24, 2023

With ACF 5, they shipped a relatively-unknown and awesome feature: The ability to have WordPress automatically-save your ACF fields to a json file in your theme folder every time you save your fields. This has the effect of: All you need to do is add a folder called, “acf-json”, to your theme folder, and it…

How to use $current_user or is_user_logged_in() with FacetWP and WordPress to show different content for logged-in users

By The Mighty Mo! Design Co. | January 23, 2023

I have a membership site where I need to display certain FacetWP results to people who are logged in and other FacetWP results to people who are logged out. Unfortunately, FacetWP forgets WordPress’ global $current_user variable the minute you use one of the facets. Same with WordPress’ is_user_logged_in() function – FacetWP forgets it all once…

How to shrink the size of wp_options table in WordPress

By The Mighty Mo! Design Co. | January 20, 2023

I was recently horrified to discover that the “wp_options” table of this site was over 1.3 gigabytes in size. For those of you counting at home – that is ENORMOUS and unnecessary. I was confused, because the table seemed to balloon overnight (and likely did balloon overnight, it turns out!). The issue was caused by…

RSS From Toby’s Blog

  • Where uncertainty exists, don’t order specific.
    4 Idiot Case Studies with 2 simple age-old business lessons. The post Where uncertainty exists, don’t order specific. appeared first on Toby Cryns, WordPress Trainer in Minneapolis, MN.
  • “Now THAT was a good meeting!”
    A single effective meeting can change the course of history for a company. Imagine if you could lead effective meetings EVERY DAY! You can, but it takes curiosity & practice. This article is a good place to start your journey to a more effective you. The post “Now THAT was a good meeting!” appeared first […]
  • Never Respond to RFPs & Custom Proposal Requests
    Y'all who work at normal 9-5 jobs don't need to deal with the B.S. that is an RFP process (or rather you get paid to deal with it). But us freelancers gotta deal with a whole big bag of schtuff when it comes to custom proposals. Here's my quick-and-dirty RFP filtering process that I use […]