WP Manifestindependent plugin directory
manifest / content / listing-manager

Property Listing Manager

Plugin Created for property listing management.

★ 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/therehmandev/listing-manager/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.

Custom WordPress plugin for managing property listings with admin tools, CSV export, and a frontend shortcode with AJAX filters.

📦 Installation

  1. Zip the plugin folder taskdesol - Copy or use the provided ZIP.
  2. In WordPress admin, go to Plugins > Add New > Upload Plugin.
  3. Upload and Activate.

🏗️ What’s Included

  • Custom Post Type: pm_listing (menu: Property Listings)

    • Admin Menu: Property Listings
      • All Properties (list table)
      • Add New Property (edit screen)
  • Meta Fields (auto-populate via ZIP):

    • Property Name (uses post Title)
    • Agent
    • Location
    • Price
    • Bedrooms
    • Bathrooms
    • ZIP
    • Address
    • City
    • State
    • Country
  • ZIP Auto-fill

    • Free API: http://api.zippopotam.us/us/{zip} (e.g. 90211)
    • AJAX endpoint: get_location_by_zip
  • Admin List Table Enhancements

    • Columns: Agent, Address, City, State, Country, Price, Bedrooms, Bathrooms, Date
    • Sortable: Agent, City, State, Country, Price, Bedrooms, Bathrooms
    • Filter: Dropdown by Agent
    • Export to CSV button above the table (nonce-protected)
  • Frontend Shortcode

    • Shortcode: [pm_listings agent="John Doe" bedrooms="3"]
    • Features:
      • AJAX search by property name
      • Agent dropdown (AJAX populated)
      • Bedrooms dropdown (1+, 2+, 3+, 4+, 5+)
      • Price range slider (jQuery UI) with min/max inputs
      • Start/End date pickers (jQuery UI)
      • Responsive, professional UI styles

🔧 Usage

  • Add/Edit Property

    • Admin > Property Listings > Add New
    • Enter ZIP (e.g. 90211) to auto-populate address, city, state, country, and location
  • Export CSV

    • Admin > Property Listings > All Properties
    • Click “Export Listings to CSV”
  • Frontend Listing

    • Add [pm_listings] to any page or use optional params:
      • agent: Pre-filter by an agent name
      • bedrooms: Pre-filter by minimum bedrooms

📁 File Map (Key Files)

  • taskdesol.php — Bootstrap constants and loader
  • plugin-loader.php — Registers hooks, shortcode, AJAX, and assets
  • inc/listing.php — Registers CPT “Properties” (slug pm_listing)
  • inc/listing-meta-feilds.php — Meta box fields and saving
  • inc/listing-api-handler.php — ZIP to address AJAX via Zippopotam API
  • inc/listing-table-col.php — Admin columns, sorting, and agent filter
  • inc/listing-export-data.php — Export-to-CSV button and download handler
  • inc/shortcode-properties.php — Shortcode markup and AJAX endpoints
  • inc/js/pm-listing-zip.js — Admin ZIP AJAX autofill
  • inc/js/shortcode-properties.js — Frontend filters, slider, date pickers, AJAX
  • inc/css/shortcode-properties.css — Styles for filters and table

🔒 Security

  • All AJAX endpoints use nonces (pm_zip_nonce, pm_listings_nonce).
  • Export action uses a nonce and checks manage_options capability.

🧪 Requirements

  • WordPress 6.x
  • PHP 7.4+
  • jQuery (bundled with WordPress)
  • jQuery UI (for slider and datepicker; uses WP-bundled scripts if present)

📝 Notes

  • The price slider defaults to 0–1,000,000 with 1,000 steps. Adjust in shortcode-properties.js if needed.
  • Date filters compare publish date.

🧰 Development

  • Hooks and assets are registered in plugin-loader.php.
  • Shortcode enqueues its assets on render, minimizing global load.