Skip to content

Releases: bigcommerce/bigcommerce-for-wordpress

3.2.0

17 Jun 19:24
e9d7140
Compare
Choose a tag to compare

Added

  • Display variant images in the product gallery. Once a specific variant
    is selected, its image will be used as the primary gallery image.
  • Added stack traces to the error log when exceptions are thrown during
    the import process
  • Added a screen at the end of the onboarding process to guide merchants
    to their next steps.
  • Added support for pre-order and non-purchaseable product availability
    settings. Includes two new theme customizer fields to control the text
    for the "Add to Cart"/"Buy Now" buttons when displaying pre-order products.
  • Added support for products with hidden prices. They will use the new
    template components/products/product-hidden-price.php to not show the price.
  • Added a new option for the Product Components block/shortcode for Add To Cart.
    This will output the Add to Cart/Buy Now button and form on any page, including
    variants if applicable. Example Usage: [bc-component id="431" type="add_to_cart"]
  • Added a new Channel Select field in the product picker UI in the WP Admin. You can
    now search for products from any channel you've connected to your WP Store. Selecting
    a channel will initiate a new query immediately and subsequently only produce product
    search results from that channel.

Fixed

  • Fixed import of product descriptions containing HTML links. WordPress
    core was adding noopener attributes prematurely, breaking the JSON
    data stored in the queue.
  • Fixed a fatal error when updating to version 3.0+ from 2.2.1 or earlier
    while a product import is in progress.

Changed

  • Pass through custom error messages from the API when Add to Cart fails.
    Previously we were returning null and using a generic message. We're still
    using the generic message but only when a more specific message is not
    available from the API.
  • The template components/products/product-gallery.php has changed to
    accommodate variant images.
  • The template components/products/product-form.php has a new variable
    $message containing the pre-order message to display for the product.
  • The bigcommerce/customer/group_id filter will be called from
    \BigCommerce\Accounts\Customer::get_group_id(), even when the current
    user is logged out or does not have a customer ID.

3.1.0

28 May 19:08
a8c0706
Compare
Choose a tag to compare

Added

  • Added a button to reset channel listing overrides, enabling editors to
    reconnect a product to the base product for future updates.
  • Added a button to immediately re-sync a product. Editors can import the
    latest changes from the BigCommerce API for that product without running
    a full import on the entire catalog.
  • Added a missing entry to the 3.0.0 changelog regarding fixing the uninstaller.
  • Added a method to fetch customer group info. $customer->get_group()->get_info()
  • Created an option to toggle synchronization of analytics settings.
  • 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.
  • Added a template for the sku component of a product, components/products/product-sku.php.
  • Added a new shortcode/block that allows selection of distinct product
    components. Example usage: [bc-component type="description" id="117"].
    Valid types are: sku, description, image, title.
  • Added an option to disable sync of analytics IDs.

Fixed

  • Fixed missing markup for AMP templates. Some valid tags had been
    erroneously stripped out.

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.
  • Changed the assign_terms capability for categories and brands to do_not_allow.
    Assignments would be overwritten by the next import. This keeps it from
    happening in the first place to avoid confusion.
  • Turned off the autocomplete attribute on API fields in the settings
    page. This will help to avoid an issue where autocomplete causes a change to
    user credentials and causes the store to disconnect when settings are saved.
  • Updated the product quick view template, components/products/product-quick-view.php,
    uses the new product sku component.
  • Updated the product shortcode single template, components/products/product-shortcode-single.php,
    uses the new product sku component.
  • Updated the product single template, components/products/product-single.php,
    uses the new product sku component.
  • Updated the onboarding flow to indicate where the user is in the setup process. Additionally,
    some styles were updated on the content areas, buttons, and start-over feature.
  • Optimized the import process to avoid fetching data for products not listed
    in any active channels.

Deprecated

  • Deprecated the $quickview and $attributes variables in the template
    components/products/product-card.php. The variables are now empty, and
    will be removed in a future version.

3.0.1

16 May 13:13
9c7613f
Compare
Choose a tag to compare

Fixed

  • Fixed duplicate posts created in WordPress when importing products
    in draft or pending status.

3.0.0

07 May 19:58
3dde113
Compare
Choose a tag to compare

Added

  • Added support for connecting to multiple BigCommerce channels. Since the
    plugin can't know the particular use case a store has for using multiple
    channels, we provide the base framework for site developers to extend
    in a way that makes sense for their business. 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 );
    });
    
  • 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.

