WP Manifestindependent plugin directory
manifest / ecommerce / custom-woo-features

BPC Custom Woo Features

The plugin features a centralized admin interface with tabbed settings organization, allowing merchants to configure multiple enhancements from a single location.

★ 0stars

Install

Download source zip No release zip yet

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/levon-brokenponyclub/custom-woo-features/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Custom WooCommerce Features Plugin

Author: Broken Pony Club
Author URL: https://www.brokenpony.club
Version: 1.0.1
Requires WordPress: 5.0+
Requires WooCommerce: 4.0+
Tested up to: WordPress 6.4
License: GPL v2 or later

Overview

Custom WooCommerce Features is a modular WordPress plugin that extends WooCommerce functionality with essential e-commerce enhancements. Built with a clean, object-oriented architecture, this plugin provides seamless integration with popular themes and page builders while maintaining WooCommerce core compatibility.

The plugin features a centralized admin interface with tabbed settings organization, allowing merchants to configure multiple enhancements from a single location.

Features

⚙️ General Settings

  • VAT Configuration: Enhanced tax display and calculation options
  • Regional Settings: Locale-specific pricing and display preferences
  • Performance Optimization: Efficient asset loading and caching strategies

🚚 Free Shipping Enhancements

  • Progress Indicators: Show customers how close they are to qualifying for free shipping
  • Customizable Thresholds: Set multiple shipping tiers and promotional levels
  • Cart Integration: Real-time shipping calculations and notifications

📦 Product Bundles

  • Bundle Discounts: Create product bundle offerings with dynamic pricing
  • Bundle UI Configuration: Customizable bundle presentation and layout options
  • Cross-Sell Integration: Enhanced product relationships and recommendations

� Quick Cart Enhancement

  • Mini-Cart Controls: Add quantity steppers (+/-) and remove links directly in the mini-cart
  • Template Override Protection: Ensures WooCommerce native mini-cart template is used, preventing conflicts with Elementor Pro and other page builders
  • AJAX-Powered: Smooth cart updates without page reloads
  • Theme Compatibility: Works seamlessly with JupiterX and other WooCommerce-compatible themes

Installation

Via WordPress Admin (Recommended)

  1. Download the plugin ZIP file from your vendor or repository
  2. Navigate to WordPress Admin > Plugins > Add New
  3. Click Upload Plugin and select the downloaded ZIP file
  4. Click Install Now and then Activate
  5. Navigate to Custom Woo Features in the admin menu to configure settings

Manual Installation

  1. Upload the custom-woo-features folder to /wp-content/plugins/
  2. Activate the plugin through the Plugins menu in WordPress
  3. Configure settings via Custom Woo Features admin page

Requirements Check

The plugin will automatically check for WooCommerce availability on activation. If WooCommerce is not installed or active, an admin notice will prompt for installation.

Configuration

Quick Cart Settings

Navigate to Custom Woo Features > Quick Cart

Enable +/- Qty and Remove

  • Purpose: Adds quantity controls and remove links to mini-cart items
  • Default: Enabled
  • Impact: Improves user experience by allowing cart modifications without visiting cart page

Template Override Protection

  • Automatic: Forces WooCommerce native mini-cart template usage
  • Prevents: Conflicts with Elementor Pro mini-cart customizations
  • Benefits: Ensures consistent UL/LI markup structure for styling and functionality

Free Shipping Settings

Navigate to Custom Woo Features > Free Shipping

Configure shipping thresholds, progress indicators, and promotional messaging to encourage larger order values.

Bundle Settings

Navigate to Custom Woo Features > Bundles

Set up product bundle configurations, discount structures, and cross-sell relationships.

General Settings

Navigate to Custom Woo Features > General

Configure VAT display options, regional preferences, and global plugin behaviors.

Technical Architecture

Plugin Structure

custom-woo-features/
├── assets/
│   ├── css/
│   │   ├── admin/
│   │   ├── free-shipping/
│   │   └── quick-cart/
│   └── js/
│       ├── admin/
│       ├── free-shipping/
│       └── quick-cart/
├── includes/
│   ├── admin/
│   │   └── class-cwf-admin.php
│   ├── features/
│   │   ├── bundles/
│   │   ├── free-shipping/
│   │   ├── general/
│   │   └── quick-cart/
│   └── class-cwf-plugin.php
├── custom-woo-features.php
└── README.md

Core Classes

CWF_Plugin

  • Purpose: Main plugin orchestrator and singleton instance manager
  • Responsibilities: Feature registration, asset management, options handling
  • Dependencies: WooCommerce active check, autoloading system

CWF_Admin

  • Purpose: Admin interface management and settings framework
  • Features: Tabbed settings UI, option sanitization, asset enqueuing
  • Security: Nonce verification, capability checks, input sanitization

Feature Classes

Each feature is implemented as a self-contained class with:

  • Admin settings integration via hooks
  • Frontend functionality and asset management
  • AJAX handlers for dynamic interactions
  • Template override capabilities

Asset Management

  • Conditional Loading: Assets only enqueued when features are enabled
  • Version Control: Cache-busting via plugin version number
  • Dependency Management: Proper jQuery and WooCommerce script dependencies

