I'm trying to search for the latest post that has a custom taxonomy attached to it. I've used the Advanced Custom Fields plugin to add a custom taxonomy called 'brand_post_link' which allows users to tag a blog post with a brand, which is a taxonomy used with Woocommerce called 'product_brand'.
I have a product_brand taxonomy archive where I list all product brands and individual product brand pages which list all the products in that brand. What I then want to do is get the latest blog post which is tagged with that brand.
Here is the code I have to get all products for a brand used on the individual brand page:
$brandData = get_queried_object(); $args = array( 'post_type' => 'product', 'post_status' => 'publish', 'ignore_sticky_posts' => 1, 'posts_per_page' => 12, 'tax_query' => array( array( 'taxonomy' => 'product_brand', 'field' => 'id', 'terms' => $brandData->term_id ) ) ); $brandProducts = new WP_Query($args);
This works fine, so here is the code I thought would work to get the most recent post for the specific brand:
$relatedBlogPostArgs = array( 'post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => 1, 'order' => 'DESC', 'orderby' => 'date', 'tax_query' => array( array( 'taxonomy' => 'brand_post_link', 'field' => 'id', 'terms' => $brandData->term_id ) ) ); $relatedBlogPosts = new WP_Query($relatedBlogPostArgs);
This however doesn't return anything. Is there a fault in my logic or code somewhere or is the code correct and simply a case of matching up the correct name/id/taxonomy etc?