Version 3.6: No More Double Serialization

There are several places where FoxyShop stores array data in the WordPress database. In order to store an array in a database, it has to be “serialized” or turned into a string. I’ve just discovered that FoxyShop has been double-serializing the strings which causes some rare problems with some configurations. Version 3.6 fixes the double serialization issue.

Important Note: If you are using a customized datafeed template in your theme directory you will need to make a change to your theme file. After upgrading, open up foxyshop-datafeed-endpoint.php in your theme directory and change all the instances of unserialize to maybe_unserialize. Also, search forĀ serialize($foxyshop_subscription) and change it to $foxyshop_subscription (there’s two instances of this) and serialize($val) becomes $val. (This is removing the serialization happening before content is written back to the database which we don’t want to do anymore.)

I really apologize about this. It is my goal to never force any sort of manual action like this. If you aren’t sure whether you need to worry about this, let me know and I’ll give you some direction. If you aren’t comfortable making these changes to your customized file, I will help you. Please send me a support request for more info.

To avoid anything like this in the future, the inventory update, SSO subscription update, and WordPress user update have all been moved to internal functions that now live in the core. You’ll still be able to easily build anything you want or need to into the datafeed endpoint, and you can even access the new core functions with action hooks. So if you can switch your custom functionality to using the new template it’s best, but if you can’t I completely understand.

Other Features and Changes

Added filter hooks for the related products and the featured category sections. You can customize what shows up in these locations by calling the hook foxyshop_featured_category_html and foxyshop_related_products_html. See helperfunctions.php for more details.

Minimized Variation Fields

There’s a new, helpful feature on the product admin page. You can now press “Minimize” in the bottom right of the product variations section to temporarily shorten each variation section. This makes it much easier to quickly rearrange a complicated set of variations.

There’s more FoxyCart 0.7.2 functionality that has been added with custom field search coming to the customer, order, and subscription screens. Speaking of subscriptions…

You can now change the template transaction for a subscription right from the admin. There’s a new drop-down in the subscription detail screen which shows all the subscription products in your store. Just select the new product you’d like your subscription to behave like and the subscription will be updated to use the new product’s name, price, code, and category. This is helpful if you are switching from, say, a monthly subscription to a more expensive annual subscription. And if you want to build this functionality into your own application (let your customer change subscription type) there’s a new handy function in helperfunctions.php that makes it easier.

When editing subscriptions, whenever you save changes, the new information will now show up on the subscription row immediately instead of waiting for a page refresh. This is a nice visual confirmation of the changes you just made.

A bug has also been fixed where the url field in a bundled text link wasn’t getting the numeric prefix and was causing a conflict.

jQuery 1.7 has just been released and I’m happy to report that FoxyShop/FoxyCart doesn’t seem to have have any issues with it at all. I am, however, going to wait until the next FoxyShop release to upgrade the packaged version to 1.7 in case there are any bugs that crop up. If you’d like to upgrade, though, you can set a constant to do so.

Leave a Reply

Your email address will not be published. Required fields are marked *