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! 🙂
More posts from themightymo.com
Today I had an issue where I needed to merge two folders, each of which contained many sub- and sub-sub folders that had lots of images. After a lot of trial-and-error and some Googling, I found the best solution is to use the “ditto” command in Terminal like this: That’s it! Hat tip to AppleInsider.
I wasted some time today to bring you (dum dum duuuuum!): Some Surprising Trends in Website Development!
I was recently asked to look into creating some secure http headers as well as forcing a website to load over TLS1.2+. Below are my “how to” instructions for updating these settings within WordPress and Cloudflare. Install & Configure the Cloudflare WordPress plugin. Make sure an SSL Certificate is installed on your host for your…