Incorporate WordPress with Interspire Shopping Cart

I’m going to¬†elaborate¬†on this further (and about Interspire in general), but for those of you who want to make WordPress functions available throughout your shopping cart, here’s how:

Before the closing ?> in the init.php file, add the following code:
require(realpath(ISC_BASE_PATH).'/blog-directory/wp-blog-header.php');, where /blog-directory/ is your WP installation. If you installed it in the root directory, then you’d simply need require(realpath(ISC_BASE_PATH).'/wp-blog-header.php');
(see Update below).

Update: There is a bug that happens when the include is placed at the bottom of init.php; instead, add require(realpath(ISC_BASE_PATH).'/wp-blog-header.php'); on the line below require_once(dirname(__FILE__).'/lib/init.php'); (line 3).

Voila! That simple. Any questions?

Interspire + WordPress Update:

I don’t know if it’s because WordPress has been updated, or if it’s because Interspire has been, but there is a function conflict going on between the two softwares. Unfortunately, you need to replace your WordPress installation’s wp-includes/formatting.php file to have if(!function_exists()) for every function.

Here’s the file:
[download id=”6″]

Interspire + WordPress Update 2:

So, after searching Interspire Shopping Cart for each function in formatting.php, I found there are only two conflicting functions:

  • convert_chars()
  • stripslashes_deep()

If you wrap these functions found in /wp-includes/formatting.php in function_exists, everything works just dandy.

A very, vitally important note:

After some frustrating hours trying to figure out why adding products to the cart wasn’t working, I discovered that the WordPress function wp_unregister_GLOBALS() was screwing up the works. I also found another article with the same problem, and the solution: turn off register globals. You need to update your php.ini file with register_globals Off. You can also search Google for more info on how to do that.