FG OpenCart to WooCommerce

June 28, 2024

FG OpenCart to WooCommerce Plugin

A plugin to migrate OpenCart e-commerce solution to WooCommerce

This plugin migrates products, categories, images and information pages from OpenCart to WooCommerce/WordPress.

It has been tested with OpenCart versions 1 to 4 and the latest version of WordPress. It is compatible with multisite installations.

Major features include:

  • migrates OpenCart products
  • migrates OpenCart product images
  • migrates OpenCart product categories
  • migrates OpenCart product tags
  • migrates OpenCart information pages

No need to subscribe to an external web site.

Premium version

The Premium version includes these extra features:

  • migrates OpenCart attributes
  • migrates OpenCart options
  • migrates OpenCart downloads
  • migrates OpenCart users
  • migrates OpenCart customers
  • migrates OpenCart orders
  • migrates OpenCart reviews
  • migrates OpenCart tax classes
  • migrates OpenCart related products
  • migrates OpenCart coupons
  • SEO: Redirect the OpenCart URLs to the new WordPress URLs
  • SEO: Import meta data (meta title, description, keywords) to WordPress SEO
  • the users and customers can authenticate to WordPress using their OpenCart passwords
  • ability to update existing products
  • ability to do a partial import
  • ability to run the import automatically from the cron (for dropshipping for example)
  • ability to run the import by WP CLI

The Premium version can be purchased on: https://www.fredericgilles.net/fg-opencart-to-woocommerce/

Add-ons

The Premium version allows the use of add-ons that enhance functionality:

  • Brands: imports the manufacturers
  • Attachments: imports the downloads
  • Internationalization: imports the translations to WPML or Polylang
  • Custom order numbers
  • Custom order statuses
  • Product Options

Translations

  • English (default)
  • French (fr_FR)
  • other can be translated

Installation

Requirements

WooCommerce must be installed and activated before running the migration.

Installation

  1. Install the plugin in the Admin => Plugins menu => Add New => Upload => Select the zip file => Install Now
  2. Activate the plugin in the Admin => Plugins menu
  3. Run the importer in Tools > Import > OpenCart
  4. Configure the plugin settings. You can find the OpenCart database parameters in the OpenCart file config.php
  5. Test the database connection
  6. Click on the import button

Screenshots

  1. Parameters screen

    Parameters screen

FAQ

I get the message: “[fgoc2wc] Couldn’t connect to the OpenCart database. Please check your parameters. And be sure the WordPress server can access the OpenCart database. SQLSTATE[28000] [1045] Access denied for user ‘xxx’@’localhost’ (using password: YES)”

  • First verify your login and password to your OpenCart database.
  • If OpenCart and WordPress are not installed on the same host, you can do this:
  • export the OpenCart database to a SQL file (with phpMyAdmin for example)
  • import this SQL file on the same database as WordPress
  • run the migration by using WordPress database credentials (host, user, password, database) instead of the OpenCart ones in the plugin settings.

The import is not complete

  • You can run the migration again and it will continue where it left off.
  • You can add: define('WP_MEMORY_LIMIT', '2G'); in your wp-config.php file to increase the memory allowed by WordPress
  • You can also increase the memory limit in php.ini if you have write access to this file (ie: memory_limit = 2G).

The images aren’t being imported

  • Please check the URL field. It must contain the URL of the OpenCart home page

Are the product attributes and options imported?

  • This is a Premium feature available on: https://www.fredericgilles.net/fg-opencart-to-woocommerce/

Don’t hesitate to let a comment on the forum or to report bugs if you found some.

Changelog

1.38.0

  • Tested with WordPress 6.6

1.37.3

  • Fixed: Sale prices not imported if the default customer group ID is different from 0 or 1
  • Fixed: Images whose filename starts with “image” were not imported
  • Fixed: Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated
  • Tested with WordPress 6.5.4

1.37.2

  • Fixed: Files whose filename is longer than 255 characters were not imported
  • Fixed: Images were not imported by File System method
  • Tested with WordPress 6.5.2

1.37.1

  • Fixed: Translations missing
  • Tweak: Replace rand() by wp_rand()
  • Tested with WordPress 6.5

1.37.0

  • New: Run the plugin during the hook “plugins_loaded”

1.36.1

  • Fixed: Call to undefined function wp_rand()

