WP Shopify


WP Shopify allows you to sell your Shopify products on any WordPress site. Your store data is synced as custom post types giving you the ability to utilize the full power of native WordPress functionality. On the front-end we use the Shopify Buy Button to create an easy to use cart experience without the use of any iFrames.


  • Sync your products and collections as native WordPress post
  • Templates
  • No iFrames
  • Over 100+ actions and filters allowing you to customize any part of the storefront
  • Display your products using custom pages and shortcodes
  • Built-in cart experience using Shopify’s Buy Button
  • SEO optimized
  • Advanced access to your Shopify data saved in custom database tables

See the full list of features here

WP Shopify Pro

WP Shopify is also available in a Pro version which includes 80+ Templates, Automatic Syncing, Order and Customer Data, Cross-domain Tracking, Live Support, and much more functionality! Learn more




From your WordPress dashboard

  1. Visit Plugins > Add New
  2. Search for WP Shopify
  3. Activate WP Shopify from your Plugins page
  4. Create a Shopify private app. More info here
  5. Back in WordPress, click on the menu item WP Shopify and begin syncing your Shopify store to WordPress.
  6. We’ve created a guide if you need help during the syncing process


Read the full list of FAQ

How does this work?

You can think of WordPress as the frontend and Shopify as the backend. You manage your store (add products, change prices, etc) from within Shopify and those changes sync into WordPress. WP Shopify also allows you to sell your products and is bundled with a cart experience using the Shopify Buy Button SDK.

After installing the plugin you connect your Shopify store to WordPress by filling in your Shopify API keys. After syncing, you can display / sell your products in various ways such as:

  1. Using the default pages “yoursite.com/products” and “yoursite.com/collections“
  2. Shortcodes [wps_products] and [wps_collections]

We also save your Shopify products as Custom Post Types enabling you to harness the native power of WordPress.

Doesn’t Shopify already have a WordPress plugin?

Technically yes but it has been discontinued.

Shopify has instead moved attention to their Buy Button which is an open-source library that allows you to embed products with snippets of HTML and JavaScript. The main drawback to this is that Shopify uses iFrames for the embeds which limit the ability for layout customizations.

WP Shopify instead uses a combination of the Buy Button and Shopify API to create an iFrame-free experience. This gives allows you to sync Shopify data directly into WordPress. We also save the products and collections as Custom Post Types which unlocks the native power of WordPress.

Is this SEO friendly?

We’ve gone to great lengths to ensure we’ve conformed to all the SEO best practices including semantic alt text, Structured Data, and indexable content.

Does this work with third party Shopify apps?

Unfortunately no. We rely on the main Shopify API which doesn’t expose third-party app data. However the functionality found in many of the Shopify apps can be reproduced by other WordPress plugins.

How do I display my products?

Documentation on how to display your products can be found here.

How does the checkout process work?

WP Shopify does not handle any portion of the checkout process. When a customer clicks the checkout button within the cart, they’re redirected to the default Shopify checkout page to finish the process. The checkout page is opened in a new tab.

More information on the Shopify checkout process can be found here.

Does this work with Shopify’s Lite plan?

Absolutely! In fact this is our recommendation if you intend to only sell on WordPress. More information on Shopify’s Lite plan


Paid for Pro – Lackluster Support

Was having so many issues with the free version I decided to upgrade to pro for the support and possible fixes. After going through their support channel I see a lot of slow responses and unresolved issues. Developers seem to be too busy to deal with problems, was told twice I would see a fix for my own issue a week out without them meeting the deadline. Stay away.

Fantastic customer support

I ultimately ended up using Shopify’s platform, but my time with this service was excellent and Andrew is super helpful! He made everything easy for me. I highly recommend this plugin!


I can’t imagine how much of a pain this would be, if I had to enter code for every buy button, or every collection to post from Shopify. This makes things relatively automatic, and it really works! The plugin’s documentation is extensive, and if you still have answers, Andrew, the developer is amazing at providing prompt, helpful, pleasant, funny support. He’s just a pleasure to deal with! And this, I’m getting with my trial of the FREE version! I can’t wait to get some sales made, so I can guy the full version!

Incredible Support!

Andrew, the developer, is always available when I have questions about this plugin. He is courteous and efficient and offered an immediate fix earlier today when I was having a problem updating a product variation. Fantastic Plugin and Fantastic Support. Can’t recommend Andrew and his plugin enough!

