Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/wildan-m/woocommerce-full-build/archive/refs/heads/main.zipA WooCommerce plugin that adds automatic tiered bundle discounts, a CSV product importer for variable products, UK-only shipping enforcement, and a dark storefront theme to craft and art supply stores.
Features
Automatic Tiered Bundle Discounts
Customers are rewarded for buying more. Once a cart reaches a configured quantity threshold, a percentage discount is applied automatically as a WooCommerce cart fee — no coupon codes needed.
Default tiers (configurable from WooCommerce → Settings → Craft Bundles):
| Items in cart | Discount |
|---|---|
| 3–4 | 8% |
| 5–7 | 12% |
| 8 + | 18% |
Store owners can add, remove, or modify tiers at any time from the admin settings page. The highest qualifying tier always wins.
CSV Product Importer
A dedicated WooCommerce → Import Craft CSV tool lets store managers bulk-import craft and art supply products without writing code.
Each CSV row creates a WooCommerce variable product with three size-based variations:
- Small Pack
- Medium Pack
- Large Pack
Every variation carries its own price, optional stock quantity, and a unique SKU derived from the parent SKU.
Expected CSV columns:
| Column | Description |
|---|---|
sku |
Unique product identifier |
name |
Product display name |
category |
Product category (created automatically if not found) |
description |
Full product description (HTML allowed) |
short_description |
Short summary shown on the shop grid |
price_small |
Regular price for the Small Pack variation |
price_medium |
Regular price for the Medium Pack variation |
price_large |
Regular price for the Large Pack variation |
weight_g |
Product weight in grams (optional) |
stock_small |
Stock quantity for Small Pack (leave blank to disable stock management) |
stock_medium |
Stock quantity for Medium Pack |
stock_large |
Stock quantity for Large Pack |
tags |
Pipe-separated list of product tags (optional) |
image_url |
Featured image URL (optional) |
A CSV template containing 15 craft supply products is included in the repository.
UK-Only Shipping
All shipping rates are suppressed automatically for any destination outside the United Kingdom (ISO 3166-1 GB). A server-side checkout guard prevents order submission even if a custom shipping plugin bypasses the rate filter.
Free shipping threshold: when a cart's subtotal meets or exceeds the configured threshold (default £50), flat-rate methods are hidden and only free shipping is offered. The threshold is configurable from the settings page.
Dark Storefront Theme
An optional dark colour scheme built entirely with CSS custom properties. Typography uses DM Sans (headings) and Inter (body) loaded from Google Fonts. All contrast ratios meet WCAG 2.1 AA.
To override brand colours from a child theme without editing plugin files:
:root {
--wccb-accent: #e85d4a; /* swap violet for terracotta */
--wccb-bg-primary: #0f1014;
--wccb-bg-secondary: #1a1c22;
}
The dark theme can be toggled off from WooCommerce → Settings → Craft Bundles → Dark Theme.
Requirements
- WordPress 6.0 or later
- WooCommerce 7.0 or later
- PHP 8.0 or later
Installation
- Upload the
wc-craft-bundlesfolder towp-content/plugins/. - Activate the plugin from Plugins → Installed Plugins.
- Navigate to WooCommerce → Settings → Craft Bundles to review the default configuration.
- Optionally import products via WooCommerce → Import Craft CSV.
Configuration
All settings live under WooCommerce → Settings → Craft Bundles:
- Dark Theme — enable or disable the dark storefront stylesheet.
- Free shipping threshold — set the cart subtotal (£) at which free shipping activates.
- Bundle Discount Tiers — add, edit, or remove quantity/percentage tiers using the tier table.
File Structure
wc-craft-bundles/
├── wc-craft-bundles.php Main plugin file — bootstraps everything
├── includes/
│ ├── class-bundle-discounts.php Tiered discount engine (woocommerce_cart_calculate_fees)
│ ├── class-csv-importer.php CSV product importer — creates variable products
│ ├── class-shipping-restrictor.php UK-only shipping + free-shipping threshold
│ └── class-admin-settings.php WooCommerce settings tab + tier manager
├── assets/
│ └── css/
│ └── dark-theme.css Dark storefront stylesheet (CSS custom properties)
├── templates/
│ └── admin-settings.php Discount tier table rendered in the settings tab
└── import-templates/
└── craft-supplies.csv 15-product import file for testing
Hooks Reference
| Hook | Type | Class | Purpose |
|---|---|---|---|
woocommerce_cart_calculate_fees |
action | WCCB_Bundle_Discounts |
Apply bundle discount fee to cart |
woocommerce_package_rates |
filter | WCCB_Shipping_Restrictor |
Remove non-UK rates; apply free-shipping threshold |
woocommerce_checkout_process |
action | WCCB_Shipping_Restrictor |
Block checkout submission from non-UK addresses |
woocommerce_available_payment_gateways |
filter | WCCB_Shipping_Restrictor |
Hide payment gateways for non-UK customers |
woocommerce_settings_tabs_array |
filter | WCCB_Admin_Settings |
Register the "Craft Bundles" settings tab |
woocommerce_settings_tabs_craft_bundles |
action | WCCB_Admin_Settings |
Render settings fields |
woocommerce_update_options_craft_bundles |
action | WCCB_Admin_Settings |
Save settings |
License
GPL-2.0-or-later. See LICENSE.