Changed

  • Updated the position and design of the start-over button and confirmation
    message for the on-boarding process.
  • Fixed display of tax and total price in order history when an order was
    paid for entirely with store credit. It should no longer show a negative
    subtotal, and the grand total should properly display as $0.00 (formatted
    appropriately for the local currency).
  • Currency can now be filtered at any point in the request. Previously,
    the currency would be locked in place when creating the formatter
    in the Currency service provider. The service provider will now use
    a factory method to return a formatter based on the current, possibly
    filtered, value of the \BigCommerce\Settings\Sections\Currency::CURRENCY_CODE
    option. Use the pre_option_bigcommerce_currency_code filter to adjust
    the currency in use at any given point in the request.
  • The import process has changed to more efficiently support imports when
    connected to multiple channels. After fetching listings for each channel,
    products will be fetched from the Catalog API once. When fetching products
    in bulk, we now also fetch options and modifiers, taking advantage of
    new capabilities of the API. This limits the bulk import to 10 products
    per request, but saves two additional queries per product later in the import.
    The tasks to fetch listings and initialize channels now have a suffix
    of the channel ID on the string used to trigger the task status.
  • The import queue is now stored as hidden posts in the wp_posts table,
    using the post type bigcommerce_task.
  • Method signature for the \BigCommerce\Import\Importers\Products\Product_Builder
    constructor has changed. It now expects a \WP_Term representing the channel
    the product belongs to.
  • Method signature for the \BigCommerce\Import\Importers\Products\Product_Importer
    constructor has changed. It now expects a \WP_Term representing the channel
    the product belongs to instead of a channel ID and an instance of the Channels API.
  • Method signature for the \BigCommerce\Import\Importers\Products\Product_Saver
    constructor has changed. It now expects a \WP_Term representing the channel
    the product belongs to.
  • The order of operations in \BigCommerce\Import\Importers\Products\Product_Saver
    has changed to assign terms to a product before setting its post data
    or post meta. This is to support multiple products with the same slug
    but in different channels.
  • Method signature for the \BigCommerce\Import\Importers\Products\Product_Strategy_Factory
    constructor has changed. It now expects a \WP_Term representing the channel
    the product belongs to.
  • Product price ranges are now calculated on import and stored in post meta
    rather than relying on values from the bc_variants table on render.
  • Moved \BigCommerce\Import\Review_Builder to
    \BigCommerce\Import\Importers\Reviews\Review_Builder.
  • Moved \BigCommerce\Import\Review_Fetcher to
    \BigCommerce\Import\Importers\Reviews\Review_Fetcher.
  • Method signature for the \BigCommerce\Import\Processors\Channel_Initializer
    constructor has changed. It now expects a \WP_Term representing the channel
    to initialize.
  • Renamed \BigCommerce\Import\Processors\Listing_ID_Fetcher to
    \BigCommerce\Import\Processors\Listing_Fetcher and changed its constructor
    signature to require a \WP_Term representing the channel for the listings.
  • Renamed \BigCommerce\Import\Processors\Product_ID_Fetcher to
    \BigCommerce\Import\Processors\Product_Data_Fetcher.
  • Changed the method signature for the \BigCommerce\Import\Processors\Queue_Runner
    constructor. It no longer requires an instance of the Channels API.
  • Moved \BigCommerce\Merchant\Routes to \BigCommerce\Taxonomies\Channels\Routes

Fixed

  • Updated registration of block editor plugins to work with recent
    versions of Gutenberg.

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.

2.2.1

22 Apr 20:58
5babb80
Compare
Choose a tag to compare

Changed

  • Updated the way cached pricing works while requesting new data from the
    Pricing API. We're now displaying the cached pricing first. We've also
    removed the spinner while loading pricing data and replaced with a simple
    fade in/out of prices.

2.2.0

13 Apr 01:33
1d5ec51
Compare
Choose a tag to compare

Added

  • Added a redirect to the Welcome/Settings screen on plugin activation

Changed

  • Updated the BigCommerce Checkout SDK to version 1.18.10

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. Thanks, @westonruter!

2.1.0

18 Mar 17:26
86d7e13
Compare
Choose a tag to compare

