[Foxyshop] Function to test if "is_foxyshop"?

Hi there,
I'm using the foxyshop Wordpress plugin to add a store onto a site using an existing custom template. I'm trying to avoid re-doing what already exists and make this work. Problem: my headers/footers/css styles are conditional based on whether any page/slug is a "page" or blog "post" (using functions like "is_page()", "is_front_page", "is_home()", etc). I need all of the foxycart screens to be rendered as if they are "pages", but wordpress considers them "posts", so my theme is currently calling up the wrong set of design elements. I can write in a test for post_type equalling "foxyshop_product", but that's only good for individual products, and I need to capture any page that is foxyshop-related (e.g. mydomain.com/products).

Summary: Is there any way or function to test for "if is any foxyshop-related page"? Thanks!

Hi Kerri, this is something that I have needed a few times and I have always sort of danced around the actual issue by doing some convoluted conditionals. Your idea is great, though. That would be really helpful to be able to have a simple function that would determine whether you are on a FoxyShop page. So here's what I've done: I've updated the template redirect file and I'm setting a new value in the $wp_query object called is_foxyshop on the appropriate pages. To get what you are looking for, you'll want to put this at the end of helperfunctions.php:

And then replace your templateredirect.php with this one: http://pastebin.com/0LgRgT87. Or if you'd rather just update the whole plugin email me at web -at- sparkweb (dot) net and I'll send you all the files at once. Thanks for the great idea.

For anyone finding this in the future, this feature will be built into FoxyShop 4.1.4+

Kerri, you are right. After working with this some more, the $wp_query object is being reset somewhere along the way. I've switched this to a constant and it works properly now. I've updated 4.1.4 at the repo with this change. You can either update to 4.1.4 if you haven't yet or just grab this http://downloads.wordpress.org/plugin/foxyshop.zip and get helperfunctions.php and template_redirect.php out of it and replace them in your FoxyShop folder. Thanks for the head's up.

Something else I should note: this function won't work until after the 'template_redirect' action has been run. So if you are going to test for this in functions.php, you should put it in an action set to run on maybe wp_head. Here's the WordPress action reference: http://codex.wordpress.org/Plugin_API/Action_Reference

You could actually use template_redirect itself since the FoxyShop function runs first. This would work:

Excellent! I used this with a custom menu to add the "current-nav-item" class to a menu item titled "Shop" so that it is always highlighted when users are on any FoxyShop related page. Thank you David!