The plugin ‘Bad Behavior’ breaks my add-to-cart forms

This plugin adds a hidden form input to every form. This breaks validation and adds junk to your FoxyCart checkout form. The easiest way around this is to add this piece of code to your functions.php file. This will keep the code from being added to any FoxyShop pages (product pages and category pages).

add_filter("wp_head", "foxyshop_bb_fix", 1);
function foxyshop_bb_fix() {
	if (!defined("IS_FOXYSHOP")) return;
	global $bb2_javascript;
	$bb2_javascript = "";
}

When I add a product to the cart, I get two carts and the product adds twice

This is actually a pretty common problem and is caused when there are two sets of FoxyCart includes in the header. FoxyShop puts a set in, so just go into the header and remove the set you put in manually.

I’m getting a “Not Set Up” alert box on every page

If you are receiving a JavaScript alert box that your store is not fully setup on every page of your site, this means that your store has not been fully set up in your FoxyCart admin. You need to make sure to add a product category, setup a default payment method (testing), add the default FoxyCart template for cart and checkout, and the default email settings. This just takes a few minutes and will make this warning go away. If you just want to make the warning go away immediately, you can temporarily remove the domain in the FoxyShop settings page and this will keep the FoxyCart includes from being placed in your header. Click here for setup instructions from FoxyCart if you get lost during the process.

Trouble With Local Currency

If you are having trouble setting your local currency, you can use WordPress filters found in FoxyShop 3.4+ to override the defaults with your currency setting. Here’s an example for replacing EUR with €.

add_filter("foxyshop_currency", "force_euro_currency");
add_filter("foxyshop_form_l18n", "force_euro_currency");
function force_euro_currency($str) {
	return str_replace("EUR", "€", $str);
}

Additionally, many locale lists are now using “en_US.utf-8” or “en_GB.utf-8”. If the currency fields aren’t working, be sure to check with your host for the proper locale code for your system.

You could try something like this in your funtions.php file

setlocale(LC_MONETARY, 'en_US.utf-8');

Please note that WP-Engine uses .UTF-8 at the end of all their locale codes.

I’m using Windows and the Permalinks aren’t working

Windows IIS hosting has some quirks and often requires that index.php be part of the url. This can be fixed by putting this in your wp-config.php.

define('FOXYSHOP_URL_BASE','/index.php');

It’s also worth noting that Windows doesn’t handle currency formats the same way as Linux so the $ or £ are hard-coded into the system. If you need another currency, send in a support request with the info.

Image Upload Problems

If you are getting an error when uploading an image through the FoxyShop Image Manager, here are a few things to look at:

  • Make sure that your permalinks are set to Month and Name or Day and Name.
  • Flush your rewrite rules – there’s a button to do this on the FoxyShop tools page.
  • Make sure that your image upload folder is writeable. There will be a warning in your settings page if this is the problem.
  • On the WordPress General Settings page, make sure that the WordPress Address and Site Address have the same base url. If one is www and the other isn’t, you’ll get security errors.
  • Check your SecFilterEngine and SecFilterScanPOST settings from this page.
  • Are you in Maintenance Mode? If so, you need to exclude your image upload url path. More info here.
  • If all else fails, you can upload your images through the standard WordPress upload feature to attach the media item to the product.

I’m clicking “Add to Cart” but nothing is being added.

Make sure that your FoxyCart domain is set properly and that your API key has been copied to the FoxyCart admin. Additionally, make sure that you have checked the Cart Validation checkbox in the advanced settings tab of the FoxyCart admin.

My product pages just show up as a 404.

Make sure that your permalinks are set to Month and Name or Day and Name. Sometimes you may need to flush your permalink settings to get new values to show up. To do that, just save your permalink settings again and the rewrite rules will be rewritten.