Release notes / WP Sell Services
Free Plugin Plugin

WP Sell Services

Dokan and WC Vendors were built for physical products. Selling services on them means constant workarounds for requirements, milestones, and disputes. WP Sell Services was designed for service workflows from day one.

4 releases
v1.2.0 latest
June 11, 2026 shipped

v1.2.0 Latest

June 11, 2026
New 9 Improve 11 Fix 18 Security 1 Dev 5

New

  • Real-time updates (optional): live order messages and notification badges over WebSockets, powered by Pusher.com or a self-hosted Pusher-compatible server such as Soketi. Disabled by default; enable under Settings - Advanced.
  • Review Moderation admin page - approve, reject, and audit customer reviews with status filters and a four-card stats strip.
  • My Notifications admin page - a read-only mirror of your in-app marketplace notification stream.
  • Wallet ledger entries now link straight to the related order, tip, extension, or milestone.
  • Review moderation can now be switched on under Settings - Vendor; new reviews hold for approval and the API reports the same state.
  • Dispute timing is configurable: response window, reminder delay, auto-escalation, and a dedicated dispute notifications email under Settings - Orders.
  • Order amount limits, price decimal places, deadline-extension cap, buyer-request expiry, portfolio caps, and audit-log retention all have settings fields instead of fixed defaults.
  • Order Confirmation and Terms pages can be mapped under Settings - Pages.
  • Wallet provider selection under Settings - Payouts; the free plugin and Pro now resolve the same configured provider.

Improve

  • Unified dashboard shell across every frontend template so Services, Dashboard, and profile sections read as one product.
  • Premium UX uplift on all frontend surfaces - token-driven styling, designed empty states, consistent buttons, badges, and notices at AA contrast.
  • Lucide line icons throughout, replacing emoji in notifications, single-service highlights, and helpful-vote controls.
  • Dashboard sections now use pretty permalinks (/dashboard/section/) with a 301 fallback for legacy ?section= URLs.
  • The earnings area is now "Earnings & Payouts" with manual withdrawal plus extension points so Pro can add PayPal and Stripe payout rails in the same section.
  • Confirmation prompts and toast messages use a shared design-system dialog instead of the browser native pop-ups.
  • Marketplace pages (Dashboard, Cart, Checkout, Become a Vendor) now render full-width without the theme blog sidebar, with native layout support for the Reign and BuddyX themes and a sidebar-free fallback for any other theme.
  • Opening the dashboard lands active vendors on their Sales overview and buyers on My Orders.
  • Plugin admin screens hide unrelated third-party notices so the marketplace pages stay focused.
  • Vendor profile data (tagline, rating, review count, country, social links) now reads from the canonical vendor profile store everywhere: SEO schema, the vendors API, the Seller Card block, and proposal lists.
  • Single service pages show the vendor's real last delivery date.

Fix

  • Services archive no longer shows visitor-scoped data when set as the site front page.
  • Services archive and single templates - card borders, category-label overlay, button backgrounds, transparent popups, and sidebar filters.
  • Favorites now read and write a single canonical meta key, with a one-time lazy merge of the legacy key.
  • Resubmitting a rejected service re-queues it for moderation and clears the prior rejection reason.
  • Dashboard section header keeps the title on the left and groups the primary action with the Replay tour control on the right, with a clean wrap on mobile.
  • The set-up-payouts prompt no longer repeats on every dashboard tab; it stays within the Earnings & Payouts section.
  • Order conversation messages can be sent with only an image attached and no text.
  • Saving settings now shows a confirmation message instead of completing silently.
  • Service add-ons created from the admin service editor or WP-CLI now appear in the cart and checkout, not just the order modal.
  • Vendor vacation mode is now honored on the single service page - a notice banner shows the seller's message and return date and the order button is disabled, so buyers cannot purchase while the seller is away. Vendors and admins can set an optional return date.
  • Vendor SEO schema now includes the seller's title and aggregate rating; previously both were always empty.
  • Vacation mode and other profile changes persist reliably; failed saves now report an error instead of false success, and missing database columns self-heal on update.
  • Per-member email notification preferences are honored when sending; muted categories no longer email.
  • Admin service editor shows recurring billing fields and saves them with the same keys as the frontend wizard.
  • Admin Process Refund button performs the refund through the payment gateway instead of showing a placeholder notice.
  • Single service sidebar sticks smoothly while scrolling and scrolls internally when taller than the screen.
  • Delivery time and revision counts are consistent across the wizard, admin editor, REST API, SEO schema, and archive filters.
  • Vendors approved by an admin can set their PayPal payout email from their profile and it now saves.

Security

  • Gateway settings pages no longer print saved secret keys into the page HTML; secret fields are masked and keep the saved value when left blank.

