=== Demfilz Business Directory ===
Contributors: demfilz
Tags: directory, business directory, listings, local business, reviews
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A complete business directory: listings, categories, locations, reviews, enquiries, claims, front-end submissions and CSV import.

== Description ==

Demfilz Business Directory turns any WordPress site into a full local or niche directory.

= Listings =

* A dedicated Listings post type with its own categories, locations and tags.
* Rich listing details: phone, website, street address, opening hours, price range, year established, business number, social profiles, a video link and a photo gallery.
* Featured and Verified badges, view counters and optional listing expiry.
* Structured data: every listing prints LocalBusiness JSON-LD (with opening hours and review ratings) for search engines.

= Browsing =

* `[dbdir_directory]` renders a searchable, filterable, paginated listing grid: keyword search, category and location filters, and sorting by featured, newest, name or rating.
* Grid and list layouts: pick a default (or set `layout="list"` on the shortcode) and visitors can switch with the grid / list toggle.
* `[dbdir_categories]`, `[dbdir_locations]` and `[dbdir_featured]` build category, location and featured showcases.
* Four widgets: directory search, categories, featured listings and recent listings.
* A "Get directions" link on each listing points to Google Maps or OpenStreetMap (your choice, links only, nothing is embedded).

= Front-end submissions =

* `[dbdir_submit]` lets visitors or logged-in users (your choice) submit listings, with an optional main image upload.
* New submissions can be held for review or published immediately.
* `[dbdir_dashboard]` gives owners a dashboard: their listings, statuses, views, ratings and recent enquiries, with front-end editing.
* Every public form is protected by a nonce, a honeypot and rate limiting.

= Reviews, enquiries and claims =

* Visitors can leave star ratings and reviews (one per email per listing), with optional moderation.
* An enquiry form on each listing relays messages to the business by email; the address is never shown publicly. Enquiries are also stored in the admin.
* Logged-in users can claim unclaimed listings; approving a claim transfers ownership and awards the Verified badge.

= Admin tools =

* Enquiries and Claims screens under the Directory menu.
* CSV export of every listing and CSV import (with automatic category, location and tag creation).
* Flags, rating, views and expiry columns on the listings screen.
* A daily task unpublishes expired listings and emails their owners.

== External services ==

This plugin does not connect to any external service. No data leaves your site. The optional "Get directions" link is a plain link the visitor may click; nothing is loaded from Google or OpenStreetMap by your pages.

== Installation ==

1. Install and activate the plugin.
2. Create three pages containing the `[dbdir_directory]`, `[dbdir_submit]` and `[dbdir_dashboard]` shortcodes.
3. Go to **Directory -> Settings**, pick those pages and review the options.
4. Add categories and locations under the Directory menu, then add listings (or import a CSV under **Directory -> Import / Export**).

== Frequently Asked Questions ==

= Does it work with any theme? =

Yes. The directory renders through shortcodes and the content filter, so it inherits your theme's layout and typography.

= Can visitors submit listings without an account? =

Yes. Set "Who can submit" to guests in the settings. Guest submissions are still protected by the honeypot and rate limiting, and can be held for review.

= Are business email addresses shown on the site? =

No. The contact email on a listing is stored privately and only used to relay enquiry form messages.

= How do paid or featured listings work? =

Mark any listing as Featured in the admin; featured listings get a badge and sort first. How you charge for that (manually, or with your payment plugin of choice) is up to you.

== Screenshots ==

1. The directory grid with search and filters.
2. A single listing with contact details, hours, gallery and reviews.
3. The front-end submission form.
4. Directory settings.

== Changelog ==

= 1.0.0 =
* Initial release.