[Note: Have released a few times as we're testing GitHub actions]

Changelog

[2.1.0]

Added

  • Uses the new BigCommerce pricing API to retrieve more accurate pricing
    data based on selected product variants, options, and customer groups.
    The original price display feature still exists and is now the fallback
    if unable to fetch live pricing.
  • Added a setting to determine whether prices should display with tax
    included or excluded. This duplicates a setting from the BigCommerce
    admin that is not available via the Store API.
  • Added the customer_group_id property to the customer profile object
    retrieved from the Customer API.
  • Added a routine to make BigCommerce nav menu meta boxes visible to users
    by default.
  • Added webhooks to listen for product inventory updates. A received webhook
    will schedule an immediate cron job to pull updated product data from
    the Catalog API.

Changed

  • Upgraded Checkout SDK to version 1.18.5
  • Reduced the prominence of the checkout requirements notification when on
    admin pages unrelated to the BigCommerce plugin.
  • Updated the template components/products/product-price.php with markup
    to support Pricing API ajax requests.

2.0.1

06 Mar 19:22
cee0338
Compare
Choose a tag to compare

Fixed

  • Handled the new firing order of block-editor related hooks in transitioning
    from the Gutenberg plugin to WordPress 5.0+. This fixes a PHP warning
    and some odd behavior from other plugins that register meta areas
    for the block editor.

2.0.0

03 Mar 23:09
fbe95f2
Compare
Choose a tag to compare

Added

  • Added new links and buttons to the Products custom post type edit screen
    and the BigCommerce Settings page for managing your products on BigCommerce
    and logging in to your account
  • Added a Resources page to the BigCommerce admin section. The Resources page
    contains tab separated content that provides users with a repository of
    themes, plugins, apps, and support links to enhance or extend their
    BigCommerce for WordPress installation.
  • Added an option to create a new menu in addition to selecting a preexisting
    menu on the Menu Select screen during on-boarding.
  • Added an option to configure channel settings for new products during
    on-boarding. The channel selection screen is always shown now, even
    for new accounts that don't yet have a channel.
  • Added an option to the on-boarding process to choose between a
    full-featured store and one directed more towards bloggers. This
    sets default settings depending on your choice.
  • Added a filter for customer profile fields fetched from the API:
    bigcommerce/customer/empty_profile
  • Added a filter to wrap the output of a template. Can be used to prepend
    or append content to the template:
    bigcommerce/template={$template}/output
  • Added a template for the checkout button on the cart

Changed

  • Updated the error handling and response messages related to the product
    sync feature. We now provide more information to the user based on the
    type of error that has occurred.

  • Added the product SKU to post meta, so that catalog searches can use
    WordPress meta queries.

  • If the option to automatically add products to the channel is disabled,
    it will be honored even on the initial import when the channel has no
    products.

  • Removed product pick list options for products that are out of stock.

  • Changed how option and modifier fields are rendered and treated on
    the product single and Quick View modals. Modifiers using select/radio
    fields are now supported, using the same templates as the option fields.

    NOTE: Please take note of the changes to the option field templates and
    adjust your custom templates as needed.

    components/modifier-types/modifier-checkbox.phpcomponents/option-types/option-checkbox.php

    components/modifier-types/modifier-date.phpcomponents/option-types/option-date.php

    components/modifier-types/modifier-number.phpcomponents/option-types/option-number.php

    components/modifier-types/modifier-text.phpcomponents/option-types/option-text.php

  • The template components/cart/cart-actions.php now takes an array of
    rendered $actions that will be echoed into the template.

  • The template components/products/product-card.php requires a new
    attribute on the Quick View template wrapper: data-quick-view-script=""

Fixed

  • Fixed a typo on the Create New Account screen during on-boarding
  • Fixed an issue with Quick View modal boxes in product cards where removing
    the quick-view feature would break the JS and the page.
  • The nonce for an ajax import request is validated before triggering the
    import cron action.
  • Fixed an extra quote rendered in template wrappers.
  • Fixed Flatpickr library issue with quick-view modal. NOTE: This changes the position
    of the date picker to inline with the date field. Update your CSS as needed.

Deprecated

  • The modifiers parameter to the cart REST controller is no longer used
    and will be removed in a future version.
  • The modifiers variable in the template components/products/product-form.php
    is no longer used and will be removed in a future version.
  • The template components/products/product-modifiers.php is no longer used.

1.6.0

19 Feb 20:01
08b5404
Compare
Choose a tag to compare

Added

  • Added a Menu Setup screen to the onboarding flow, giving merchants an
    opportunity to quickly add BigCommerce menu items to their navigation menu.
  • A "Start Over" button is available in the onboarding screens, enabling
    the merchant to go back to the beginning of the account connection process.
  • All option caches are flushed before and after running an import batch
    to avoid cache corruption from longer-running processes.
  • The import log records more extensive debugging information. Use the
    bigcommerce/logger/level filter to change the logging level.
  • Added hooks to render HTML inside the form tags on the plugin settings pages.
  • Added child categories to the filter options in the product block/shortcode UI.

Changed

  • The import debug log moved from uploads/logs/bigcommerce/import.log to
    uploads/logs/bigcommerce/debug.log.

Fixed

  • Cleaned up a small memory leak in the product block/shortcode UI pagination.
  • Fixed the check for an expired import lock when running an import via ajax.
  • Fixed arguments to Channel Listings API requests to ensure that all products
    are returned even with larger batch sizes.
  • Fixed a fatal error when intializing an import on PHP 7.0+.