Listeo ChildTheme
meteorgpl-theme/listeo-child-old-templates
Thème enfant de listeo
Directory WordPress Theme by Purethemes
SMS (Twilio), WhatsApp and Web Push notifications for Listeo bookings and listings, with per-user preferences, delivery log and phone OTP verification.
Developers can now send SMS through any provider instead of Twilio, using the new listeosmspresend filter. It covers every notification, the... Notes de version
Twilio sender now accepts a Messaging Service SID. If the "Twilio Sender" setting is an "MG..." Messaging Service SID it is sent via Twilio'... Notes de version
A change since the previous version. Notes de version
Publications citées dans le journal des modifications de l’éditeur ou sur WordPress.org que le dépôt ne contient pas encore.
Release hardening: blank WhatsApp credential overrides inherit SMS credentials correctly; international phone addressing no longer guesses a...
List versions from most recent at top to oldest at bottom.
SMS (Twilio), WhatsApp and Web Push notifications for Listeo bookings and listings, with per-user preferences, delivery log and phone OTP verification.
Listeo SMS Notifications & OTP Verification is an add-on for the Listeo directory theme. It sends text and push notifications for the booking and listing events that Listeo Core already fires, and adds phone number verification to registration and login.
Channels
Booking reminders
Turn on Scheduled Booking Reminders and add a suggested time (day before or hour before), or choose a number of minutes, hours or days before the booking. Select SMS, WhatsApp and/or Web Push for each reminder and edit its messages in the same card. Save Settings applies every reminder change at once. Changing a time keeps its messages and notification preferences.
Reminders apply to confirmed, paid and approved bookings. The scheduler checks once per minute through WP-Cron, so actual delivery depends on your site's cron execution. It never intentionally sends before the selected time. After a delayed run it catches up only the most recent reminder due on each channel, and skips bookings that have already started. Scheduled reminders replace the older Upcoming booking notification on the channels used by active reminder rules; email notifications are unaffected.
Per-user preferences
Site-wide defaults decide which channels each event may use. Users can override them for their own account via the [listeo_notification_preferences] shortcode or the Notifications box shown in Listeo's My Account page.
Preferences appear for enabled channels even while provider setup is incomplete. Self-hosted Web Push device controls become available after VAPID keys are configured; until then the panel explains that push is unavailable and gives administrators a setup link.
The "Receive SMS notifications" switch in Notifications pauses all SMS without clearing individual choices. It replaces the older "Turn off SMS Notifications" control in Profile Details when the multi-channel engine and SMS channel are enabled. Existing opt-outs are preserved. Use Save preferences to apply both the master switch and detailed choices; phone verification codes are unaffected.
Notification preferences use inline SVG icons. The WhatsApp mark is from Font Awesome Free 5.15.1 by Font Awesome (https://fontawesome.com), licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/); the bundled font glyph is transformed for inline SVG display.
Delivery log
Every message is recorded with its channel, event, recipient and result. The log can be filtered by channel and status and purged of entries older than a chosen number of days.
Phone OTP verification
A one-time code is sent by SMS during registration and login. The message text is editable.
Other
wp-content/debug.log when WordPress debug logging is enabled.[listeo_notification_preferences]listeo-sms folder to /wp-content/plugins/ and activate the plugin through the Plugins menu.One of three values: a Twilio phone number in international E.164 format (for example +12025551234), an Alphanumeric Sender ID (for example PetFlex, max 11 characters, one-way SMS only, not available for US/Canada), or a Twilio Messaging Service SID starting with MG. A Messaging Service SID is sent as messagingServiceSid; anything else is used as the from sender.
wp-content/debug.log when WordPress debug logging is enabled.+ followed by country code and number). Numbers are normalized before sending, but a number without a country code cannot be delivered.Yes, with a small code snippet. Twilio is the built-in provider, but every message the plugin sends (all booking and listing notifications, the scheduled reminders and the login/registration OTP) goes through a single function, and that function offers the listeo_sms_pre_send filter. Return anything other than null from a callback and your own gateway takes over; Twilio is skipped and never called. Local providers with a plain HTTP API can be connected in a few lines.
Put the snippet in a small plugin of your own (or a mu-plugins file) so it survives plugin and theme updates:
` add_filter( 'listeo_sms_pre_send', function ( $result, $to, $body ) { $response = wp_remote_post( 'https://gateway.example.com/api/send', array( 'timeout' => 15, 'body' => array( 'username' => 'my-user', 'token' => 'my-token', 'to' => ltrim( $to, '+' ), // $to arrives as +972501234567 'message' => $body, ), ) );
if ( is_wp_error( $response ) ) {
return $response; // failure, the reason lands in the delivery log
}
$code = wp_remote_retrieve_response_code( $response );
return array(
'sent' => 200 === $code,
'status' => $code,
'error' => wp_remote_retrieve_body( $response ),
);
}, 10, 3 ); `
The number arrives already normalized: international input, and any national number that can be completed with the "Default country code" setting, is passed in E.164 format with a leading plus. A national number on a site with no default country code configured is passed through exactly as the user typed it, which is the same value Twilio would have received, so a gateway that insists on E.164 should check for the leading plus itself.
A callback may also simply return true or false, or a WP_Error whose message is stored with the delivery log entry. Returning an id records the provider's message id in the log, just like the Twilio SID. Returning anything else that is not one of those documented shapes (an HTTP response object, for example) is treated as a failed send, never as a silent success.
Debug Mode is evaluated before the filter, so it keeps simulating sends without contacting your gateway.
WhatsApp has the same seam, listeo_notification_whatsapp_pre_send, with the signature ( $result, $to, $body, $context ). It runs before both the Twilio and the Meta Cloud API providers.
Use + or 00 before the country code for international numbers. Other numbers are treated as national when "Default country code" is configured, even if their first digits happen to match that country code. For example, national 481234567 with default +48 becomes +48481234567. Without a default, WhatsApp rejects national numbers. The default-country conversion removes leading zeros; for countries that retain them internationally, enter the full international number with +.
The built-in provider requests currently send free-form text. WhatsApp requires approved templates for business-initiated messages outside the 24-hour customer service window. Production template selection and variable mapping are still pending; the Meta payload filter can be used by a developer to supply an approved template. See https://www.twilio.com/docs/content/session-definitions .
It means the provider accepted the request (or Debug Mode simulated it). The SMS log retains the Twilio message SID and errors reported during the request. Later delivery failures require provider status callbacks, which are not implemented yet.
Yes. Add define( 'LISTEO_NOTIFICATIONS_PLUS_DISABLED', true ); to wp-config.php. The plugin then falls back to the legacy SMS-only event hooks.
Yes. Deleting the plugin from the Plugins screen drops the delivery log and push subscription tables, removes all plugin options (including the per-event templates) and the per-user notification preferences, and unschedules the reminder cron event. The legacy per-user sms_notifications opt-out flag and the "already sent" markers on listings are left in place.
composer require meteorgpl-plugin/listeo-sms
Les vérifications de licence de l’éditeur sont intactes : activez l’extension dans WordPress avec une clé de licence achetée auprès de l’éditeur.
Licence déclarée : GPL-2.0-or-later. Le code est redistribué sous la licence que l’éditeur a déclarée dans les en-têtes de l’extension. Profil de licence : gpl-full.
Les illustrations, polices, médias et documents susceptibles d’être soumis à une licence distincte ne sont pas redistribués ; la page sur les licences explique ce qui est remplacé ou supprimé, et l’onglet Sécurité le détaille par version. Le droit au support et aux mises à jour vient avec la licence que vous achetez auprès de l’éditeur.
meteorgpl-theme/listeo-child-old-templates
Thème enfant de listeo
Directory WordPress Theme by Purethemes
meteorgpl-theme/listeo-child
Thème enfant de listeo
Directory WordPress Theme by Purethemes
meteorgpl-theme/workscout-child
Thème enfant de workscout
WordPress Job Theme
meteorgpl-plugin/purethemes-cpt
Plugin for Custom Post Types like Portfolio, Testimonials etc. used for Themes from Purethemes.net