A comprehensive SMS notification system that integrates seamlessly with WooCommerce to send automated order notifications, customer updates, and bulk SMS campaigns to Nigerian customers via the Nigeria Bulk SMS API.
- Order Status Alerts - Automatic SMS for order status changes (pending, processing, completed, shipped, etc.)
- Payment Confirmations - Instant payment received notifications
- Shipping Updates - Real-time shipping and tracking information
- Custom Triggers - Create notifications for any WooCommerce event
- Customer Segmentation - Target customers by order history, location, and purchase behavior
- Scheduled Sending - Plan campaigns for optimal delivery times
- Template Management - Create and reuse message templates
- Campaign Analytics - Track delivery rates and engagement
- Queue Management - Reliable message delivery with automatic retry logic
- Priority System - Ensure urgent messages are sent first
- Analytics Dashboard - Comprehensive reporting and insights
- Comprehensive Logging - Detailed logs of all SMS activities
- Opt-in/Opt-out Management - GDPR-compliant customer preferences
- HPOS Compatible - Full support for WooCommerce High-Performance Order Storage
- Multilingual Ready - Translation-ready with proper i18n
- WordPress 5.0 or higher
- WooCommerce 5.0 or higher
- PHP 7.4 or higher
- Nigeria Bulk SMS API account (Sign up here)
- Log in to your WordPress admin panel
- Navigate to Plugins > Add New
- Search for "Nigeria Bulk SMS for WooCommerce"
- Click Install Now and then Activate
- Download the plugin ZIP file
- Log in to your WordPress admin panel
- Navigate to Plugins > Add New > Upload Plugin
- Choose the downloaded ZIP file and click Install Now
- Activate the plugin after installation
cd wp-content/plugins/
git clone https://github.com/nueleluwa/nigeria-bulk-sms-for-woocommerce.git
cd nigeria-bulk-sms-for-woocommerce
# Download Chart.js
wget https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js -O admin/js/chart.min.jsThen activate the plugin through the WordPress admin panel.
- Sign up at Nigeria Bulk SMS Portal
- Navigate to your account settings
- Copy your API Username and Password
- Register a Sender ID (if you haven't already)
- In WordPress admin, go to Nigeria Bulk SMS > Settings
- Navigate to the API Settings tab
- Enter your credentials:
- API Username - Your Nigeria Bulk SMS username
- API Password - Your Nigeria Bulk SMS password
- Sender ID - Your registered sender ID (max 11 characters)
- Connection Timeout - Default is 30 seconds
- Click Test Connection to verify your credentials
- Save your settings
- Go to the Notifications tab
- Enable the notifications you want to send:
- Order Received
- Order Processing
- Order Completed
- Order Shipped
- Order Cancelled
- Payment Received
- And more...
- Assign templates to each notification
- Set any conditions (optional)
- Save your notification settings
- Go to Nigeria Bulk SMS > Templates
- Click Add New Template
- Enter a template name
- Write your message using available variables:
{customer_name}- Customer's name{order_id}- Order number{order_total}- Order total amount{order_status}- Current order status{site_name}- Your store name{tracking_number}- Shipping tracking number- And more...
- Save the template
Once configured, the plugin automatically sends SMS notifications based on WooCommerce events. No additional action required!
- Go to Nigeria Bulk SMS > Bulk SMS
- Select your target audience:
- All customers
- Customers with orders
- Customers by location
- Customers by order status
- Custom phone numbers
- Choose a message template or write a custom message
- Preview your message
- Schedule or send immediately
- Click Send SMS
- Go to Nigeria Bulk SMS > Testing
- Enter a test phone number
- Write a test message
- Click Send Test SMS
- Check the logs for delivery status
- Go to Nigeria Bulk SMS > Logs
- View all SMS activities with:
- Delivery status
- Recipient information
- Message content
- Cost per message
- Delivery time
- Error messages (if any)
- Filter logs by status, date, or search terms
- Export logs for reporting
Use these variables in your message templates for dynamic content:
{customer_name}- Customer's full name{customer_first_name}- Customer's first name{customer_last_name}- Customer's last name{customer_email}- Customer's email address{customer_phone}- Customer's phone number
{order_id}- Order number{order_total}- Order total amount with currency{order_subtotal}- Order subtotal{order_tax}- Order tax amount{order_shipping}- Shipping cost{order_status}- Current order status{order_date}- Order date{payment_method}- Payment method used
{shipping_address}- Full shipping address{shipping_city}- Shipping city{shipping_state}- Shipping state{shipping_postcode}- Shipping postcode{tracking_number}- Shipping tracking number
{site_name}- Your store name{site_url}- Your store URL{store_email}- Store email address{store_phone}- Store phone number
{product_names}- List of product names{product_quantity}- Total quantity of items
- Nonce Verification - All forms and AJAX requests are protected
- Input Sanitization - All user input is sanitized before processing
- Output Escaping - All output is escaped to prevent XSS attacks
- Prepared Statements - All database queries use prepared statements
- Capability Checks - Only authorized users can access admin features
- Opt-in System - GDPR-compliant customer consent management
- Data Encryption - Sensitive data is stored securely
# Clone the repository
git clone https://github.com/nueleluwa/nigeria-bulk-sms-for-woocommerce.git
cd nigeria-bulk-sms-for-woocommerce
# Download Chart.js dependency
wget https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js \
-O admin/js/chart.min.js
# Create production ZIP
zip -r nigeria-bulk-sms-for-woocommerce.zip . \
-x "*.git*" "*.DS_Store" "*.md" "node_modules/*"nigeria-bulk-sms-for-woocommerce/
βββ admin/ # Admin functionality
β βββ class-nbsms-admin.php # Main admin class
β βββ css/
β β βββ admin.css # Admin styles
β βββ js/
β βββ admin.js # Admin scripts
β βββ chart.min.js # Chart.js library
βββ includes/ # Core functionality
β βββ class-nbsms-api.php # API wrapper
β βββ class-nbsms-bulk.php # Bulk SMS handler
β βββ class-nbsms-core.php # Core plugin class
β βββ class-nbsms-db.php # Database operations
β βββ class-nbsms-logs.php # Logging system
β βββ class-nbsms-notifications.php # Notification handler
β βββ class-nbsms-opt-in.php # Opt-in/out management
β βββ class-nbsms-settings.php # Settings management
β βββ class-nbsms-template-parser.php # Template parser
βββ templates/ # Admin page templates
β βββ admin-bulk.php # Bulk SMS page
β βββ admin-logs.php # Logs page
β βββ admin-settings.php # Settings page
β βββ admin-template-form.php # Template editor
β βββ admin-template-view.php # Template viewer
β βββ admin-templates-list.php # Templates list
β βββ admin-testing.php # Testing page
βββ languages/ # Translation files
βββ nigeria-bulk-sms-for-woocommerce.php # Main plugin file
βββ readme.txt # WordPress.org readme
βββ uninstall.php # Uninstall cleanup
βββ LICENSE.txt # GPL v2+ license
This plugin follows WordPress Coding Standards:
- PHP: WordPress PHP Coding Standards
- JavaScript: WordPress JavaScript Coding Standards
- CSS: WordPress CSS Coding Standards
- Install on a test WordPress + WooCommerce site
- Configure API credentials
- Create a test order
- Verify SMS notifications are sent
- Check logs for delivery confirmation
- Test bulk SMS functionality
- Verify all admin pages load correctly
- Plugin activates without errors
- API connection test works
- Automatic notifications send correctly
- Bulk SMS sends successfully
- Templates save and load correctly
- Logs display properly
- Charts render on logs page
- No PHP errors in debug.log
- No JavaScript console errors
- Works with WooCommerce HPOS
Currently supports:
- Nigeria Bulk SMS - Primary gateway (https://portal.nigeriabulksms.com/)
Note: This plugin is specifically designed for the Nigeria Bulk SMS API. Support for additional gateways may be added in future versions.
The plugin is fully translation-ready with proper internationalization:
- Text domain:
nigeria-bulk-sms-for-woocommerce - Translation files:
/languages/ - POT file included for easy translation
- Download the
.potfile from/languages/ - Use Poedit to create translations
- Submit via pull request or contact the developer
We welcome contributions! Here's how you can help:
- Check if the issue already exists in GitHub Issues
- If not, create a new issue with:
- Clear description of the bug
- Steps to reproduce
- Expected behavior
- Actual behavior
- WordPress/WooCommerce/PHP versions
- Any error messages
- Open a new issue with the
enhancementlabel - Clearly describe the feature and its use case
- Explain how it would benefit users
- Fork the repository
- Create a new branch (
git checkout -b feature/amazing-feature) - Make your changes
- Follow WordPress coding standards
- Test thoroughly
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow WordPress coding standards
- Add PHPDoc comments to all functions
- Write clear commit messages
- Test on multiple WordPress/WooCommerce versions
- Ensure backward compatibility
- Update documentation as needed
Major Update - WordPress.org Compliance
- Removed Composer dependency - standalone API implementation
- Fixed text domain throughout (now:
nigeria-bulk-sms-for-woocommerce) - Added output escaping to all templates
- Implemented nonce verification for all forms and AJAX requests
- Added
wp_unslash()before all input sanitization - Prepared all database queries with
$wpdb->prepare() - Implemented database caching with
wp_cache_get()/wp_cache_set() - Fixed script enqueuing to use proper WordPress methods
- Removed external CDN dependencies (Chart.js now local)
- Plugin name: "Nigeria Bulk SMS for WooCommerce" (WordPress.org compliant)
- Plugin slug: "nigeria-bulk-sms-for-woocommerce" (no restricted terms)
- Improved security with comprehensive input/output handling
- Enhanced performance with database caching
- Better error handling and logging
- Fixed all XSS vulnerabilities
- Fixed all CSRF vulnerabilities
- Fixed all SQL injection vulnerabilities
- Added capability checks for all admin functions
- Improved data validation and sanitization
- Complete rewrite of readme.txt for WordPress.org
- New production README.md for GitHub
- Added comprehensive inline code documentation
- Created detailed setup guides
- Initial public release
- Automated order notifications
- Bulk SMS campaigns
- Template management
- Analytics dashboard
- Comprehensive logging
- HPOS compatibility
- Check Documentation - Most questions are answered in this README
- WordPress.org Forums - Plugin Support Forum
- GitHub Issues - Report bugs or request features
- Nigeria Bulk SMS Support - For API-related issues: Contact Nigeria Bulk SMS
SMS not sending?
- Verify API credentials are correct
- Check account balance in Nigeria Bulk SMS portal
- Review logs for error messages
- Test connection in Settings page
Plugin won't activate?
- Ensure WooCommerce is installed and activated
- Check PHP version (7.4+ required)
- Check WordPress version (5.0+ required)
- Review server error logs
Charts not displaying?
- Ensure Chart.js file exists at
admin/js/chart.min.js - Check browser console for JavaScript errors
- Clear browser cache
This plugin is licensed under the GNU General Public License v2.0 or later.
Nigeria Bulk SMS for WooCommerce
Copyright (C) 2025 Emmanuel Eluwa
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
See LICENSE.txt for full license text.
- Nigeria Bulk SMS - For providing the SMS API
- WordPress Community - For excellent documentation and support
- WooCommerce Team - For the robust e-commerce platform
- Chart.js - For beautiful charts and graphs
- Contributors - Thanks to everyone who has contributed to this project
Developer: Emmanuel Eluwa
GitHub: @nueleluwa
Plugin URI: https://github.com/nueleluwa/nigeria-bulk-sms-for-woocommerce
WordPress.org: Plugin Page (pending approval)
If you find this plugin useful, please:
- β Star this repository on GitHub
- π Leave a review on WordPress.org (after it's approved)
- π Report bugs and suggest features
- π Contribute code via pull requests
- π’ Share with others who might benefit
- Support for additional SMS gateways
- WhatsApp integration
- SMS scheduling calendar view
- Advanced customer segmentation
- A/B testing for campaigns
- SMS templates marketplace
- REST API for external integrations
- Mobile app for managing campaigns
- Multi-language SMS support
- AI-powered message optimization
- Integration with popular form plugins
- Support for MMS (multimedia messages)
- Two-factor authentication via SMS
- Customer reply handling
- Advanced analytics and reporting
- Integration with CRM systems
Have a feature request? Open an issue and let us know!
Made with β€οΈ for the Nigerian e-commerce community
Empowering businesses to connect with customers through SMS