Security Implementation

  • Nonce Verification: All AJAX requests protected with WordPress nonces
  • Capability Checks: Admin access restricted to manage_woocommerce capability
  • Input Sanitization: All user inputs sanitized using WordPress core functions
  • Output Escaping: All outputs properly escaped for XSS prevention

Developer Documentation

Adding New Features

  1. Create Feature Directory: Add new feature folder under includes/features/
  2. Implement Feature Class: Follow naming convention CWF_Feature_{Name}
  3. Register Feature: Add to class-cwf-plugin.php constructor
  4. Add Admin Integration: Implement admin tab and settings hooks

Feature Class Template

<?php
class CWF_Feature_Example {
    const OPTION_KEY = 'example';

    public function __construct() {
        add_filter( 'cwf_admin_tabs', [ $this, 'add_admin_tab' ] );
        add_action( 'cwf_register_settings', [ $this, 'register_settings' ] );
        add_action( 'cwf_render_tab_example', [ $this, 'render_settings_tab' ] );
    }

    public function add_admin_tab( $tabs ) {
        $tabs['example'] = __( 'Example Feature', 'custom-woo-features' );
        return $tabs;
    }

    public static function get_setting( $key, $default = '' ) {
        $opts = CWF_Plugin::get_options();
        return isset( $opts[ self::OPTION_KEY ][ $key ] ) 
            ? $opts[ self::OPTION_KEY ][ $key ] 
            : $default;
    }
}

Hooks and Filters

Admin Hooks

  • cwf_admin_tabs: Register new admin tabs
  • cwf_register_settings: Register settings sections and fields
  • cwf_render_tab_{tab_name}: Render tab content

Frontend Hooks

  • Standard WordPress and WooCommerce action/filter hooks
  • Feature-specific AJAX endpoints with wp_ajax_ prefix

AJAX Implementation

All AJAX handlers follow WordPress best practices:

  • Nonce verification via check_ajax_referer()
  • Proper error handling and response formatting
  • WooCommerce fragment integration for cart updates

Compatibility

WordPress

  • Minimum Version: 5.0
  • Tested Up To: 6.4
  • Multisite: Compatible

WooCommerce

  • Minimum Version: 4.0
  • Tested Up To: 8.2
  • HPOS Compatible: Yes

Themes

  • JupiterX: Fully tested and optimized
  • Astra: Compatible
  • Storefront: Compatible
  • GeneratePress: Compatible
  • Other Themes: Should work with any WooCommerce-compatible theme

Page Builders

  • Elementor: Compatible with template override protection
  • Elementor Pro: Template conflicts resolved via override system
  • Beaver Builder: Compatible
  • Divi: Compatible

Plugins

  • WooCommerce: Required dependency
  • Advanced Custom Fields: Compatible
  • WPML: Translation ready
  • Yoast SEO: Compatible

Troubleshooting

Common Issues

Mini-Cart Not Displaying Properly

  • Cause: Theme or plugin template conflicts
  • Solution: Ensure Quick Cart feature is enabled; template override protection should resolve most conflicts
  • Debug: Check browser console for JavaScript errors

AJAX Requests Failing

  • Cause: Nonce verification failure or insufficient permissions
  • Solution: Clear caches and ensure user has proper WooCommerce capabilities
  • Debug: Monitor WordPress debug log for AJAX-related errors

Settings Not Saving

  • Cause: PHP memory limits or conflicting plugins
  • Solution: Increase PHP memory limit; deactivate conflicting plugins temporarily
  • Debug: Enable WordPress debug logging to identify specific errors

Asset Loading Issues

  • Cause: Caching plugins or CDN configuration
  • Solution: Clear all caches and disable asset minification temporarily
  • Debug: View page source to verify asset URLs are correct

Debug Mode

Enable WordPress debug mode for detailed error reporting:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Plugin Conflicts

If experiencing issues:

  1. Deactivate all plugins except WooCommerce and Custom Woo Features
  2. Test functionality
  3. Reactivate plugins one by one to identify conflicts
  4. Contact support with conflict details

Performance Considerations

Asset Optimization

  • Conditional Loading: CSS/JS only loaded when features are active
  • Minification: Assets should be minified for production
  • Caching: Compatible with major caching plugins

Database Optimization

  • Options Storage: Efficient single-option array storage
  • Query Reduction: Minimal database queries via caching
  • Cleanup: No orphaned data left on uninstall

Memory Usage

  • Autoloading: Efficient class loading only when needed
  • Singleton Pattern: Single instance management prevents memory duplication
  • Feature Isolation: Modular architecture allows selective feature loading

Support and Maintenance

Version History

  • 1.0.1: Current stable release with Quick Cart, Bundles, Free Shipping, and General features
  • 1.0.0: Initial release with basic framework and Quick Cart functionality

Documentation

  • Code Comments: Comprehensive PHPDoc documentation throughout codebase
  • Inline Documentation: Clear variable naming and function descriptions
  • Architecture Notes: Detailed class relationship documentation

Development Standards

  • WordPress Coding Standards: Full compliance with WPCS
  • Security Best Practices: Regular security audits and updates
  • Performance Testing: Regular performance benchmarking and optimization

Support Channels

For technical support, bug reports, or feature requests:

  • Developer: Broken Pony Club
  • Documentation: This README and inline code documentation

Developed by Broken Pony Club | *A Digital Solutions Company | Simple Isn't Always Easy**