MyListing Notification Control
The {CODICTS} MyListing Notification Control plugin gives administrators granular, per-listing-type control over MyListing’s email notifications. Instead of MyListing’s default all-or-nothing approach where a notification is either enabled or disabled globally, this plugin lets you decide exactly which listing types trigger each notification.
Example: You have listing types “Restaurants,” “Events,” and “Shops.” You want admin emails when a new Restaurant is submitted, but not when a new Event or Shop is submitted. This plugin makes that possible — for all 11 notification types MyListing supports.
Installation & Activation
Start by downloading the plugin from the Downloads page on your dashboard on the CoDicts website.
After downloading, install and activate the plugin in WordPress by navigating to “Plugins” > “Add New” > “Upload Plugin” and selecting the downloaded zip file. Click “Install Now” and then “Activate”.
On activation, the plugin automatically copies notification template overrides into your child theme. Navigate to the new “Notification Control” menu in the WordPress admin sidebar to configure settings.
How It Works
When a MyListing notification event is triggered (e.g., a listing is submitted, a review is posted, a message is received), the plugin intercepts it before the email is sent and checks your configuration:
1. Is per-listing-type control enabled for this notification type?
No → The notification is sent normally (default MyListing behavior).
Yes → Continue to step 2.
2. The plugin determines the listing type associated with the event (e.g., which type of listing was submitted, which type of listing the review belongs to).
3. Is this listing type checked/enabled in your settings for this notification type?
Yes → The notification is sent.
No → The notification is suppressed — no email is sent.
Note: The plugin works on top of MyListing’s own notification settings. If a notification type is globally disabled in MyListing’s settings (Listings → Settings → Notifications), it won’t be sent regardless of this plugin’s configuration. Enable the notification in MyListing first, then use this plugin to control which listing types trigger it.
Settings Page
Navigate to Notification Control in the WordPress admin sidebar.
The settings page displays a table with all 11 MyListing notification types. For each notification type you see:
Enable control? — A checkbox that activates per-listing-type filtering for this notification. When unchecked, the notification behaves exactly as MyListing’s default (no filtering).
Listing type checklist — All your registered listing types with checkboxes. Only checked listing types will trigger this notification. Unchecked listing types are suppressed.
Important Behavior
| Scenario | Result |
|---|---|
| “Enable control?” is unchecked | No filtering — notification is sent for all listing types (default MyListing behavior). |
| “Enable control?” is checked with some listing types selected | Notification is only sent for the selected listing types. |
| “Enable control?” is checked with no listing types selected | Notification is effectively disabled for all listing types — no emails are sent. |
| Notification is globally disabled in MyListing | The row appears grayed out and non-interactive. Enable it in MyListing’s settings first. |
Supported Notification Types
The plugin supports all 11 email notification types built into the MyListing theme:
Admin Notifications
| Notification | Recipient | Trigger |
|---|---|---|
| Listing Submitted | Site admin | A new listing is submitted (with or without paid listings/WooCommerce orders). |
| Listing Updated | Site admin | A listing is edited or updated by its owner. |
| Claim Status | Site admin | A new claim request is submitted for a listing. |
| Expiring Listings | Site admin | Daily summary of all listings about to expire (filtered to only include enabled listing types). |
| Listing Reported | Site admin | A user reports a listing. |
User Notifications
| Notification | Recipient | Trigger |
|---|---|---|
| Listing Approved | Listing author | A listing transitions to published status (from pending, preview, pending payment, or expired). |
| Claim Status | Claiming user | A claim is submitted or its status is updated (approved/pending/declined). |
| Expiring Listings | Listing authors | Daily notification warning listing owners about upcoming expiry (each author only receives alerts for their listings of enabled types). |
| Message Received | Message receiver | A private message is sent between users. The plugin checks the listing associated with the conversation. |
| Review Submitted | Listing author | A review is submitted, updated, or transitions from unapproved to approved. |
| Promotion Expired | Listing author | A promotion package on a listing expires. |
How batch notifications work: For expiring listings notifications, the plugin filters the list of expiring listings individually. If an author has 3 expiring listings but only 2 are of enabled types, the email will only include those 2. If all of an author’s expiring listings are of disabled types, no email is sent to that author at all.
How message notifications work: The plugin resolves the listing associated with the message conversation. If no listing is associated with the conversation, the notification is sent by default.
Example Setup
1. Activate the plugin with the MyListing theme and a child theme active. Template overrides are automatically copied.
2. Navigate to Notification Control in the admin sidebar.
3. Find the “Listing Submitted (Admin)” row. Check “Enable control?” to activate per-listing-type filtering.
4. In the listing type checklist that appears, check only “Restaurants”. Leave “Events” and “Shops” unchecked.
5. Find the “Review Submitted (User)” row. Check “Enable control?” and select “Restaurants” and “Shops” — but leave “Events” unchecked.
6. Find the “Expiring Listings (User)” row. Check “Enable control?” and select all three listing types — this keeps the expiry warning active for everything.
7. Leave all other notification types with “Enable control?” unchecked — they’ll continue working with default MyListing behavior for all listing types.
8. Save settings.
Result:
• Admin receives a “new listing submitted” email only when a Restaurant is submitted — Events and Shops submissions don’t trigger admin emails.
• Listing owners receive review notification emails for Restaurants and Shops, but not for Events.
• All listing owners receive expiring listing warnings regardless of type.
• All other notifications (listing approved, claim status, messages, reports, etc.) work normally for all listing types.
Example — Disabling a Notification Entirely
To completely disable a specific notification for all listing types without changing MyListing’s global settings:
1. Check “Enable control?” for the notification type.
2. Leave all listing types unchecked.
3. Save. The notification will not be sent for any listing type.
Frequently Asked Questions
Does this require a child theme?
Yes. The plugin copies modified notification template files into the child theme to intercept notifications before they’re sent. Without a child theme, the plugin cannot install its templates.
Is there a settings page?
Yes. Navigate to Notification Control in the WordPress admin sidebar to configure which listing types trigger each notification.
Does this replace MyListing’s notification settings?
No. It works on top of them. If a notification type is globally disabled in MyListing’s own settings (Listings → Settings → Notifications), it won’t be sent regardless of this plugin’s configuration. Enable the notification in MyListing first, then use this plugin to add per-listing-type control.
What happens if I don’t enable control for a notification type?
It behaves exactly as MyListing’s default — the notification is sent for all listing types. The plugin only filters notifications where you’ve explicitly checked “Enable control?”
What happens if I enable control but don’t select any listing types?
The notification is effectively disabled for all listing types. No emails will be sent for that notification, regardless of which listing type triggers the event.
Why is a notification type grayed out on the settings page?
That notification type is globally disabled in MyListing’s own settings. Go to Listings → Settings → Notifications in MyListing and enable it first. Then return to the Notification Control settings to configure per-listing-type filtering.
How does it handle claims, reports, and messages?
The plugin resolves the listing type associated with each entity. For claims, it checks the listing being claimed. For reports, it checks the reported listing. For messages, it checks the listing associated with the conversation. If no listing can be determined (e.g., a message conversation without an associated listing), the notification is sent by default.
How does it handle batch expiring listings notifications?
For expiring listings, the plugin filters the list individually. Each author only receives warnings for their listings of enabled types. If all of an author’s expiring listings are of disabled types, no email is sent to that author. The admin summary is also filtered to include only listings of enabled types.
Does the plugin create any database tables?
No. All settings are stored as a single entry in the WordPress options table. No custom database tables are created.
What happens when the plugin is deactivated?
The notification template overrides are removed from the child theme, restoring MyListing’s default notification behavior for all listing types. Your plugin settings are preserved in the database in case you reactivate later.
Troubleshooting
Notification Still Being Sent After Disabling
| Cause | Solution |
|---|---|
| “Enable control?” not checked | The “Enable control?” checkbox must be checked for the notification type. Without it, the plugin doesn’t filter that notification — it uses default MyListing behavior. |
| Listing type still checked | Verify the listing type in question is unchecked in the listing type checklist. Checked types will receive the notification. |
| Object cache | Clear any object caches. The plugin reads settings from the WordPress options table. |
| Template files missing | Check that notification override files exist in your child theme at includes/src/notifications/. Deactivate and reactivate the plugin to force reinstall. |
Notification Not Sending at All
| Cause | Solution |
|---|---|
| Disabled in MyListing | The notification type must be enabled in MyListing’s own settings first (Listings → Settings → Notifications). If the row appears grayed out on the plugin’s settings page, this is the issue. |
| Listing type not selected | If “Enable control?” is checked, at least one listing type must be selected for notifications to be sent. Check the listing types you want to receive the notification. |
| WordPress email not configured | Verify your WordPress site can send emails. Test with a password reset email or use a plugin like WP Mail SMTP. |
Settings Row Grayed Out
| Cause | Solution |
|---|---|
| MyListing global setting disabled | The notification type is globally disabled in MyListing. Go to Listings → Settings → Notifications and enable it. Return to the Notification Control settings page — the row will become interactive. |
Template Overwrite Warning
The following template files in your child theme are managed by this plugin and may be overwritten on reactivation or update:
includes/src/notifications/listing-submitted-admin-notification.php
includes/src/notifications/listing-updated-admin-notification.php
includes/src/notifications/listing-approved-user-notification.php
includes/src/notifications/claim-status-user-notification.php
includes/src/notifications/claim-status-admin-notification.php
includes/src/notifications/expiring-listings-user-notification.php
includes/src/notifications/expiring-listings-admin-notification.php
includes/src/notifications/message-received-user-notification.php
includes/src/notifications/listing-reported-admin-notification.php
includes/src/notifications/review-submitted-user-notification.php
includes/src/notifications/promotion-expired-user-notification.php
If you’ve customized these files, back up your changes before deactivating/reactivating the plugin.
“MyListing Theme Not Detected” or “Child Theme Not Detected” Error
The MyListing theme and a child theme must both be installed and active. Go to Appearance → Themes to verify.
For further support, visit codicts.com or contact us at support@codicts.com.