# Installation Guide ## Requirements Before installing the WooCommerce Composable Products plugin, ensure your system meets these requirements: - **PHP**: 8.3 or higher - **WordPress**: 6.0 or higher - **WooCommerce**: 8.0 or higher - **Composer**: For dependency management ## Installation Steps ### 1. Upload Plugin Files Upload the plugin directory to your WordPress installation: ```bash /wp-content/plugins/wc-composable-product/ ``` ### 2. Install Dependencies Navigate to the plugin directory and install dependencies: ```bash cd /wp-content/plugins/wc-composable-product/ composer install --no-dev --optimize-autoloader ``` ### 3. Activate Plugin 1. Log in to your WordPress admin panel 2. Navigate to **Plugins > Installed Plugins** 3. Find "WooCommerce Composable Products" 4. Click **Activate** ### 4. Configure Settings After activation, configure the plugin: 1. Navigate to **WooCommerce > Settings** 2. Click on the **Composable Products** tab 3. Configure default settings: - **Default Selection Limit**: Number of items customers can select (default: 5) - **Default Pricing Mode**: Choose between "Sum of selected products" or "Fixed price" - **Display Options**: Toggle product images, prices, and totals ## Creating Your First Composable Product ### Step 1: Create a New Product 1. Go to **Products > Add New** 2. Enter a product name (e.g., "Custom Sticker Pack") ### Step 2: Set Product Type 1. In the **Product Data** panel, select **Composable product** from the dropdown ### Step 3: Configure General Settings In the **General** tab: - Set a **Regular price** (used if pricing mode is "Fixed") - Configure **Selection Limit** (leave empty to use global default) - Choose **Pricing Mode** (leave empty to use global default) ### Step 4: Configure Composable Options Click on the **Composable Options** tab: 1. **Selection Criteria**: Choose how to select available products - **By Category**: Select product categories - **By Tag**: Select product tags - **By SKU**: Enter comma-separated SKUs 2. Based on your selection: - **Categories**: Select one or more categories from the dropdown - **Tags**: Select one or more tags from the dropdown - **SKUs**: Enter SKUs like: `STICKER-01, STICKER-02, STICKER-03` ### Step 5: Publish Click **Publish** to make your composable product live. ## Frontend Usage When customers visit your composable product: 1. They see a grid of available products based on your criteria 2. They can select up to the configured limit 3. The total price updates in real-time (if using sum pricing mode) 4. Click "Add to Cart" to add the composition to their cart 5. Selected products are displayed in the cart ## Troubleshooting ### Plugin Won't Activate - Ensure WooCommerce is installed and activated first - Check PHP version (must be 8.3+) - Verify Composer dependencies are installed ### Products Not Showing in Selector - Check that products are published and in stock - Verify the selection criteria (category/tag/SKU) is correct - Ensure products match the criteria you configured ### Twig Template Errors - Ensure the `vendor/` directory exists and contains Twig - Run `composer install` again - Check that the `cache/` directory is writable ### JavaScript Not Working - Clear browser cache - Check browser console for errors - Ensure jQuery is loaded (WooCommerce includes it) ## Updating When updating the plugin: 1. Deactivate the plugin 2. Replace plugin files 3. Run `composer install --no-dev --optimize-autoloader` 4. Reactivate the plugin 5. Clear all caches (WordPress, browser, CDN) ## Uninstallation To completely remove the plugin: 1. Deactivate the plugin 2. Delete the plugin from the Plugins page 3. Optionally clean up database entries (WooCommerce will handle this automatically) ## Support For issues and feature requests: - GitHub: https://github.com/magdev/wc-composable-product/issues - Documentation: See README.md ## Next Steps - Customize the template by editing `templates/product-selector.twig` - Modify styles in `assets/css/frontend.css` - Translate the plugin using the provided `.pot` file - Create categories/tags for easier product organization