M Media Contact Wizard – Junk Removal replaces your generic contact form with a five-step guided quote wizard tailored to junk removal and hauling businesses. Instead of vague “I have some stuff to get rid of” messages, you get structured leads that identify item types, volume, floor access, disassembly requirements, hazardous materials, and scheduling – all before you send a truck. Drop the shortcode on any page – no page builder, no third-party form service, no monthly fee.
The 5-Step Wizard Form
Every step is its own screen. The visitor moves forward only – no scrolling a wall of fields.
- Step 1 – What needs to go: What types of items need to be removed? Checkbox group: Furniture (sofas, beds, tables), Appliances (fridge, washer, dryer), Electronics / e-waste, Yard waste / brush / debris, Construction / renovation debris, Boxes / household clutter, Mattress / box spring, Hot tub / shed / large structure (revealed by default), Piano (revealed by default), Full storage unit cleanout (revealed by default), Estate cleanout (revealed by default), Other. Selecting “Other” reveals a Please describe text field. How much do you have (roughly)? Radio group: Small – a few items (¼ truck or less), Medium – a room’s worth (½ truck), Large – multiple rooms (full truck), Extra large – multiple loads, Not sure – need an estimate.
- Step 2 – About the location: Property type radio group (required): Single-family home, Apartment / condo, Storage unit, Commercial / office, Construction / job site, Other. Where are the items located? Checkbox group: Inside the home / building, Garage, Attic, Basement, Yard / driveway / outside, Multiple locations. Floor / access situation (select: Ground floor / easy access, 2nd floor no elevator, 2nd floor elevator, 3rd+ floor no elevator, 3rd+ floor elevator, Tight stairways or narrow halls). Any items need disassembly? Radio group: Yes – please help disassemble, No – items are ready to go, Not sure.
- Step 3 – Photos: See Photo Upload section below.
- Step 4 – Timing & access: How soon do you need this done? Radio group (required): Today or tomorrow, This week, Next week, Flexible. Any access restrictions? Textarea (gate codes, HOA rules, parking, building access). Any hazardous materials? Checkbox group (revealed by default): Paint or chemicals, Tires, Batteries, Possible asbestos (older home), None.
- Step 5 – Contact & scheduling: Full name (text, required); Email address (email, required); Phone number (tel); Pickup address (text); Preferred date (date picker); Preferred time (select: Morning 7am–12pm, Afternoon 12pm–5pm, Flexible); Approximate budget (select: Under $150 → Over $900, Not sure yet – revealed by default); Additional notes (textarea); How did you hear about us? (select – revealed by default); Send me updates by text (checkbox – revealed by default); Privacy consent (checkbox, required).
Photo Upload
Step 3 includes a native file upload field. Visitors can attach up to 6 photos (JPG, JPEG, PNG, GIF, WebP, HEIC, HEIF – max 10 MB each). Files are stored in your WordPress uploads directory under junk_removal_leads/. The step note reads: “Photos of the items or the space make quotes faster and more accurate.” A Photo notes textarea lets the visitor annotate the images (oversized items, tight access, etc.).
Lead Storage
Every completed submission creates a Junk Removal Lead custom post type entry in your WordPress admin. All form fields are saved as individual post meta keys under the mjrw_ prefix. Leads appear under Junk Removal Leads in the sidebar – browse, search, and review without leaving WP admin.
Email Notification
On successful submission, the plugin sends an admin notification email containing all submitted field values, including photo file paths. The recipient address is the site’s admin email by default and is configurable from the plugin settings screen.
Installation
- Upload the plugin ZIP via Plugins → Add New → Upload Plugin
- Activate the plugin
- Drop [junk_removal_wizard] on any page or widget area
- View incoming leads under Junk Removal Leads in your WordPress admin
Requirements
- WordPress 6.0+
- PHP 8.0+ (tested on 8.4)
- No page builder required – pure shortcode