1

I read the answer for this post which says you can do something like this:

http://example.com?post_type=car&color=red

When viewing $wp_query everything seems to be working fine. That is, I'm getting 'car' post types that have the 'red' term assigned. However, the request uses the 'color' custom taxonomy template. (In my case this is taxonomy.php.)

How can I get this request to use the 'archive-car.php' custom post type template instead?

2 Answers 2

0

Switch the taxonomy.php just like you would the single.php to support specific post custom templates. This is untested code, so it may not work - but, first get the post type

$post_type = get_query_var('post_type');

So if $post_type contains post_type = 'car' then include archive-car.php like this:

if ( $post_type = 'car' ) 
  get_template_part('archive-car');
elseif ( $post_type = 'boat'  ) 
  get_template_part('archive-boat');
elseif ( $post_type = 'bike' ) 
  get_template_part('archive-bike');
else 
  get_template_part('regular-taxonomy');      

An better alternative would be if you could establish a template redirect like in this answer, but I don't know if that's even possible. If possible, you'd redirect the taxonomy template based on the value of $post_type.

How to quickly switch custom post type singular template?

4
  • This looks like it will work for my situation. I would also recommend using get_template_part('archive-car'); instead of the include() call. Thank you! Commented Aug 3, 2011 at 15:48
  • Also, the 'cars' should be 'car' in your example above :) Commented Aug 3, 2011 at 15:50
  • fixed cars to car
    – marfarma
    Commented Aug 3, 2011 at 16:32
  • and changed include() call to get_template_part, per @robertwbradford recommend
    – marfarma
    Commented Aug 3, 2011 at 16:37
0

I'm not sure that's possible. My understanding is that whenever you are viewing posts that are filtered by a taxonomy wordpress looks for taxonomy templates. Based on hierarchy you could get rid of any taxonomy pages and only have archive pages available as templates, but that seems a bit extreme and not too useful.

What are you hoping to achieve with this code?

You could build functions into your archive-car.php page to react to cars in a specific color term. Perhaps that will get you the functionality you're looking for.

2
  • I know this should be a comment, sorry it's not. Commented Aug 2, 2011 at 20:09
  • Thanks for the reply. I had originally tried adding some work-around functionality to the archive-car.php like you suggested, but this required me to start using different parameter names for the taxonomy in the query string. Started to get a little messy... Thank you though. Commented Aug 3, 2011 at 15:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.