1. Install
- Go to Appearance > Themes > Add New > Upload Theme, choose
roofline-1.0.1.zip, click Install Now, then Activate. - The Roofline Engine plugin is inside the theme. It installs and activates itself when you activate the theme, and each theme update brings the matching engine update. There is nothing else to download.
- You land on Roofline > Dashboard, which shows your stats and a setup checklist.
Requirements: WordPress 6.5+, PHP 7.4+ and pretty permalinks (Set up my site turns them on for you). The map uses Leaflet (bundled) and OpenStreetMap tiles, so no map API key is needed.
2. Set up my site (one click)
Open Roofline > Set up my site and click the button. It creates:
- Pages: Home, Homes (the marketplace app), Log in, Sign up, Marketplace terms and Privacy. Listings and agents get clean links such as
/homes/home/12/and/homes/agent/3/. - The main menu (Buy, Rent, Sell, Find an agent, Mortgage calculator) and the footer menu.
- Starter areas (neighbourhoods) around your map centre.
- Optional sample content: two agents, an agency, an owner (FSBO), two buyers, 16 homes for sale and rent with photos, floor plans, open houses, price history, reviews, saved homes, a saved search and sample leads. All of it is marked as sample content, and Remove sample content deletes it cleanly.
Running it again is safe. It never duplicates pages, menus, areas or sample content. Set your map centre in Settings first so the sample homes appear in your city.
3. Search, map and saved searches
- Split view: results list on one side, a map with price pins on the other. Hovering a home highlights its pin; clicking a pin shows a preview card.
- Search as I move the map limits results to the visible map area. On phones a Map / List button switches between them.
- Filters: for sale or rent, keyword or address, price range, beds, baths, home type, size, area, by owner only, open houses, and sorting (newest, price, size).
- Favourites: members tap the heart to save homes and see them under Saved homes.
- Saved searches: members save any search and choose e-mail alerts instantly, daily or off. New matching homes are sent by WordPress cron (switch alerts off site-wide in Settings).
4. Listings
- Fields: for sale or for rent, price (or monthly rent), beds, baths, square feet, lot size, year built, home type, HOA, address with a map pin picker, area, description and features.
- Photos with a gallery mosaic and full-screen lightbox, plus floor plans.
- Video (YouTube or Vimeo link) and virtual tour (Matterport or any https tour link) shown as embeds.
- Open houses (date and time) shown on the card and the page; price history is recorded automatically when a price changes, with listed, price change, sold and rented events.
- Status: draft, pending review, live, sold or rented, expired. Sold homes stay visible as comparables.
5. Agents, agencies and owners
- Ticking I am a real estate agent at sign-up, or opening Become an agent in the dashboard, creates an agent profile: photo, tagline, phone, bio, areas served and agency. With agent approval switched on, profiles show after an admin approves them.
- Agent profiles show their live and sold homes and reviews with an average rating. Members can review an agent once.
- Agencies have a page with their logo, details and team of agents.
- For sale by owner: any member can list their own home without being an agent (switch this off in Settings). FSBO homes carry a "By owner" tag and a filter.
6. Leads: contact, tours and rental applications
- Every listing has Request a tour (preferred date and time, in person or video) and Contact forms. Guests can send them too.
- Rentals add a basic rental application: move-in date, occupants, income, employer, pets and a note.
- Each lead goes to the listing's agent, or to the owner for FSBO homes, by e-mail and into the Leads inbox in their dashboard, where they can mark it new, contacted or closed and reply.
7. Mortgage calculator and estimated value
- Every for-sale listing has a monthly payment calculator (price, down payment, rate, term, tax, insurance and HOA). The Mortgage calculator page adds a simple affordability estimate from income and debts. Defaults are set in Settings.
- Estimated value: an admin can set a value on any listing; otherwise it is calculated from the median price per square foot of comparable homes (same purpose and type, nearby and sold or live). It is always labelled Estimate, not an appraisal and hidden when there are too few comparables.
8. Listing plans and featured boosts
- Listing plans: a listing goes live after its plan is paid, and stays live for the plan's number of days. Edit them in Settings > Money, one per line as
key|Name|days|price, e.g.starter|Starter|30|19. Use price 0 for a free plan. - Featured boosts: the same format (
week|Featured for 7 days|7|15). Featured homes show first in search and on the homepage with a Featured tag. - Payments use Stripe Checkout. Orders & revenue in admin lists every order with 30, 90 and 365-day totals.
9. Admin
| Dashboard | Members, live and pending listings, agents, leads, open reports and revenue, with a setup checklist. |
| Listings | Approve, request changes with a note, feature for 30 days, set an estimated value or remove. |
| Agents / Agencies | Approve or decline agent profiles; approve or hide agencies. |
| Orders & revenue | All plan and boost payments with totals. |
| Reports | Reported listings, reviews and members: close or remove. |
| Areas, Settings, System info | Edit areas, change settings and check system status. |
10. Connect Stripe
- In Stripe, go to Developers > API keys and copy your Secret key. Use the test key (
sk_test_…) while you try the site, and the live key when you open. - Paste it into Roofline > Settings > Stripe and save.
- Click Create Stripe webhook. Roofline registers
/wp-json/rf/v1/stripeforcheckout.session.completed,checkout.session.async_payment_succeededandcharge.refunded, and saves the signing secret automatically. You can also create it by hand in Stripe and paste the signing secret. - Without a webhook, payments still complete: the return page confirms each payment with Stripe directly.
Keys are stored in your WordPress database and are never shown in full after saving. Card details only ever go to Stripe.
11. Settings
| General | Marketplace name, homepage headline, brand colour, open sign-up, approve listings, approve agents, allow FSBO, saved-search alerts. |
| Money | Currency, listing plans, featured boosts. |
| Map & calculator | Map centre and zoom, tile URL and attribution, default rate, down payment, term, tax and insurance. |
| Media | Maximum photo size and photos per listing. |
| Moderation | Listing saves, leads and messages per hour, blocked words, and how often to check for new messages. |
The logo and site icon come from Appearance > Editor or Settings > General, like any WordPress site.
12. FAQ
Do I need any other plugins?
No. The engine is bundled, the map library is included and it uses Stripe directly.
Where does the money go?
Into your own Stripe account.
Someone paid but the listing is not live.
If listing approval is on, it waits in Roofline > Listings for you. Otherwise check the webhook status in Settings > Stripe; the return page also confirms the payment, and returning to it is always safe.
Can I use another map style?
Yes. Put any XYZ tile URL and its attribution in Settings > Map. Respect the tile provider's usage policy; for busy sites use a commercial tile service.
How do I remove the sample content?
Roofline > Set up my site > Remove sample content.
What changed in 1.0.1?
Clean listing and agent links, neutral sample content without a default video, the admin Listings screen opens on All, and the footer year updates itself.