Everything we ever needed

I’ve been following the development of wphopify since day 1 and boy oh boy am I glad this was released on the plugin store!! Good stuff Andrew, this is gods work.

Read all 4 reviews

Contributors & Developers

“WP Shopify” is open source software. The following people have contributed to this plugin.


Translate “WP Shopify” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



Hey everyone 👋,

The release this week contains three new features; two of which are related to product pricing. We now have the ability to show sales pricing, price ranges, and determining whether the checkout button opens in a new tab or not. Also along with these new features are four important bug fixes.

⭐️ New Feature: Checkout button target.
⭐️ New Feature: Product “compare at” pricing.
⭐️ New Feature: Product “range” pricing toggle.
🛠 Fix: Missing featured images for some products.
🛠 Fix: Bug during add to cart when variant value is of type integer and not string.
🛠 Fix: Bug causing hidden product and collection data on custom post edit page.
🛠 Fix: Bug in the HTTP response parser that coerced large int values into E numbers. Now using JSON_BIGINT_AS_STRING to convert them into strings instead.
🛠 Fix: Conflict with Divi theme.
🎁 Update: Shopify URL to cart image links.
🎁 Update: Removed ability to manually add new Products / Collection posts.
🎁 Update: Better vertical aligning for input fields on plugin settings page.
💻 Dev: Better security checks on plugin settings form fields.
💻 Dev: Removed on blur AJAX saving of plugin settings. All form fields now require form submission before saving.
💻 Dev: Plugin settings sub nav history is now persistent.


Hey everyone 👋,

This week’s release contains a good mixture of bug fixes and feature updates. Notable new features include: image sizing, custom checkout domains, and WordPress.com support!

🎁 New Feature: Added support for WordPress.com
🎁 New Feature: Plugin setting for custom domain support. If enabled, WP Shopify cart will now direct users to the Checkout page using custom domain
🎁 New Feature: Plugin setting allowing for custom image sizing for Products, Collections, and Related Products
🔨 Fix: Incorrect error message when failing to select the required Shopify private app permissions
🔨 Fix: Missing placeholder images within cart line items
🔨 Fix: “Data too large” error caused by the “referring_site” column of the orders table
🔨 Fix: Bug that prevented products from showing when special characters existed inside the product handle
🔨 Fix: “Table missing” error during sync
🔨 Fix: Issue causing connection settings to persist even after disconnecting
🔨 Fix: Automatic sync bug when products are updated in Shopify and but do not already exist in WordPress
🔨 Fix: Bug causing currency code to disappear after selecting a product variant
📍 Update: Reorganized admin settings UI elements
📍 Update: Added new plugin settings sub nav items “Collections” and “Checkout”
📍 Update: Added better icons to plugin settings page
📍 Update: Text inside front-end notices are now centered
💻 Dev: Removed unused composer vendor packages
💻 Dev: Updated the shopify-buy SDK to version 1.9.1
💻 Dev: Started work on the WP Shopify REST API
💻 Dev: Added unit tests for new color feature
💻 Dev: Added unit tests for new image sizing feature


Hot fix for 1.2.6


Greetings! 👋

A long awaited feature has been released this week: the ability to easily change UI colors such as the add to cart button and cart icon. You can find these new color options within the subnav links “Products” and “Cart” inside the plugin settings.

In addition to more UI customizations coming in 1.2.7, there are also exciting features coming in a few months. One of these features include custom Gutenberg blocks which will create a really powerful way to show your products. Really excited about this. Shortcodes will remain functional, but the Gutenberg blocks will most likely replace shortcodes as the default way to show your Shopify products. Expect this to arrive in 3-5 months. Some other features include native featured images and a dedicated REST API. Stay tuned!

  • New Feature Plugin setting allowing users to change colors of various UI elements like the add to cart button, cart icon, etc
  • Updated Updated plugin settings UI layout
  • Updated Updated icons on plugin settings page
  • Dev Started work on the new WP Shopify REST API
  • Dev Added a bunch of unit tests for color settings and database table operations
  • Dev Refactored custom autoloader
  • Dev Added React to admin JavaScript
  • Dev Fixed broken Travis build



