A simple yet powerful order management system for WooCommerce with custom field support and role-based access control.
- 🔒 Secure order management with role-based access control
- 📊 Customizable order columns with drag-and-drop interface
- 🔄 Advanced Custom Fields (ACF) integration
- 🏷️ Custom status labels
- 🔍 Powerful search and filtering
- 📱 Responsive design
- 🛡️ Built-in security features
- 🔌 Extensible with hooks and filters
- WordPress 5.0 or higher
- PHP 7.4 or higher
- WooCommerce 6.0 or higher
- Advanced Custom Fields (optional, for custom fields)
- Download the latest release
- Upload to your WordPress site
- Activate the plugin
- Go to WooCommerce > Order Management to configure
-
Configure General Settings:
- Set orders per page
- Configure role access permissions
-
- Go to Field Configuration > Column Management
- Drag and drop to reorder columns
- Add/remove columns as needed
-
Custom Status Labels:
- Customize the display text for order statuses
- Changes apply throughout the interface
-
- Create a field group for orders
- Add your desired fields
- Set location rule to "Post Type is equal to Shop order"
-
- Go to Column Management
- Your ACF fields will appear in the available columns
- Add them to your display
- Role-based access control
- Input validation and sanitization
- CSRF protection with nonces
- Rate limiting for AJAX requests
- Security headers
- Error logging and monitoring
// Before orders table
do_action('wb_before_order_list');
// After orders table
do_action('wb_after_order_list');
// During plugin installation
do_action('wb_install');
// During plugin uninstallation
do_action('wb_uninstall');
// Filter order columns
add_filter('wb_order_columns', function($columns) {
// Modify columns
return $columns;
});
// Filter order data
add_filter('wb_order_data', function($data, $order) {
// Modify data
return $data;
}, 10, 2);
// Filter status labels
add_filter('wb_status_labels', function($labels) {
// Modify labels
return $labels;
});
// Filter role access
add_filter('wb_role_access', function($roles) {
// Modify roles
return $roles;
});
- Create a directory in your theme:
your-theme/easy-order-management/
- Copy template files from
plugin/templates/
to your theme directory - Modify as needed - your theme templates will be used instead
The plugin includes comprehensive error handling and logging:
// Log a security event
WB_Security::log_security_event('custom_event', [
'key' => 'value'
]);
// Check rate limiting
$result = WB_Security::check_rate_limit('custom_action');
if (is_wp_error($result)) {
// Handle error
}
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
MIT License - see LICENSE.md for details