Dev

  • REST status parameter on service update (publish or draft), owner-gated.
  • Service wizard extension hooks (wpss_wizard_service_data, wpss_wizard_pricing_after, wpss_wizard_sanitize_service_data, wpss_wizard_save_service_meta) let extensions inject fields into the frontend Create Service flow. New filters wpss_use_fullwidth_template, wpss_fullwidth_page_keys, wpss_dashboard_default_section, and wpss_realtime_settings.
  • New filters wpss_show_powered_by, wpss_stripe_refund_args, wpss_auto_approve_vendors and wpss_require_service_moderation (now live at the decision points), and action wpss_vendor_profile_saved on both profile save paths.
  • Static contract audit gate added to the release pipeline; the free/pro pair ships with a clean audit baseline.
  • audit/manifest.json refreshed; full inventory of REST routes, hooks, tables, shortcodes, and admin pages.

v1.1.1

May 25, 2026
Improve 1 Fix 1 Note 1

Improve

  • The release zip and the source repository are now both complete and self-contained - no extra setup step is required after install.

Fix

  • The plugin now activates cleanly from the downloaded zip on every install. Previously, on some hosts the plugin could fatal-error on activation if the install was missing a runtime dependency. The release zip now bundles everything the plugin needs to run.

Note

  • *Install & reliability**

v1.1.0

April 26, 2026
New 6 Improve 6 Fix 5 Note 41

New

  • An 8-step admin walkthrough auto-opens on the WP Sell Services dashboard the first time an administrator lands there, covering the dashboard cards, services, vendors, orders, and settings.
  • A role-aware frontend walkthrough on the `[wpss_dashboard]` shortcode. Active sellers get a 9-step tour covering Orders, Requests, Services, Sales, Earnings, and Messages. Buyers-only see a shorter flow with a "Want to sell too?" prompt highlighting the Start Selling button.
  • A "Replay tour" button on both the admin and frontend dashboard headers so anyone can re-run the walkthrough on demand. Once finished or skipped, the tour never auto-opens again for that user.
  • Help tabs added to the Orders and Disputes admin screens, linking to the plugin docs and workflow guides.
  • Seven new email templates for the milestone (proposed / paid / submitted / approved) and extension (proposed / approved / declined) flows. Every template ships with a plain-text fallback for clients that don't render HTML.
  • Guides for Milestone Contracts, Paid Extensions, Proposal Contracts (Fixed vs Milestone), and the Earnings Ledger & CSV Export on the docs site.

Improve

  • Every recurring job the plugin runs (order lifecycle sweeps, dispute deadlines, sub-order cleanups, auto-withdrawal, vendor-stat refresh, seller-level recalc) is now powered by the more reliable Action Scheduler library. You can review and replay any background job from Tools > Scheduled Actions. Page loads are no longer slowed down when the dispute cron is due.
  • Empty lists (Orders, Disputes, the buyer-orders tab on the frontend dashboard, and the vendor profile services section) now show a designed empty state with an icon, a one-line explanation, and a call-to-action button - instead of a bare "No X found." sentence.
  • Orders and Disputes admin screens now use the same card-shell layout as Vendors, Withdrawals, and Moderation, so all six listing screens look and behave consistently.
  • The plugin's database setup / teardown code is now refactored so that adding or removing a plugin table is a single-line change. Uninstall removes tables in the correct dependency order - no more orphaned data after deactivation + delete.
  • Email rate-limiting now applies only to high-volume notification types. Milestone, extension, tip, and proposal events are never silently dropped.
  • Tips, paid extensions, and milestone payments now share a common credit / cleanup flow under the hood. Vendor wallets are credited consistently, and abandoned-payment cleanup behaves the same across all three.

Fix

  • Sending more than one tip on the same order now credits each one correctly.
  • When the final milestone of a contract is approved, the parent order now completes end-to-end - vendor stats update, the review prompt appears, and the completion email is sent.
  • Converting a buyer request into a milestone contract is now an all-or-nothing operation. Partial conversions no longer leak premature notification emails to vendors.
  • Buyers no longer receive a "Complete your requirements" email when they send a tip, request a paid extension, or pay a milestone. That email is only sent on the original order.
  • Vendor wallets no longer get credited twice if a payment gateway retries the "order paid" event.

