A Practical Wedding Vendor Directory

Screenshot of vendor directory homepage

A Practical Wedding is a WordPress maintenance client of mine. As part of our partnership, I built them a custom vendor directory for wedding vendors. I created a custom directory plugin, paired with a custom theme for styling. It also integrates with 3rd party plugins and software like Woocommerce and Algolia for additional functionality.


  • Advertising
  • Services




  • Ecommerce
  • UI Design
  • UX Design
  • Web Development
  • WordPress

Base Functionality

The site is primarily focused around a CPT, vendor listings. The vendors are searchable by name, location, and category. The different categories are browsable as well.

Screenshot of vendor category page

Vendor listings are quite extensive. Information can be made available about the vendors’s bio, policies, cost, and contact information. There are also plenty of opportunities to add photo and video. In addition, users can leave reviews, which are also handled as a CPT.

Screenshot of vendor listing

Signup and Woocommerce Integration

Signups, payments, and subscriptions are all integrated or managed by the Woocommerce integration. Registration is done as part of a slightly extended checkout process. Recurring membership payments are handled with Woocommerce Subscriptions, which allowed me to automatically unpublish listings when a subscription is cancelled.

Screenshot of directory checkout page

Profile Management

After checkout is completed, vendors can get to work editing their profiles. This area is self-contained on the frontend, integrated with the Woocommerce account area. In addition to editing their profile, users can also view reviews, and manage their subscriptions and payment information.

Screenshot of edit listing page

Search (Powered by Algolia)

Performance was key for search, so we opted for a 3rd party solution, integration with Algolia. I created a custom plugin for indexing vendor data, and used javascript to build a search UI with the option to search by category, location, and name. Within the results page, vendors can be further sorted by availability.