1.36.0

  • Fixed: Unsafe SQL calls
  • Tweak: Replace file_get_contents() by wp_remote_get()
  • Tweak: Replace file_get_contents() + json_decode() by wp_json_file_decode()
  • Tweak: Replace json_encode() by wp_json_encode()
  • Tweak: Replace rand() by wp_rand()
  • Tweak: Remove the deprecated argument of get_terms() and wp_count_terms()

1.35.0

  • New: Compatible with OpenCart 4
  • Fixed: Rename the log file with a random name to avoid a Sensitive Data Exposure

1.34.1

  • Fixed: Mix of the slugs between the attachment pages, the product categories and the products

1.34.0

  • Change: Set backorder = “notify” instead of “yes”

1.30.0

  • New: Check if we need the Attachments add-on

1.29.0

  • New: Import the EAN field to “EAN for WooCommerce”
  • Tested with WordPress 6.4.3

1.28.0

  • New: Don’t import the images in duplicate
  • Fixed: Plugin log can be deleted with a CSRF
  • Fixed: Found 2 elements with non-unique id #fgoc2wc_nonce
  • Tested with WordPress 6.4.2

1.27.3

  • Tested with WordPress 6.4.1

1.27.1

  • Tested with WordPress 6.4

1.27.0

  • New: Compatibility with WooCommerce HPOS

1.26.0

  • Tested with WordPress 6.3.2

1.25.3

  • Fixed: Warning: preg_match(): Compilation failed: quantifier does not follow a repeatable item
  • Tested with WordPress 6.3.1

1.25.2

  • Tested with WordPress 6.3

1.25.0

  • New: Import the short description managed by the OpenCart plugin Product Short Description Pro
  • Fixed: FTP connection failed with password containing special characters
  • Tested with WordPress 6.2.2

1.24.0

  • Tweak: Clear WooCommerce Analytics cache

1.22.4

  • Fixed: Product and category URLs were wrong in the translated languages

1.22.2

  • Fixed: Constant FILTER_SANITIZE_STRING is deprecated on PHP 8

1.22.1

  • Fixed: [ERROR] Error:SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘o.invoice_id’ in ‘field list’
  • Tested with WordPress 6.2

1.22.0

  • New: Compatibility with PHP 8.2

1.20.0

  • New: Import the OpenCart 1.5 tags

1.19.0

  • New: Compatibility with OpenCart 1.4
  • Fixed: The option “Import the media with duplicate names” didn’t work anymore (regression from 1.10.0). So wrong images were imported.

1.18.1

  • Fixed: Files containing “+” were not imported
  • Fixed: Files starting with /image were not imported
  • Fixed: Files starting with ./image were not imported

1.17.0

  • New: Import the OpenCart 1.5 URLs

1.16.0

  • New: Compatibility with OpenCart 1.5

1.13.0

  • New: Import the products SEO URLs
  • New: Import the product categories SEO URLs
  • Tested with WordPress 6.1.1

1.12.0

  • New add-on: Brands

1.11.0

  • Fixed: Missing parent category for some categories
  • Change: Don’t add the product name at the end of the image filename

1.10.0

  • New: Add the functions “get_wp_post_ids_from_meta” and “get_wp_term_ids_from_meta”
  • Tweak: Shorten the filenames if the option “Import the media with duplicate names” is selected
  • Tested with WordPress 6.1.0

1.9.0

  • New add-on: Custom order numbers

1.8.0

  • New add-on: Internationalization
  • Fixed: [ERROR] Error:SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘option’ at line 1
  • Tested with WordPress 6.0.2

1.7.0

  • Tested with WordPress 6.0.1

1.6.0

  • New: Add the WordPress path in the Debug Info
  • Fixed: The widget “Filter Products by Attribute” was empty on the front-end
  • Tested with WordPress 6.0

1.3.1

  • Fixed: Products imported with wrong special price when there is a tax rate

1.3.0

  • New: Don’t delete the theme’s customizations (WP 5.9) when removing all WordPress content
  • Tested with WordPress 5.9

1.2.1

  • Fixed: [ERROR] Error:SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘order o’

1.0.2

  • Tested with OpenCart 2
  • Tested with WordPress 5.8.1

1.0.1

  • Fixed: Progress bar exceeds 100% when running the import again
  • Fixed: Decode HTML entities in the product title
  • Update README.txt
  • Translations

1.0.0

  • Initial version: Import OpenCart products, categories, images and CMS

Details

  • Version: 1.38.0
  • Active installations: 200
  • WordPress Version: 4.5
  • Tested up to: 6.6.1
  • PHP Version: 5.6

Ratings


5 Stars
4 Stars
3 Stars
2 Stars
1 Stars