manifest / unclassified / wc-dynamic-sync
WC Dynamic Sync
WordPress plugin that dynamically creates/updates WooCommerce products & orders via a custom REST API endpoint. Handle user creation, apply custom pricing rules, and implement a custom shipping method. Ensure adherence to WPCS, PHPCS, and compatibility with the latest WordPress/WooCommerce versions.
★ 0stars
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/sagarlakhani024/wc-dynamic-sync/archive/refs/heads/main.zipNo built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.
WooCommerce Dynamic Sync Plugin
A powerful WooCommerce extension that provides a custom REST API endpoint to dynamically create or update products and orders from an external system.
📌 Features
- ✅ Custom REST endpoint:
POST /wc-dynamic/v1/sync - ✅ Create or update simple products via SKU
- ✅ Apply automatic 10% discount using sale price
- ✅ Create users if not registered and email them login credentials
- ✅ Create orders with calculated shipping
- ✅ Automatically handle stock and order totals
🔧 Installation
1. Prerequisites
- WordPress version 6.0+
- WooCommerce plugin must be installed and activated
- PHP version 7.4 or higher
2. Installation Steps
Option A: Upload via WordPress Dashboard
- Go to Plugins > Add New > Upload Plugin
- Upload the plugin ZIP file
- Click Install Now and then Activate
Option B: Manual Upload
- Extract the plugin ZIP file
- Upload the extracted folder to
/wp-content/plugins/via FTP/SFTP - Go to Plugins in WordPress Admin
- Click Activate on WooCommerce Dynamic Sync
📦 API Endpoint
POST /wp-json/wc-dynamic/v1/sync
Sample JSON Payload
{
"products": [
{
"sku": "TSHIRT-001",
"title": "Premium Cotton T-Shirt",
"description": "High-quality unisex t-shirt.",
"price": 25.00,
"stock_quantity": 50,
"weight": 0.3
}
],
"order": {
"user": {
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"billing": {
"address_1": "123 Main St",
"city": "New York",
"country": "US"
}
},
"shipping": {
"address_1": "123 Main St",
"city": "New York",
"country": "US"
}
}
}