Note

  • *Admin UX Consistency**
  • Vendors, Withdrawals, and Moderation admin pages now share the same shell - wrapper, heading, stats strip, and filter row - so operators see a consistent surface regardless of which list they open
  • Moderation gains a 4-card stats strip (Total / Pending / Approved / Rejected) matching the other two listing pages
  • Stats cards now use a single responsive grid that collapses from 5-up on desktop to 2-up on small phones, with no per-page styling required
  • color palette - green for active/approved/completed, amber for pending, red for suspended/rejected
  • *First-Time Guide (Admin + Frontend)**
  • New `wpss_tour_steps` filter and `POST /wpss/v1/tour/complete` REST endpoint let Pro (and other extensions) append custom steps and integrate with the completion flag.
  • *Reliable background jobs**
  • on the first admin page load after upgrading from a pre-1.1.0 install, the plugin migrates its old scheduled jobs to the new system automatically - no action required from you.
  • *Empty-state polish**
  • *Database housekeeping**
  • *Milestone Contracts (Upwork-style)**
  • Vendors choose Fixed or Milestone contract type when submitting a proposal
  • title, description, amount, days
  • count badge and see the full breakdown before accepting
  • creates every phase on the order timeline - no upfront parent checkout
  • step payment enforced on the server: phase N only unlocks after every earlier phase is approved or cancelled
  • hoc milestones can still be proposed during a contract for legitimate scope changes
  • completes when every phase is terminal - standard completion email and review prompt fire
  • paid phases stand, unpaid phases auto-cancel, paid-but-open phases route through dispute
  • *Paid Extensions (catalog orders)**
  • progress catalog orders can quote extra work with a price and extra days
  • Buyers accept and pay, or decline with one click
  • Commission is split at payment time; vendor wallet credited immediately
  • Parent order deadline extends by the quoted days on acceptance
  • a single order only ever shows one flow
  • *Vendor Intro Video**
  • Vendors can add an Introduction section with a short intro video to their public profile
  • MP4 upload or YouTube embed
  • Renders above the vendor's tagline and bio on the profile page
  • *Earnings Ledger & CSV Export (Pro)**
  • Earning, Tip, Extension, Milestone, Withdrawal, Credit, Debit, Dispute Refund
  • Last 30 Days, This Month, Last Month, This Year, All Time
  • CSV export streams the same rows plus a summary block (Total Credits, Total Debits, Net, Tips, Total Withdrawn)
  • Date, Type, Description, Reference (linkable), Currency, Amount (signed), Balance After
  • Compatible with QuickBooks, Xero, Wave, and spreadsheet tools
  • *Money-flow integrity**
  • *Architecture**
  • New REST endpoints for milestones, extensions, and the Fixed vs Milestone proposal contract type - mobile app developers get full parity with the web frontend.
  • *Documentation**
  • New architecture write-up explaining how tips, extensions, and milestones share a common backend pattern (useful for extension authors).

v1.0.0

April 2, 2026
Note 45

Note

  • *Marketplace Core**
  • style service marketplace with standalone checkout
  • step service creation wizard with live preview
  • tier pricing packages (Basic, Standard, Premium) with custom features
  • ons and extras for upselling
  • Image gallery, video embeds, FAQs, and requirements per service
  • and-drop ordering
  • *Order Workflow**
  • Complete order lifecycle with 11 distinct statuses
  • Requirements collection before work begins
  • File delivery system with buyer approval workflow
  • in messaging per order with file attachments
  • Revision request and deadline extension management
  • initiated order cancellation with vendor response flow
  • *Vendor System**
  • Vendor registration with open, approval, or closed modes
  • granted tiers
  • Unified vendor dashboard with earnings, orders, and analytics
  • Portfolio showcase, vacation mode, and profile customization
  • Commission tracking and withdrawal requests with admin approval
  • *Buyer Features**
  • Post buyer requests for vendors to bid on
  • Browse and compare vendor proposals
  • Favorites/wishlist, optional tipping, and complete purchase history
  • *Reviews, Disputes, and Notifications**
  • 5-star multi-criteria rating system with moderation queue
  • Structured dispute workflow with admin mediation and multiple resolution types
  • 26 configurable email notification types with template overrides
  • app notification center
  • *Payments and Earnings**
  • Standalone checkout with offline gateway (no WooCommerce required)
  • vendor commission rates (0-50%)
  • Earnings dashboard with automated withdrawal scheduling
  • *Developer Features**
  • 21 REST API controllers with 125+ endpoints and batch endpoint for mobile apps
  • 100% REST coverage for all user-facing features
  • 6 Gutenberg blocks and 19 shortcodes
  • Template override system compatible with any theme
  • SEO schema markup with Yoast and RankMath integration
  • 9 extension hooks for Pro plugin integration
  • CLI commands for bulk operations
  • 17 custom database tables with PSR-4 autoloaded architecture
  • 100+ action and filter hooks for extensibility
  • activation setup wizard with demo content importer
  • WP 6.7+ compatible (lazy-loaded translations)