{"id":406,"date":"2024-02-15T18:32:30","date_gmt":"2024-02-15T23:32:30","guid":{"rendered":"https:\/\/harmonicdesign.ca\/?p=406"},"modified":"2026-08-03T00:14:50","modified_gmt":"2026-08-03T04:14:50","slug":"hdcommerce-documentation","status":"publish","type":"post","link":"https:\/\/harmonicdesign.ca\/hdcommerce-documentation\/","title":{"rendered":"HDCommerce Documentation"},"content":{"rendered":"\n<div class=\"hdcallout\">\n<p class=\"wp-block-paragraph\">Managing your products has never been easier<\/p>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">HDCommerce is a premium WordPress eCommerce solution designed and developed from the ground up to be as intuitive and extendable as possible to use. Version 2 introduces full support for <strong>recurring orders and subscriptions<\/strong>, product-level coupons, new shipping and email tools, and much more.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">HDCommerce Settings<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"541\" src=\"https:\/\/harmonicdesign.ca\/hdpress\/storage\/2024\/02\/hdcommerce-settings-1024x541.png\" alt=\"\" class=\"wp-image-963\" srcset=\"https:\/\/harmonicdesign.ca\/wp-content\/uploads\/2024\/02\/hdcommerce-settings-1024x541.png 1024w, https:\/\/harmonicdesign.ca\/wp-content\/uploads\/2024\/02\/hdcommerce-settings-300x158.png 300w, https:\/\/harmonicdesign.ca\/wp-content\/uploads\/2024\/02\/hdcommerce-settings-768x405.png 768w, https:\/\/harmonicdesign.ca\/wp-content\/uploads\/2024\/02\/hdcommerce-settings-1536x811.png 1536w, https:\/\/harmonicdesign.ca\/wp-content\/uploads\/2024\/02\/hdcommerce-settings.png 1612w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Your HDCommerce settings page contains all of your global store settings such as currencies, payment gateways, shipping, taxes, email notifications, and default options for displaying your products. The settings page can be accessed by selecting HDCommerce from your WordPress admin menu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Settings \u2014 Main tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Main tab contains the only mandatory fields for HDCommerce and includes your most basic settings that all other parts of your site rely on.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Select your billing currency<\/strong> \u2014 This controls the currency that you will be charging in, as well as how currency values are displayed on the site. USD, CAD (including a Qu\u00e9bec display format), AUD, EUR, GBP, and NZD are included by default \u2014 contact us if you need another currency added.<\/li>\n\n\n\n<li><strong>Your store\/company name<\/strong> \u2014 The name of your store is used on various pages (such as your shop page) and order confirmation pages.<\/li>\n\n\n\n<li><strong>Store logo<\/strong> \u2014 Your logo is only used for email notifications sent by HDCommerce, but can, of course, be added to any part of your site.<\/li>\n\n\n\n<li><strong>Store address<\/strong> \u2014 Your full store address (street, unit, city, province\/state, country, and postal code) is used on the Order Confirmation pages.<\/li>\n\n\n\n<li><strong>Store sales phone number<\/strong> \u2014 This is only visible on the Order Confirmation pages.<\/li>\n\n\n\n<li><strong>Store sending email<\/strong> \u2014 This is the email address that HDCommerce will use to send all email notifications from. It is strongly recommended to use an address that matches the sending domain to avoid spam filters.<\/li>\n\n\n\n<li><strong>Store sales email<\/strong> \u2014 This is the email address that HDCommerce will use when sending notifications to <em>you<\/em> (such as New Order emails).<\/li>\n\n\n\n<li><strong>Selling Locations<\/strong> \u2014 This is a list of every country in the world. Enable only the countries you will be selling to, as only these countries will be available for your users to select during checkout.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Settings \u2014 Payments tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A Payment Gateway is a third-party service that you will be using to charge your customers. You can enable multiple gateways at the same time (and drag to reorder them), though we generally recommend running just one. By default, HDCommerce includes Stripe, PayPal, and Square Payments, and custom gateways can be added in as well.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Stripe<\/strong> \u2014 our personal recommended gateway, and the only gateway that supports autocharge for recurring\/subscription orders. Stripe also allows for Google Wallet, Apple Pay, and BNPL (Buy Now; Pay Later) services such as AfterPay and Klarna when enabled in your Stripe account. Enter your <em>Publishable Key<\/em> and <em>Private Key<\/em> here. If you are selling recurring\/subscription products, you will also need to add your <em>Webhook Signing Secret<\/em> and point a Stripe webhook at the URL shown in the settings so that HDCommerce is notified of renewal payments.<\/li>\n\n\n\n<li><strong>PayPal<\/strong> \u2014 the classic PayPal integration. Customers are redirected to PayPal to pay (a PayPal account is not required \u2014 credit cards work too), and PayPal notifies your site once payment is complete. A Sandbox Mode toggle is included for testing.<\/li>\n\n\n\n<li><strong>Square Payments<\/strong> \u2014 great for stores that already use Square in-store. Requires your Application ID, Access Token, and Location ID.<\/li>\n\n\n\n<li><strong>Custom<\/strong> \u2014 We can also build in a custom payment gateway for customers who need it.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Settings \u2014 Taxes tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Taxes tab is where you can set up tax calculations based on region.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tax Type<\/strong> \u2014 This determines <em>how<\/em> taxes are calculated and displayed on your site. Countries like Canada and the United States are tax <em>exclusive<\/em>, meaning prices are listed without tax, and taxes are added after. Other countries, such as most of Europe, are tax <em>inclusive<\/em>, meaning that the listed price already contains the tax.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Tax Rate Table<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The tax table is an easy way to set your taxes based on country or region. First, select your country from the Country dropdown, then your region from the Region dropdown to add a row to the table. You can also select <strong>All countries<\/strong> or <strong>All regions<\/strong> (shown as <code>*<\/code>) to create a catch-all rate. Once added, you can change the following settings for each row.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tax name<\/strong> \u2014 The name of the tax.<\/li>\n\n\n\n<li><strong>Tax value<\/strong> \u2014 The value (as a percentage) of the tax.<\/li>\n\n\n\n<li><strong>Shipping<\/strong> \u2014 Enable if this tax should apply to the shipping as well.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">You can add as many taxes as needed for each country and region, and you can drag-n-drop taxes to reorder them. Since HDCommerce is not compatible with <em>compound taxes<\/em> (tax a tax), the order only affects their position during checkout and order confirmation pages.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Individual products (and even individual product variations) can override the tax table with a <strong>Custom Tax Rate<\/strong> \u2014 see the Products section below.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Settings \u2014 Shipping tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The shipping tab contains all settings related to shipping, including global settings and Shipping Methods.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Disable shipping<\/strong> \u2014 if you will not be selling any products that require shipping.<\/li>\n\n\n\n<li><strong>Use imperial measurements<\/strong> \u2014 HDCommerce uses Metric by default, but if your Shipping Method requires units to be in Imperial, enable this.<\/li>\n\n\n\n<li><strong>Allow for store pickup<\/strong> \u2014 Enable this and your users will always be given the option to select Store Pickup (at no charge) as their shipping method.<\/li>\n\n\n\n<li><strong>Free shipping<\/strong> \u2014 Enter a value here, and HDCommerce will offer a FREE Shipping method whenever the cart subtotal (before taxes and shipping) is greater than the entered value.<\/li>\n\n\n\n<li><strong>Flat rate for entire cart<\/strong> \u2014 the value entered here is what will be charged for all orders when using the Flat Rate shipping method. It doesn\u2019t matter what products are in the cart, or how many items \u2014 this value is what will be charged for shipping.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Shipping Methods<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Flat Rate<\/strong> is the built-in shipping method and is sufficient for most stores: every order is charged the \u201cFlat rate for entire cart\u201d value set above. The Flat Rate method also includes fields for <strong>Shipping Classes A through E<\/strong>, allowing you to internally categorize products by shipping cost (Class A for your smallest, cheapest-to-ship products through Class E for your largest; Class F is reserved for FREE shipping). Every product and product variation can be assigned a shipping class from its Shipping tab.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As with Payment Gateways, additional shipping methods can be added in. If you need live carrier-calculated rates (such as USPS or Canada Post) or any other custom shipping logic, contact us and we can design a solution that works for your store.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Settings \u2014 Notification tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Notification tab is where you can enable and disable email notifications that are sent during certain events. Each email template can be overridden by copying it to your theme\u2019s <code>.\/hdcommerce\/emails\/<\/code> folder.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Payment completed<\/strong> \u2014 Sent to both you and your customer on a successful payment.<\/li>\n\n\n\n<li><strong>Payment failed<\/strong> \u2014 Sent to you when an order was created, but the payment failed. This should only be enabled for debugging or anti-fraud purposes.<\/li>\n\n\n\n<li><strong>Payment cancelled<\/strong> \u2014 For recurring orders, sent to both you and your customer when a recurring\/subscription payment has passed due and the order is marked as cancelled.<\/li>\n\n\n\n<li><strong>Autocharge failed<\/strong> \u2014 For recurring orders, sent to your customer if the automatic charge failed. The email contains a link to their order page so that they can pay manually.<\/li>\n\n\n\n<li><strong>Order Shipped<\/strong> \u2014 Sent to your customer whenever a shipping\/tracking code is added to their order.<\/li>\n\n\n\n<li><strong>Renewal reminder<\/strong> \u2014 Sent to your customer a configurable number of days before their next recurring\/subscription payment is due.<\/li>\n\n\n\n<li><strong>Renewal reminder (days before)<\/strong> \u2014 How many days before a recurring payment is due to send the Renewal reminder email. Set to <code>0<\/code> to disable. The Renewal reminder email must also be enabled above.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Settings \u2014 Advanced tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Advanced tab contains settings and options that most users will not need to change, but are still here if you need to really dig in deep to change the way certain elements look or behave.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Disable reviews<\/strong> \u2014 you can disable reviews if you do not want users to be able to A) Submit reviews, and B) display reviews on product pages.<\/li>\n\n\n\n<li><strong>Product image fit contain<\/strong> \u2014 By default, on the shop and category pages, product featured images \u201ccover\u201d the area \u2014 they zoom and crop to fill the entire space. Enable this to force the images to \u201ccontain\u201d instead, ensuring that the full image is always visible.<\/li>\n\n\n\n<li><strong>Product heading type<\/strong> \u2014 On product pages, you can change what type of heading product titles use (H1, H2, H3, or none) for better compatibility with your theme.<\/li>\n\n\n\n<li><strong>Default product view style \/ columns<\/strong> \u2014 Affects how the shop page and product category pages display by default: Detail view, or 2, 3, or 4 columns. Customers can still change the view on an individual basis.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Orders<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Orders page will list out all of your orders, including failed orders. The Orders page can be accessed from the WordPress admin menu, underneath HDCommerce.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Order List Page<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The page contains a table that lists all HDCommerce orders, with columns for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Order<\/strong> \u2014 This column lists the Order ID as well as the customer name.<\/li>\n\n\n\n<li><strong>Status<\/strong> \u2014 This column lists the order status.\n<ul class=\"wp-block-list\">\n<li><strong>Success<\/strong> \u2014 The order was successfully paid.<\/li>\n\n\n\n<li><strong>Pending<\/strong> \u2014 The order was successfully created and is awaiting payment.<\/li>\n\n\n\n<li><strong>Failed<\/strong> \u2014 The order was created, but the payment was not successful.<\/li>\n\n\n\n<li><strong>Shipped<\/strong> \u2014 A tracking code has been added and the order has been shipped.<\/li>\n\n\n\n<li><strong>Refunded<\/strong> \u2014 The order has been refunded.<\/li>\n\n\n\n<li><strong>Cancelled<\/strong> \u2014 The order has been cancelled and is no longer payable. For subscriptions, this also indicates recurring payments have been stopped.<\/li>\n\n\n\n<li><strong>Cancelling<\/strong> \u2014 For subscriptions: the order is paid, and the subscription is scheduled to cancel at the end of the current paid period.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Total<\/strong> \u2014 The total value of the order.<\/li>\n\n\n\n<li><strong>Date<\/strong> \u2014 The date and time that the order was created.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Export Orders<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Above the Order Table is a button to Export Orders. Selecting this button will direct you to the Order Export Page. This page will allow you to either export all of your orders, or to limit the export between (and including) two dates. The export is in CSV format.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Individual Order Page<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Selecting an order opens up the Individual Order Page. This page shows you all relevant information about the order such as the totals, products, coupons, taxes, shipping, customer information, and any custom metadata that was added to the order.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Selecting the menu icon <code>\u2630<\/code> will open up the Order Menu. The available options will depend on factors such as the current order status and whether the order is a subscription.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>View order<\/strong> \u2014 View the public order page. For orders with the <code>pending<\/code> status, this page includes the payment form so your customer can complete payment.<\/li>\n\n\n\n<li><strong>Print order<\/strong> \u2014 opens up the order in a new print-friendly page.<\/li>\n\n\n\n<li><strong>Print shipping slip<\/strong> \u2014 opens up the order in a new print-friendly page with only the necessary information needed for shipping.<\/li>\n\n\n\n<li><strong>Set tracking code<\/strong> \u2014 Add a shipping\/tracking code to the order. This will set the order status to <code>shipped<\/code>, send the Order Shipped email to your customer (if enabled), and add a clickable tracking link to the order page.<\/li>\n\n\n\n<li><strong>Mark as paid<\/strong> \u2014 If the order has not been paid, this will update the status to <code>success<\/code>.<\/li>\n\n\n\n<li><strong>Cancel order<\/strong> \u2014 If an order is no longer payable, you can cancel the order.<\/li>\n\n\n\n<li><strong>Cancel subscription<\/strong> \u2014 Available on the parent order of an active subscription. This stops future recurring charges.<\/li>\n\n\n\n<li><strong>Custom Actions<\/strong> \u2014 As is the running theme, we can also extend the menu to add custom order actions for customers who need them.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Order Logs<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Most order \u201cevents\u201d will appear in the order logs. What is logged depends on the order status and selected payment gateway. Examples of order logs are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Order creation<\/li>\n\n\n\n<li>Order status change<\/li>\n\n\n\n<li>Payment success<\/li>\n\n\n\n<li>Payment fail<\/li>\n\n\n\n<li>Subscription created \/ recurring order created<\/li>\n\n\n\n<li>Tracking code added<\/li>\n\n\n\n<li>Transaction ID<\/li>\n\n\n\n<li>Transaction Fee<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Recurring Orders &amp; Subscriptions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">HDCommerce supports recurring orders, allowing you to sell subscription-based products, payment plans, and deposits. Recurring billing is powered by the Stripe gateway \u2014 make sure Stripe is enabled and your Webhook Signing Secret is configured (see the Payments tab above).<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When a customer purchases a recurring product, a subscription is created in Stripe and future payments are <strong>autocharged<\/strong> to their saved payment method.<\/li>\n\n\n\n<li>Each renewal payment automatically creates a new child order under the original order, so you always have a complete payment history.<\/li>\n\n\n\n<li>If a set number of charges is configured on the product, the subscription automatically stops after the final payment.<\/li>\n\n\n\n<li>Customers are protected from accidentally subscribing to the same product twice with the same email address.<\/li>\n\n\n\n<li>Renewal reminder emails can be sent a configurable number of days before each charge, and Autocharge Failed emails give customers a direct link to pay manually if their card fails.<\/li>\n\n\n\n<li>Subscriptions can be cancelled at any time from the order\u2019s menu, either immediately or at the end of the current paid period.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">See the Products \u2014 Recurring tab below for how to configure a recurring product.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Coupons<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Coupons page will list out all of your existing coupon codes, and allow you to edit or add new ones. The Coupons page can be accessed from the WordPress admin menu, underneath HDCommerce.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Coupons can either apply to the <strong>entire cart<\/strong> (the default), or be limited to <strong>specific products<\/strong> using the Products tab.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Coupon \u2014 Main tab<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"541\" src=\"https:\/\/harmonicdesign.ca\/hdpress\/storage\/2024\/02\/hdcommerce-coupons-1024x541.png\" alt=\"\" class=\"wp-image-964\" srcset=\"https:\/\/harmonicdesign.ca\/wp-content\/uploads\/2024\/02\/hdcommerce-coupons-1024x541.png 1024w, https:\/\/harmonicdesign.ca\/wp-content\/uploads\/2024\/02\/hdcommerce-coupons-300x158.png 300w, https:\/\/harmonicdesign.ca\/wp-content\/uploads\/2024\/02\/hdcommerce-coupons-768x405.png 768w, https:\/\/harmonicdesign.ca\/wp-content\/uploads\/2024\/02\/hdcommerce-coupons-1536x811.png 1536w, https:\/\/harmonicdesign.ca\/wp-content\/uploads\/2024\/02\/hdcommerce-coupons.png 1612w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The main tab contains your basic coupon settings for how you want your coupon to be calculated.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Coupon code<\/strong> \u2014 The code that a customer needs to enter to enable this coupon.<\/li>\n\n\n\n<li><strong>Discount type<\/strong> \u2014 If the coupon is worth an absolute currency amount, or if it should be percentage based (example: $10 off, versus 10% off).<\/li>\n\n\n\n<li><strong>Coupon Value<\/strong> \u2014 The value of the coupon (either currency amount or percentage amount).<\/li>\n\n\n\n<li><strong>Allow stacking<\/strong> \u2014 Coupon stacking is when multiple coupons can be combined. By default, coupons are exclusive, meaning that only one can be active at a time.<\/li>\n\n\n\n<li><strong>Total uses<\/strong> \u2014 A running counter of how many times this coupon has been used on successful orders.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Coupon \u2014 Restrictions tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The restrictions tab contains options to limit <em>when<\/em> a code will be accepted or not.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Expiry Date<\/strong> \u2014 This coupon will no longer be able to be used after this date.<\/li>\n\n\n\n<li><strong>Limited uses<\/strong> \u2014 This coupon can only be used this many times. After this, the coupon will no longer be valid.<\/li>\n\n\n\n<li><strong>Minimum cart amount<\/strong> \u2014 This coupon will only be usable if the total cart amount (before taxes and shipping) is greater than this value.<\/li>\n\n\n\n<li><strong>Only allow purchase of one item<\/strong> \u2014 For product-based coupons only: if the coupon applies to a product, only allow one of that product to be added to the cart.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Coupon \u2014 Products tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">By default, coupons apply their discount to the entire cart. If you would instead like the coupon to apply its discount directly to specific products, search for and select those products here. This should only be used for product-specific promotions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Products<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"541\" src=\"https:\/\/harmonicdesign.ca\/hdpress\/storage\/2024\/02\/hdcommerce-product-1024x541.png\" alt=\"\" class=\"wp-image-966\" srcset=\"https:\/\/harmonicdesign.ca\/wp-content\/uploads\/2024\/02\/hdcommerce-product-1024x541.png 1024w, https:\/\/harmonicdesign.ca\/wp-content\/uploads\/2024\/02\/hdcommerce-product-300x158.png 300w, https:\/\/harmonicdesign.ca\/wp-content\/uploads\/2024\/02\/hdcommerce-product-768x405.png 768w, https:\/\/harmonicdesign.ca\/wp-content\/uploads\/2024\/02\/hdcommerce-product-1536x811.png 1536w, https:\/\/harmonicdesign.ca\/wp-content\/uploads\/2024\/02\/hdcommerce-product.png 1612w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Products is where you can manage everything to do with your actual products. The Products page can be found from your admin menu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">From the product editor header you can also edit the product\u2019s URL slug, jump straight to the live product page, and use the <strong>Save Advanced<\/strong> option (under the <code>\u22ee<\/code> next to Save) if you need to save settings added by other plugins.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Products \u2014 Main tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Main tab contains the only mandatory fields that HDCommerce requires in order to create a product page.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>*Product Title<\/strong> \u2014 The name of your product.<\/li>\n\n\n\n<li><strong>SKU<\/strong> \u2014 The SKU and\/or UPC of your product. This is only needed for either your internal records, or if sending order data to a third party such as a shipping warehouse.<\/li>\n\n\n\n<li><strong>*Product Price<\/strong> \u2014 The price of the product. If using variations, this is the initial visible price shown until a variation is selected.<\/li>\n\n\n\n<li><strong>Product Sale Price<\/strong> \u2014 If the product is on sale, enter the value here. Leave blank to remove the sale.<\/li>\n\n\n\n<li><strong>Stock<\/strong> \u2014 If you only have a limited number of items, enter how many are available here. Set to <code>0<\/code> to disable the \u201cadd to cart\u201d button if you want to keep the product page, but disable purchase.<\/li>\n\n\n\n<li><strong>Custom Tax Rate<\/strong> \u2014 If the product requires a custom tax rate, enter it here. This overrides the tax table found on the Settings page.<\/li>\n\n\n\n<li><strong>*Short Description<\/strong> \u2014 The short \u201celevator\u201d sales pitch to describe your product.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Products \u2014 Description tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The description tab is where the editor for the main product description is located, as well as where any additional custom content areas for the product can be found.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Description<\/strong> \u2014 The long form product description. This is where you can add additional details about your product that a customer might be interested in.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Products \u2014 Categories tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The categories tab is where you can select which product categories the current product belongs to. You can create new categories from the <strong>Product Categories<\/strong> page link located here.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Products \u2014 Shipping tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The shipping tab contains fields to set default shipping options for this product: dimensions (width, height, length, weight) and the product\u2019s <strong>Shipping Class<\/strong> (A through E, with F reserved for FREE shipping). These fields should only be filled out if required by your selected shipping method.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Product variations will inherit these settings when created, and each variation can override them individually. Shipping dimension measurement types can be changed to Imperial from the HDCommerce Settings page.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Products \u2014 Recurring tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The recurring tab allows you to set the options for recurring orders. Recurring orders allow for things like subscription-based products and payment plans.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Recurring Deposit<\/strong> \u2014 If the initial charge should be for a deposit. This will be the initial payment during checkout, and the product price will be the amount charged on future payments. Example: if your product is $100\/month with a $10 deposit, the customer pays $10 now and $100 on each renewal.<\/li>\n\n\n\n<li><strong>Payment Frequency<\/strong> \u2014 <em>When<\/em> should this order recur? Once a week, month, or year.<\/li>\n\n\n\n<li><strong>Times to charge<\/strong> \u2014 How <em>many<\/em> times should this order charge? This includes the initial payment or deposit. Leave blank or set to <code>0<\/code> to charge indefinitely until the order is cancelled.<\/li>\n\n\n\n<li><strong>Include shipping cost<\/strong> \u2014 If the recurring order should also include the original order\u2019s shipping cost on each renewal.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Products \u2014 Variations tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The variations tab allows you to create new product variations and configure each individual variation as needed. A product variation is anytime a customer needs to choose an option for a product. For example, in a clothing store a customer might need to choose what \u201csize\u201d they wish to purchase. Variations allow you to have each available size on the same product page instead of needing to create unique pages for each possibility.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Run in Addon mode<\/strong> \u2014 Enable this mode to disable traditional product permutations and instead run in \u201caddon\u201d mode. In addon mode, each selected variation <em>adds<\/em> its price on top of the base product price. This is useful for optional extras (engraving, gift wrap, upgrades) where you don\u2019t need each combination to be its own SKU.<\/li>\n\n\n\n<li><strong>Add New Variation Type<\/strong> \u2014 The variation type is the <em>type<\/em> of attribute that a customer is selecting. Examples: Size, Colour, Materials, etc. Creating a new variation type provides a new variation attribute box.<\/li>\n\n\n\n<li><strong>Add New Variation<\/strong> \u2014 The variation attribute to be selected. For example, if the variation type is \u201cSize\u201d, then you might enter: Small, Medium, Large, etc.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">NOTE: You can drag-n-drop each variation attribute to change the order they appear in on the product pages (eat your heart out, WooCommerce!).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Variations<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Each new variation attribute you create will automatically generate a list of all product variation permutations under the <strong>All Product Variations<\/strong> section (eat your heart out, again, WooCommerce!). Selecting one of these permutations will open up a new sidebar dialogue allowing you to customize everything about that option:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Variation price \/ sale price<\/strong> \u2014 Override the product price for this permutation.<\/li>\n\n\n\n<li><strong>Variation SKU<\/strong> and <strong>Stock<\/strong> \u2014 Track each permutation as its own SKU with its own stock level.<\/li>\n\n\n\n<li><strong>Custom tax rate<\/strong> \u2014 Override the tax rate for this permutation.<\/li>\n\n\n\n<li><strong>Set as default<\/strong> \u2014 This permutation will be auto-selected when the product page loads.<\/li>\n\n\n\n<li><strong>Shipping<\/strong> \u2014 Per-permutation dimensions, weight, and shipping class.<\/li>\n\n\n\n<li><strong>Recurring<\/strong> \u2014 Per-permutation recurring deposit, frequency, and number of charges.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Each permutation will inherit the settings from the Main, Shipping, and Recurring tabs, so it is recommended to fill those out before creating your variations for simplicity.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Products \u2014 Images tab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The images tab is where you can control your featured image and add any gallery images.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Featured Image<\/strong> \u2014 The featured image is the primary image to represent the product. This image is used on the individual product page, as well as the shop and category pages.<\/li>\n\n\n\n<li><strong>Product Gallery<\/strong> \u2014 The product gallery appears underneath the featured image on the individual product page. You can have as many gallery images as you want.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">For Developers<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nearly every part of HDCommerce can be modified or extended with WordPress actions and filters \u2014 a commented <code>example-filters-actions.php<\/code> file ships with the plugin. A few highlights:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Payment &amp; shipping gateways<\/strong> \u2014 <code>hdc_add_payment_gateway<\/code> and <code>hdc_add_shipping_gateway<\/code> let you register entirely custom gateways.<\/li>\n\n\n\n<li><strong>Products<\/strong> \u2014 modify product data on the fly (<code>hdc_modify_product_data<\/code>), add fields to the product page (<code>hdc_add_product_page_field<\/code>), add admin product tabs (<code>hdc_add_product_tabs<\/code>), or cap cart quantities (<code>hdc_cart_max_quantity<\/code>).<\/li>\n\n\n\n<li><strong>Checkout &amp; cart<\/strong> \u2014 add custom checkout fields (<code>hdc_add_checkout_field<\/code>), and hook into add-to-cart and payment events (<code>hdc_add_to_cart_after<\/code>, <code>hdc_after_payment_attempt<\/code>).<\/li>\n\n\n\n<li><strong>Coupons<\/strong> \u2014 add your own validation logic with <code>hdc_custom_coupon_validation<\/code>.<\/li>\n\n\n\n<li><strong>Orders &amp; emails<\/strong> \u2014 add custom order statuses (<code>hdc_add_order_status<\/code>), admin order actions (<code>hdc_add_order_admin_action<\/code>), email templates (<code>hdc_add_email_template<\/code>), and inject content into order pages and emails (<code>hdc_order_before_content<\/code>, <code>hdc_email_before_content<\/code>). Every email template can also be overridden by copying it into your theme\u2019s <code>.\/hdcommerce\/emails\/<\/code> folder.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Learn how HDCommerce can be setup and configured for your needs. This is a documentation \/ support page for clients.<\/p>\n","protected":false},"author":1,"featured_media":956,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[87],"tags":[],"class_list":["post-406","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-documentation"],"_links":{"self":[{"href":"https:\/\/harmonicdesign.ca\/hdapi\/wp\/v2\/posts\/406","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/harmonicdesign.ca\/hdapi\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/harmonicdesign.ca\/hdapi\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/harmonicdesign.ca\/hdapi\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/harmonicdesign.ca\/hdapi\/wp\/v2\/comments?post=406"}],"version-history":[{"count":68,"href":"https:\/\/harmonicdesign.ca\/hdapi\/wp\/v2\/posts\/406\/revisions"}],"predecessor-version":[{"id":967,"href":"https:\/\/harmonicdesign.ca\/hdapi\/wp\/v2\/posts\/406\/revisions\/967"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/harmonicdesign.ca\/hdapi\/wp\/v2\/media\/956"}],"wp:attachment":[{"href":"https:\/\/harmonicdesign.ca\/hdapi\/wp\/v2\/media?parent=406"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/harmonicdesign.ca\/hdapi\/wp\/v2\/categories?post=406"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/harmonicdesign.ca\/hdapi\/wp\/v2\/tags?post=406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}