New Release: BigCommerce for WordPress 3.1.0

Topher DeRosia
BigCommerce Developer Blog
4 min readMay 31, 2019

This week, we’re excited to announce the release of the latest plugin version, 3.1.0.

This release includes some of the largest new features to come out since 1.0. The plugin now supports the creation of multi-region shopping experiences, all driven from one BigCommerce account. In the past, if you wanted to target more than one region, we recommended using WP Multisite. Now, you can build a site that targets several regions, including selling in different currencies, using one instance of the plugin!

Below, we’ll highlight a few of the biggest updates, but you can find detailed release notes in the CHANGELOG.md file at WordPress.org.

New Features

Multi-channel Ability

One of the major additions to this release is support for connecting to multiple BigCommerce channels in a single WordPress instance. Multi-channel allows you to create separate product “listings” to manage catalog variations across the different contexts, or channels, that you sell in. For example, you might have an English channel and a French channel, and each product listing would map to product details in the appropriate language. Based on the shopper’s geo-location, you could switch to the corresponding channel view.

In order to support a wide range of use cases for using multiple channels, we provide the base framework for site developers to extend in a way that makes sense for their business. As a developer, you can choose which events or conditions determine the channel view that a shopper sees.

Multi-channel support requires opt-in using a filter:

add_filter( ‘bigcommerce/channels/enable-multi-channel’, ‘__return_true’ );

This will enable an admin to connect to multiple channels on the settings screen. The primary channel will still be used for all front-end requests unless filtered to use a different channel. Example:

add_filter( ‘bigcommerce/channel/current’, function( $channel ) {    // do some logic here to determine what channel to use
return get_term( 697, \BigCommerce\Taxonomies\Channel\Channel::NAME );
});

Stay tuned — in coming weeks we’ll be releasing more documentation and examples on building multi-channel experiences. If you have any specific use cases in mind, we’d like to hear about them. Share your feedback in the comments below.

Created a taxonomy for storing channels.

Most stores will only have one, but a store with multi-channel enabled may have many. The taxonomy’s UI is hidden, and it is only exposed during onboarding (when selecting the initial channel) and in the Channel Settings section when multi-channel is enabled. All products are associated with a channel term on import.

Single Product Sync

In the past, if you made a change to a single product you would have to re-sync your entire catalog to copy the changes to WordPress. Now each product has a Sync button in the admin area so you can initiate a sync on a given product.

Shortcodes

We’ve added a new shortcode/block that allows rendering of distinct product components. Example usage: [bc-component type=”description” id=”117"]. Valid types are: sku, description, image, and title.

This allows you the flexibility to position product elements individually, for example, in a widget, or in the middle of a page or post.

As part of this update, there’s now a template for the sku component of a product: components/products/product-sku.php.

Analytics Tracking ID Settings

We’ve created an option to toggle synchronization of analytics settings. Previously the settings for Google Analytics and Facebook Pixel were stored in BigCommerce, and if you changed or removed them in WordPress they would revert. Now you may choose whether or not to override WordPress analytics tracking codes with those set in BigCommerce.

Disable Quickview

We’ve added a customizer option to disable Quick View on product cards. When disabled, product card images are wrapped in a link to the product single. This was frequently requested, and now you can have it with the check of a customizer box.

Changed

  • Added a new parameter to the product title template (components/products/product-title.php) to set the header level. It should set the header appropriately for the context in which the component is loaded (h1 for the product single, h2 for the shortcode/block single, and h3 for the product card).
  • Moved the Quick View markup from components/products/product-card.php to a new template, components/products/quick-view-image.php.
  • Removed the wrapper div from the template components/products/product-quick-view.php. The wrapper will be added by the template controller.

There are many more changes in this release, please see the Changelog for the full list.

Fixed

  • Fixed a layout issue on the WP Admin BigCommerce Resources page where resource cards were misaligned.
  • Fixed AMP validation errors from improperly included scripts
  • Updated registration of block editor plugins to work with recent versions of Gutenberg.
  • Fixed fatal error in the uninstaller from an undefined class constant.

Removed

  • Removed the bc_products table. All queries that used this table have been updated to use post meta.
  • Removed the bc_variants table. All queries that used this table have been updated to use post meta.
  • Removed the bc_import_queue table. All import tasks have been moved to the wp_posts table.
  • Removed the bigcommerce/pricing/channel_id filter. The pricing API request will now derive the value from the current channel.
  • Removed the bigcommerce/pricing/currency_code filter. The pricing API request will now derive the value from the bigcommerce_currency_code option.

Deprecated

  • The post_id field in the bc_reviews table is no longer used and will be removed in a future release.

Conclusion

That’s all for now! Follow CHANGELOG.md for our complete list of updates and we’ll see you here in a few weeks for the latest batch of new features!

--

--

Topher DeRosia
BigCommerce Developer Blog

Topher is a Senior WordPress Strategist at Camber Creative.