This week’s release brings two major feature additions: Multisite support and option cart terms.

  • New Feature Multisite support
  • New Feature Ability to enable a terms and conditions requirement during checkout
  • Fixed Silent MySQL error when the “province” column of the Shop table is too long. Increased char length from 20 to 200
  • Fixed Minor UX / layout issues with the plugin settings form inputs
  • Updated WP Shopify radio inputs, checkboxes, and buttons to new Gutenberg CSS styles
  • Dev Added a predicate catch for containsTrailingForwardSlash()
  • Dev Added additional client-side integration tests
  • Dev Added additional client-side unit tests



The major update in this release is regarding sales channel syncing. WP Shopify will now only sync products which are assigned to the custom sales channel you create during setup. This allows you to sync only the products you want to show on WordPress instead of your entire store. Moving forward, make sure any products you want to show on WordPress are assigned to your custom Sales Channel.

  • New Feature: Ability to opt-in to Beta versions of WP Shopify. You can now turn this on within the plugin settings.
  • Updated: Only products that are assigned to the WP Shopify sales channel will now sync.
  • Fixed: Bug causing manually sorted products inside collections to display in the incorrect order.
  • Fixed: Bug when attempting to send emails through the WP SMTP plugin
  • Fixed: Bug preventing variant image from changing during selection
  • Fixed: Issue where switching tabs within the plugin settings would fail with certain themes.


Hey everyone!

Included in this release are some important bug fixes so you’ll want to update as soon as possible. Also keep an eye out during the next two weeks. I’m planning to release new plugin features surrounding the layout of products / collections.


  • Fixed: Syncing issue caused by missing auto_increment on primary key columns
  • Fixed: WooCommerce compatibility issue when using $product variable in template files.
  • Fixed: Autoloading conflicts affecting WP Shopify composer dependencies.
  • Updated: Removed extra border from the “add license key” message on plugins listing page.
  • Updated: Sync by collection loading errors now show next to field instead of as a global admin notice.
  • Updated: No longer showing migration notice if plugin hasn’t updated.
  • Added: Better error handling when not meeting PHP version requirements on plugin activation.
  • Added: Improved caching performance.


Hey everyone! This release contains fixes for various compatibility issues and squashes a few minor bugs. If you’re migrating from version 1.2.1, make sure to go through the table migration step found within the Misc. tab after the update.

  • Fixed: Syncing issue caused by missing auto_increment on primary key columns
  • Fixed: WooCommerce compatibility issue when using $product variable in template files.
  • Fixed: Autoloading conflicts affecting WP Shopify composer dependencies.
  • Updated: Removed extra border from the “add license key” message on plugins listing page.
  • Updated: Sync by collection loading errors now show next to field instead of as a global admin notice.
  • Updated: No longer showing migration notice if plugin hasn’t updated.
  • Added: Better error handling when not meeting PHP version requirements on plugin activation.
  • Added: Improved caching performance.


  • Fixed: Add to cart error when a product with multiple, but only one “available to purchase” variant is selected
  • Fixed: A syncing error that would occasionally display a “Duplicate PRIMARY KEY” error


  • Added: New syncing architecture
  • Added: Pro version – Sync products by collections
  • Added: Database table migration tool
  • Added: New animations to front and backend UI elements
  • Added: More consistent error handling during the syncing process
  • Updated: Upgraded to the new Shopify JavaScript Buy SDK
  • Updated: Reorganized the UI of the plugin settings page
  • Updated: Items in cart now link to their respective WordPress pages
  • Updated: Breadcrumbs template now contains all HTML instead of a function call
  • Fixed: Issue preventing product image from changing after variant selection
  • Fixed: Issue preventing product price from changing after variant selection
  • Fixed: An issue causing preventing some users from displaying products correctly
  • Dev: Implemented constants throughout codebase
  • Dev: Updated NPM dependencies
  • Dev: Added dependency injection throughout plugin
  • Dev: Added a factory system throughout plugin
  • Dev: Implemented timestamp versioning on all assets to ensure cache busting


  • Fixed: Add to cart error preventing products with quotation marks in variant titles from working
  • Fixed: “Products not found” error caused by database table creation bug


  • Updated: Removed the “From plugin” text showing within single product headings
  • Added: WordPress 4.9.6 compatibility


  • Fixed: Lingering bug preventing new license keys from activation successfully
  • Updated: Removed public slack channel invite link — moved to Pro feature