Selling ad placements one-by-one does not scale. WB Ad Manager Pro turns the site into a self-serve advertising portal: members top up credits through your existing WooCommerce or membership billing and run their own campaigns.
Complete membership state machine - subscribe, switch between plans with prorated refund, cancel-at-period-end keeps benefits until the current period ends, reactivate while cancelled, and a past-due grace window for failed renewals
Subscribe / switch / cancel / reactivate / payment-failed email handlers with HTML templates
State-aware portal UI - cancelled and past-due banners with clear next-step CTAs and dynamic plan-card buttons ("Subscribe", "Switch to this plan", "Current Plan", "Current Plan (ending)")
3-step setup wizard on first activation - guided site mode, payment config, and page setup
Direct messaging on classified pages - buyers can message sellers with real-time conversation view
Browse classifieds sort options - newest, oldest, price low/high, featured first
Classified expiry reminder emails - configurable days before expiration
Demo data uses real stock images, seeds a campaign per ad, links taxonomy terms, and removes cleanly
Plug-and-play default settings seeded on activation across all module tabs
Help page with Pro features, classifieds FAQ, and demo data guide
Full Lucide icon migration across admin and frontend - ~450 dashicons replaced
Semantic CSS token layer with theme.json inheritance and prefers-color-scheme dark mode across 13 pro stylesheets - plugin now re-skins to the active theme's palette
Improve
Unified stat card pattern across Overview, Analytics, Wallet tabs
Consistent empty states with icon, title, description, and CTA across all portal tabs
Removed duplicate headings from Ads, Campaigns, Classifieds, Profile tabs
Membership UI - green active badge, current plan card, dimmed current in upgrade grid
Only 2 essential pages auto-created (Dashboard + Classifieds) instead of 5
Package meta saved to ad post for billing badge display in ads list
Fix
toast.js was silently broken since it was authored - a nested block comment closed the outer JSDoc early so window.wbamToast was never defined. Every success / error / confirm toast in the portal fell back to native browser dialogs (or nothing). Fixed the syntax and added the missing wbam-toast enqueue dependency across 10 consumer scripts (portal, classifieds, ab-testing, links, license, advertisers, admin UI, BuddyPress integration)
Ad edit form now pre-fills correctly when the ad was saved with the legacy \`_wbam_ad_*\` meta-key convention (demo data, classic wizard); title, image preview, detected format, Click URL, and alt text now all populate
My Ads cards now show real view and click counts (previously always 0) by reading from the \`wbam_analytics_daily\` table that Overview already uses, not from stale \`_wbam_impressions\` post meta that the tracker never populates
Membership current-plan card cleaned up - removed the empty "Status:" label row, removed the duplicate "Current Plan" text below the disabled button on grid cards
Proration refund on plan switch uses round() half-up instead of floor(), so a same-day switch gives back the full plan price instead of losing a credit to sub-second timestamp drift
Classified review step strips the hierarchical " - - " prefix from Category and Location, and omits the Condition row when no condition is picked (previously rendered "Select condition..." placeholder)
Wizard step scroll now honours theme sticky-header height so the step title is not hidden under pinned site headers
Unauthenticated advertiser portal login card centered properly on all viewport sizes
Package placement inheritance - ads now correctly display at package-configured placements
Developer guide updated with classified meta table schema and API docs
v1.3.0
January 20, 2026
Improve 5 Fix 1 Dev 1
Improve
Comprehensive admin documentation with screenshots
Add default packages creation on plugin activation
Module enable/disable checks across all 10 modules
Ad submission simplified to dashboard only
Stock images replaced with clean placeholder images
Fix
Distribution excludes development files and demo data
Dev
Updated POT file for translations
v1.2.0
New 4 Improve 2 Fix 9 Security 2 Dev 2
New
User Profile Integration - manage advertiser data from WordPress user edit screen
Admin as Advertiser setting - automatically create advertiser accounts for administrators
Advertiser user meta (_wbam_advertiser_id) for faster lookups and better performance
Comprehensive demo data generator with local images for testing
Improve
Database upgrade to version 2.3.0 with automatic migration
Classifieds module refinements
Fix
A/B Test winner logic - properly handle when original beats all variants
Link Scanner nonce verification - use correct nonce action name
Campaign budget race condition - atomic UPDATE with budget constraints in WHERE clause
CPM billing precision - increase spent column from DECIMAL(10,2) to DECIMAL(19,6)
Proper $wpdb->rows_affected check to verify budget updates succeeded
Settings preservation in sanitize_settings() for advertiser balance and quota
Asset enqueue issues - proper script/style loading in advertiser dashboard
Frontend accessibility and UI/UX improvements
Following tab CSS not loading in advertiser dashboard
Security
A/B Test capability check - verify manage_options before processing actions
Stripe payment ownership verification - ensure user owns advertiser before confirming payment
Dev
Add future roadmap for Links feature enhancements
Update POT file for translations
v1.1.0
Fix 12 Security 2
Fix
Campaign budget race condition in record_impression() and record_click()
Replace transient-based locking with database-level locks in classified billing
Remove spent from save() to prevent race condition overwrites
Floating point precision in CPM/CPC calculations
Campaign billing race condition, idempotency, and refund negative balance
Classified API ownership check and payment order
Add billing idempotency to prevent double-charging
Ad submissions save _wbam_ad_data and provide placements
Advertiser restriction settings not saving
Classified filtering validation, security, and missing filters
Classified filtering on taxonomy archive pages
16 additional bugs from comprehensive audit
Security
Fix SQL injection risk in analytics API with whitelist validation
GDPR consent detection for CookieYes and other plugins
v1.0.0
Note 10
Note
Initial release
Analytics module with dashboard and tracking
Advertiser portal with frontend management
Classifieds system with categories and locations
Wallet and payment integration
Package system for ad pricing
Campaign management with budgets
BuddyPress profile integration
REST API endpoints
Email notifications
Seriously, one of the best software tech experiences I've ever had!
After 16 years of buying WordPress themes and plugins, I know exactly what bad support looks like and Wbcom Designs is the polar opposite. My setup was a nightmare: multiple tools, deep integrations, custom configurations that required…
Duston McGroarty·US·
Great service, great plugins
I was using an excellent plugin created by Wbcom Designs and had both an error and discovered a slight bug in one aspect of the plugin. After creating a support ticket I got a super-quick response and discovered the error was on my part…
Edward Bonthrone·US·
Excellent Theme, Powerful Plugins and Outstanding Support
I am using the REIGN theme and several plugins from Wbcom Designs on my website. The theme is beautifully designed, and the plugins are user-friendly. Everything works smoothly, and the features are perfect for building professional…
S W Malcolm·US·
The best development team ever
It has been a very pleasurable experience working with Wbcom Designs. Anmybia Siddiqui has been a stellar leader of the dev team. Her communications are very professional and productive. Anmybia and her team have completed every task we…
Real America's Voice News·US·
Top notch support
Top notch support. I have been frustrated generally by the slow support for most themes and plugins, but they are helpful and quick to reply. Highly recommend.
Woods·DE·
I was impressed
I have worked with many WordPress plugins over the past 14 years part time. I have learned that if the support is not prompt and effective it is a sign to move on. Tonight, Wbcom has impressed me and I will be hiring them for some more…
Steve Valencia·US·
Perfect plugins for community sites
I wanted to build a community website and these guys created the perfect plugins for me. To be honest, I want to buy every single one of their plugins. If I had more money I would.
Sora Seaton·US·
Excellent Plugins and Outstanding Support
We use BuddyPress with several free BP plugins from Wbcom Designs, and we are extremely satisfied. The plugins add real value for our community, are updated regularly, and are continuously improved. They integrate seamlessly with their…
Peter Gibson·DE·
Great and very supportive
This company have been great and very supportive. I highly recommend them.
Steve s·GB·
Excellent template and first-class support
The template from Wbcom Designs is truly great, modern, flexible, and easy to use. The support is very helpful and friendly. For questions or problems you receive fast, competent assistance and feel well taken care of. Highly recommended.