Your first product
This page walks through creating two products end to end: a simple physical product that ships, and a digital product that delivers a file. It covers only the fields you must fill in to publish. Every other field in the editor is documented in Products.
Both walkthroughs start the same way, because the choice between physical and digital is made before the editor opens — and it is not switchable afterwards.
Before you start
| You need | Why |
|---|---|
| Setup finished | The wizard sets your currency; prices are meaningless without it |
| Store pages published | You need somewhere to see the product |
ambikly_manage_store or Administrator | Creating products is a manage-store action |
| For the digital product: a file | Uploaded to the WordPress media library, or ready to upload |
Physical vs digital: pick once
The difference is not cosmetic. It changes which editor you get:
| Physical | Digital | |
|---|---|---|
| Pricing | One Selling price field, plus an optional sale price | One or more pricing plans, each with its own price |
| Sub-types | Single product, or Product with variants | None |
| Shipping | Weight, dimensions, shipping class | Not applicable |
| Stock | Track stock levels, quantity, backorders | Not applicable |
| Delivery | You ship it | Files attached to the product and/or per plan |
| Recurring billing | Not available | Per plan |
Create a simple physical product
1. Start the product
- Go to Ambikly → Products and click Add New Product.
- A dialog opens titled What are you selling?.
- Fill in Product name. This is required and there is a 200-character limit. Use the real customer-facing name — "Blue Ceramic Mug", not "mug-v2".
- Under What kind of product is it?, click the Physical product card. It is described as "Something you ship to customers". Confirm it shows Selected.
- Click Continue →.
2. Fill in the three required fields
The editor opens with a main column of cards and a right-hand sidebar. Cards that must be completed before publishing carry a Required badge.
- Product name — already filled from the dialog. The Name field is the only field required for any save, draft included. The Web address (URL slug) below it is generated from the name; leave it alone unless you want a specific URL.
- Pricing — enter a Selling price. Numbers only, e.g.
29.99. Leave Sale price blank; it is only for showing a strikethrough discount, and it must be lower than the selling price. - Description — write the Full description. Anything non-empty passes validation, but this is the text on the product page, so write something real. The Short tagline below it is optional and appears on listing cards.
That is genuinely all three. Photos, inventory, shipping and SEO are all optional to publish.
3. Set the sidebar fields worth setting
None of these block publishing, but two of them change what customers see.
| Sidebar field | What to do now |
|---|---|
| Status | Two radio cards: Live ("Visible to customers") and Draft ("Hidden from customers"). Leave it on Draft until you have previewed it. |
| Category | Only appears once at least one category exists. Set it if you have one; see Categories, tags & brands. |
| Product code (SKU) | Leave blank to auto-generate. Fill it if you have a real inventory code — the CSV importer matches on SKU. |
| Visibility | Leave Where customers can find it on "Everywhere (recommended)". Featured product pins it to featured sections. |
4. Add a photo and a weight
Optional, but a store with neither looks unfinished and ships wrong.
- In the Photos card, click the upload area or the Add action and choose images from the media library. Up to 10; the first one is tagged Main and becomes the listing image.
- Open the Shipping section and enter a packed weight and Length × Width × Height. These feed weight-based shipping rates.
5. Track stock, if you want to
Open the Inventory & stock section and tick Track stock levels. Ambikly then counts down as orders arrive and flips the product to out of stock automatically.
| Field | What it does |
|---|---|
| Quantity in stock | Units available right now |
| Low stock alert | Triggers a low-stock notification below this number |
| Stock status | In stock / Out of stock / On backorder |
| When sold out | Block purchase / Allow, warn customer / Allow silently |
Full detail in Inventory & stock.
6. Publish
- Set Status to Live in the sidebar.
- Click Publish in the page header, or Publish product in the sticky bar that appears at the bottom whenever there are unsaved changes.
- If validation fails you get a specific message naming the card — "Set a selling price before publishing — check the Pricing card." Fix it and publish again.
7. Check it on the storefront
Open your Shop page. The product should appear in the listing. Click it and confirm the URL looks like:
https://example.com/shop/?ambikly_product=blue-ceramic-mugThat query-string form is expected — see Store pages.
Create a digital product
Digital products use a different pricing model. Instead of one price field, a digital product has pricing plans — one or more purchasable options, each with its own price, its own optional recurring billing, and either the product's shared files or its own.
A product that sells one thing at one price simply has one plan. That is normal, not a workaround.
1. Start the product
- Go to Ambikly → Products and click Add New Product.
- Enter the Product name.
- Select the Digital product card — "A file or access key delivered by email". This is the default, but confirm it shows Selected.
- Click Continue →.
2. Name and describe it
- Product name — already filled. Required for every save.
- Description — write the Full description. Required to publish. Say what the customer receives, since there is nothing to hold.
3. Attach the file
The Downloadable files card holds the files every plan shares by default.
- Click Upload in the card header, or the upload area if the card is empty.
- The WordPress media library opens. Select one or more files and confirm. Any file type works.
- Each file gets a version number, prefilled as
1.0.0. Edit it inline in the smallvfield if you version your releases.
Files come from the media library only — there is no field for pasting a plain URL.
4. Add at least one pricing plan
This card carries the Required badge. Without a plan priced above 0, the product will not publish.
- Click Add first plan (or Add plan once you have one). A drawer opens.
- Plan name — what the customer sees when choosing. For a single-plan product, "Standard" is fine.
- Regular price — the price. This must be above 0 or publishing is blocked. Leave Sale price blank for now.
- Leave Recurring billing unchecked. Recurring plans need the Pro subscriptions add-on to actually bill.
- Under Downloadable files, leave the plan on Use shared files so it inherits the file you attached in step 3. Only click Override for this plan if this plan ships different files.
- Click Add plan.
The plan now appears in the list showing its name, price, and how many files it uses.
5. Publish
- Set Status to Live in the sidebar.
- Click Publish.
- If it refuses, the message names the problem — "Add at least one pricing plan with a price before publishing — check the Pricing plans card."
What publishing actually requires
The complete validation, for both product types:
| Product type | Required to save a draft | Additionally required to publish |
|---|---|---|
| Physical, single product | Name | Selling price above 0, Full description |
| Physical, with variants | Name | At least one option with values, at least one variant, Full description |
| Digital | Name | At least one pricing plan priced above 0, Full description |
Everything else — photos, SKU, category, stock, weight, dimensions, SEO fields, tagline, sale price — is optional in every case.
What you will not find in the editor
Worth knowing now so you do not go hunting:
- No download limit or expiry fields. The product model stores
download_limitanddownload_expiry_days, and the download system enforces both, but no input renders for them. Downloads are unlimited and never expire unless you set those columns another way. See Digital downloads. - No tags or brand fields. The sidebar has Status, Category, SKU and Visibility only. See Categories, tags & brands.
- No grouped or external product types. The tab components exist in the codebase but nothing renders them. Those types can only be created by CSV import or through the REST API. See Import & export (CSV).
- Meta keywords go nowhere. The SEO section accepts them and stores them, but nothing outputs them on the front end.
Next steps
| To do this | Go to |
|---|---|
| See every field in the editor | Products |
| Sell the same item in sizes or colors | Variations |
| Control download limits, expiry and delivery | Digital downloads |
| Organize the catalog | Categories, tags & brands |
| Manage stock properly | Inventory & stock |
| Load a whole catalog at once | Import & export (CSV) |
Pro adds product bundles, advanced variation controls, product badges, size charts, and AI-written descriptions generated from the product name and attributes.
See pricing →You have something to sell. Your first order walks through buying it — without any real money changing hands.