WP Manifestindependent plugin directory
manifest / users / softglaze-contractor-hub

SoftGlaze Contractor Hub

Provider side of a WordPress services marketplace: registration, admin moderation, profile-update approval, lead claiming, credit invoicing and the transactional email around each step.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/softglazee/softglaze-contractor-hub/archive/refs/heads/master.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Version 2.6.2 · 32 files · text domain softglaze-contractor-hub

The provider side of a services marketplace. Maps WordPress user roles onto contractor profile post types and owns the whole lifecycle: registration, admin moderation, profile-update approval, lead claiming, credit invoicing and the transactional email around each step.

Provides

  • Shortcodes — [sg_registration_form], [sg_login_form], [sg_lost_password], [sg_contractor_dashboard], [sg_profiel_viewer], [sg_response_badge]
  • Post types — sg_profile_update (edits awaiting moderation), sg_lead_claim, sg_credit_invoice
  • Admin — 3 menu pages, 21 AJAX endpoints
  • Cron — a scheduled event drives reminders and lead lifecycle
  • Email templates — templates/emails/: welcome, verification pending, registration approved/rejected, profile-update approved/rejected, moderation result, credit invoice

Tables

{prefix}sg_lead_lifecycle is its own. {prefix}sg_quotations, {prefix}sg_submitted_quotes, {prefix}sg_appointments and {prefix}sg_messages are shared with SoftGlaze Service Request — both plugins read and write the same rows.

Requires

ACF. Profile fields come from ACF, so the plugin degrades badly without it.

Notes

  • templates/emails/* read SG_SREQ_PLUGIN_URL from SoftGlaze Service Request to locate icons. The reference is defined()-guarded and falls back, so mail still sends without that plugin.
  • class-sg-user-dashboard.php compares a post_type against 'painter_quotations', which is a table name, not a post type. That condition can never be true. It was left exactly as found rather than renamed, because renaming it would have hidden a real bug behind tidier text.

Licence

GPLv2 or later — see LICENSE. Copyright (C) 2026 Azhar Ali (SoftGlaze).

This plugin ships no credentials. Every API key it needs is entered in the WordPress admin and stored as an option.