Description
G Online SMS connects your WordPress site to the G Online SMS gateway so you can send SMS messages automatically based on events in WordPress, or manually to any phone number.
Features
- OTP / Two-Factor Authentication:
- SMS verification code on WordPress login (2FA after password check).
- Phone number verification at WooCommerce checkout before order placement.
- Phone number confirmation on user registration.
- Verify new phone number when changed in WooCommerce My Account.
- Configurable code length (4–8 digits) and expiry (1–30 minutes).
- Maximum 3 failed attempts before code is invalidated.
- Send single or bulk SMS directly from the WordPress admin.
- Bulk SMS by user role — target all subscribers, customers, or any custom role.
- User lifecycle notifications:
- Notify admin when a new user registers.
- Send a welcome SMS to every new user.
- Send a farewell SMS when an account is deleted.
- Optional login-alert SMS to admin.
- WooCommerce integration:
- Customise SMS messages per order status (pending, processing, completed, refunded, etc.).
- Notify admin when a new order is placed.
- Supports rich order placeholders:
{order_id},{order_total},{customer_name},{order_items}, and many more.
- Contact Form 7 integration:
- Send SMS to admin AND the form submitter simultaneously on submission.
- Per-form overrides via the Additional Settings tab.
- Gravity Forms integration:
- Send SMS to admin AND the submitter when an entry is submitted.
- Use
{field_id:N}or{Field Label}placeholders.
- SMS Log — every sent and failed message is recorded with status, recipient and trigger source.
- Test SMS button — verify your API key right from the settings page.
- Fully translatable (
.potfile included). - No Bootstrap or external CSS loaded site-wide — lightweight admin-only assets.
Supported Placeholders (WooCommerce)
{order_id} `{order_number}` `{order_total}` `{order_status}` `{order_date}` `{customer_name}` `{customer_first_name}` `{customer_last_name}` `{customer_email}` `{customer_phone}` `{billing_address}` `{shipping_address}` `{payment_method}` `{shipping_method}` `{order_items}` `{subtotal}` `{tax_amount}` `{currency}` `{coupon_code}` `{site_name}` `{site_url}`
Supported Placeholders (User notifications)
{first_name} `{last_name}` `{display_name}` `{user_email}` `{user_login}` `{site_name}` `{site_url}`
External Services
This plugin connects to the G Online SMS gateway to send SMS messages and check account balance. This is a third-party service operated by G Online Sites.
What data is sent and when
- When sending an SMS — the recipient’s phone number, the message text, your Sender ID, and your API key are transmitted to the gateway. This happens every time an SMS is triggered (user registration, WooCommerce order status change, form submission, manual send, etc.).
- When checking balance — only your API key is sent. This happens each time the plugin dashboard page is loaded.
No data is sent without your action
No data is ever transmitted unless you have entered a valid API key in the plugin settings. The plugin makes no external calls on the front end of your website.
Service provider details
- Service: G Online SMS — bulk SMS messaging gateway for Ghana and beyond.
- Provider: G Online Sites
- Gateway URL: https://sms.gonlinesites.com/app
- Terms of Service: https://sms.gonlinesites.com/app/terms
- Privacy Policy: https://sms.gonlinesites.com/app/privacy
By using this plugin you agree to the terms of service and privacy policy of the G Online SMS gateway listed above.
Installation
- Upload the
g-online-smsfolder to/wp-content/plugins/, or install directly via Plugins Add New. - Activate the plugin.
- Go to G Online SMS Settings and enter your API Key, Sender ID, and Admin Phone Number.
(Obtain your API key at sms.gonlinesites.com.) - Use the Send Test SMS button to verify everything is working.
- Configure WooCommerce, CF7, or Gravity Forms messages in their respective sub-pages.
FAQ
-
How do I enable SMS login 2FA?
-
Go to G Online SMS OTP / 2FA and enable « Login 2FA ». Users with a phone number stored in their profile (billing phone or phone meta) will be required to enter an SMS code after their password. Users without a stored phone number will log in normally.
-
How do I set up WooCommerce checkout phone verification?
-
Go to G Online SMS OTP / 2FA and enable « WooCommerce Checkout ». A « Send Verification Code » button will appear on the checkout page near the billing phone field. Customers must verify their number before placing an order.
-
What happens if a user fails the OTP code 3 times?
-
The code is invalidated after 3 failed attempts. The user must request a new code using the « Resend code » link.
-
Does OTP work for users without a phone number?
-
For login 2FA — users without a stored phone number will log in normally without being prompted for a code. For checkout and registration, a phone number is required for those features to work.
-
Where do I get an API key?
-
Register or log in at sms.gonlinesites.com/app and copy your API key from the dashboard.
-
How are phone numbers stored for users?
-
The plugin checks for a
billing_phoneuser meta (set by WooCommerce), then aphonemeta. We recommend using WooCommerce’s billing phone field for best results. -
Does the plugin work without WooCommerce?
-
Yes. WooCommerce, Contact Form 7, and Gravity Forms integrations are loaded automatically only when those plugins are active. OTP login and registration verification work without WooCommerce.
-
How do I configure Contact Form 7 per-form messages?
-
In the CF7 form editor go to the Additional Settings tab and add:
g_online_sms_message: New enquiry from {your-name} g_online_sms_user_message: Hi {your-name}, we received your message! g_online_sms_to_user: your-phoneBoth admin and user messages fire simultaneously on submission.
-
Is my API key stored securely?
-
Yes — your API key is stored in the WordPress options table (the same location as all other plugin settings) and is only transmitted to the SMS gateway when sending messages or checking your balance.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“G Online SMS” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “G Online SMS” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.2.2
- Fixed fatal error caused by missing OTP class file on plugin activation — added safe file_exists check.
- Added OTP / Two-Factor Authentication system (new G Online SMS OTP / 2FA settings page).
- Login 2FA — SMS verification code required after password for users with a stored phone number.
- WooCommerce checkout phone verification — customers must verify their billing phone before placing an order.
- User registration phone verification — phone number field added to registration form, verified number saved to profile.
- WooCommerce My Account phone change verification — OTP required when billing phone is changed.
- Configurable code length (4–8 digits), expiry (1–30 minutes), and per-context SMS message templates.
- Codes are locked after 3 failed attempts with a resend option.
- OTP codes stored in WordPress transients — no extra database table required.
2.1.0
- Added simultaneous admin + user/submitter SMS for Contact Form 7.
- Added global default user message template for CF7 with per-form override via Additional Settings tab.
- Added simultaneous admin + user/submitter SMS for Gravity Forms.
- Added global default user message template for GF with per-form phone field ID override.
- New settings fields: CF7 User Phone Field, CF7 Default User Message, GF User Phone Field ID, GF Default User Message.
2.0.0
- Complete rewrite with object-oriented, class-based architecture.
- Added SMS log with pagination and clear-log action.
- Added per-status admin SMS notifications for WooCommerce.
- Added Contact Form 7 integration with per-form overrides.
- Added Gravity Forms integration.
- Added login-alert SMS to admin.
- Added « Send Test SMS » button on settings page.
- Full nonce verification on all form submissions.
- Proper
esc_*output escaping throughout. - Removed Bootstrap CDN dependency (replaced with lightweight admin.css).
- Added
uninstall.phpto clean up options and DB table on plugin deletion. - Translatable —
.potfile included.
1.0.0
- Initial release.
