Clear Map self-updates
WordPress plugin for creating interactive Mapbox maps with customizable POI filtering and category management
by Danny Breckenridge · github.com/dbreck/clear-map · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/dbreck/clear-map/archive/refs/heads/main.zipShips its own WordPress updater (built-in updater), so new versions show up under Dashboard → Updates.
A WordPress plugin for creating interactive Mapbox maps with customizable Points of Interest (POI) filtering and category management. Works for any geographic location worldwide.
Version: 2.4.1
Features
- Interactive Mapbox Maps - Beautiful, customizable maps powered by Mapbox GL JS
- POI Management - Add, edit, and organize points of interest by category with modern WP_List_Table UI
- WPBakery Integration - Full Page Builder support with responsive settings
- KML Import - Import locations from KML files with automatic categorization
- Geocoding - Automatic address-to-coordinate conversion using Mapbox Geocoding API
- Reverse Geocoding - Convert coordinates to addresses automatically
- Category Filtering - Toggle POI categories on/off with custom colors
- Frosted Glass Effects - Apply backdrop blur to filter panel and/or buttons
- Responsive Settings - Per-device settings (desktop/tablet/mobile) for all display options
- Center On POI - Select any POI as the map center point
- Clustering - Automatic marker clustering for better performance
- Location-Agnostic - Works for any location worldwide
- Building Icon - Custom SVG/PNG icon to highlight your building location
- Export - Export POIs as CSV or JSON
- Auto-Updates - GitHub-based automatic updates
Requirements
- WordPress 5.0 or higher
- PHP 7.4 or higher
- Mapbox API token (required) - Get free token (50k map loads/month, 100k geocoding requests/month)
- Google Maps API key (optional fallback for geocoding)
Installation
- Download the plugin files
- Upload to
/wp-content/plugins/clear-map/directory - Activate the plugin through the 'Plugins' menu in WordPress
- Navigate to Clear Map in the admin menu to configure
Configuration
API Keys
- Go to Clear Map > Settings in WordPress admin
- Add your Mapbox Token - Get one at mapbox.com
- Optionally add your Google Maps API Key for geocoding fallback
WPBakery Element Settings
All display settings are configured per-element in WPBakery Page Builder:
Map Position:
- Center On - Select a POI as map center or use custom coordinates
- Center Latitude/Longitude - Manual coordinates
- Zoom Level - 3-18
Map Display:
- Cluster Distance, Min Points, Zoom Threshold
- Show Subway Lines (NYC)
Filter Panel:
- Show/Hide Filter Panel (responsive)
- Panel Width, Height (responsive)
- Background Color, Transparent Background
- Frosted Glass Effect - None/Panel/Buttons/Both (responsive)
- Button Style - List or Pills (responsive)
- Pill Border Color, Background
- Show Header, Show Individual Items (responsive)
- Mobile Filter Display - Below/Above/Drawer/Hidden
- Mobile Filter Style - Inherit/List/Pills
Usage
Managing POIs
- Go to Clear Map > Manage POIs
- Use the tabbed interface:
- POIs tab - View, search, filter, and edit POIs
- Categories tab - Manage categories with drag-drop reordering
- Click any POI row to edit via modal
- Use bulk actions for delete or move to category
- Export selected or all POIs as CSV/JSON
Importing POIs from KML
- Go to Clear Map > Import POIs
- Upload your KML file
- The plugin will automatically:
- Parse placemarks from the KML
- Extract coordinates and addresses
- Organize by folder structure (categories)
- Geocode missing coordinates
Displaying the Map
Add the map using WPBakery Page Builder or shortcode:
[clear_map]
Or with parameters:
[clear_map height="500px" zoom="15" center_on="category_key|poi_index"]
Data Structure
Categories
Categories are stored with:
- Name - Display name
- Color - Hex color for markers and UI
POIs
Each POI contains:
- Name - Location name
- Address - Street address
- Lat/Lng - Coordinates
- Category - Assigned category
- Photo - Image URL
- Logo - Logo image URL
- Description - Location description
- Website - URL link
Development
File Structure
clear-map/
├── clear-map.php # Main plugin file, AJAX handlers
├── includes/
│ ├── class-admin.php # Admin interface (settings, POI management)
│ ├── class-poi-list-table.php # WP_List_Table for POIs
│ ├── class-frontend.php # Shortcode registration
│ ├── class-map-renderer.php # Map HTML rendering
│ ├── class-api-handler.php # Geocoding API integrations
│ ├── class-wpbakery.php # WPBakery Page Builder integration
│ ├── class-assets.php # Asset management
│ ├── class-kml-parser.php # KML file parsing
│ └── class-github-updater.php # Auto-update functionality
├── assets/
│ ├── js/
│ │ ├── map.js # Frontend map functionality
│ │ ├── admin.js # Admin interface JS (modals, bulk actions)
│ │ └── wpbakery-admin.js # WPBakery responsive toggles
│ ├── css/
│ │ ├── map.css # Frontend styles
│ │ ├── admin.css # Admin styles
│ │ └── wpbakery-admin.css # WPBakery admin styles
│ └── data/
│ └── nyc-subway-lines.geojson # NYC subway data
AJAX Actions
POI Management:
clear_map_get_poi- Get single POI for editingclear_map_save_poi- Save POI changesclear_map_delete_poi- Delete single POIclear_map_bulk_action- Bulk delete or moveclear_map_export_pois- Export as CSV/JSON
Category Management:
clear_map_save_category- Save categoryclear_map_delete_category- Delete categoryclear_map_reorder_categories- Reorder via drag-drop
Import & Geocoding:
clear_map_import_kml_pois- Import KML fileclear_map_save_imported_pois- Save imported POIsclear_map_run_geocoding- Run manual geocodingclear_map_geocode_building- Geocode building address
Changelog
Version 2.5.0 (2026-06-29)
- Accessibility: the category expand toggles now have an accessible name (
aria-label, e.g. "Toggle Dining locations list") plusaria-controls, andaria-expandedis on the button (the control) rather than the POI list it controls; the chevron SVG is marked decorative (aria-hidden). Previously these were unlabeled buttons that screen readers announced only as "button". - Accessibility: the "The Area" filter-panel title is now an
<h2 class="filters-title">instead of a hard-coded<h5>, so it no longer creates a skipped heading level in the page outline. Visible change: this also activates the panel-label styling that was previously dead (the CSS targeted.filters-header h3while the markup was<h5>), so the title now renders as a compact uppercase label (16px) on every site, self-contained with!importantso it ignores the host theme'sh2sizing.
Version 2.4.1 (2026-06-28)
- Restyle the building hover tooltip with proper padding and centered name/divider/details layout, matching the POI popup look (previously it had no padding)
- New "Show Building Tooltip on Hover" setting (Building Information) to toggle the hover tooltip off — useful when adding a dedicated POI for the building instead. Does not affect the building icon, which always shows.
Version 2.4.0 (2026-06-28)
- Upgrade Mapbox GL JS v2.15.0 → v3.9.0 so styles built on the Mapbox Standard basemap render (v2 showed them blank)
Version 2.3.2 (2026-04-20)
- Style POI popup close button as a white circle with dark × icon so it's visible over both dark and light photo backgrounds
Version 2.2.0 (2026-02-09)
- Auto-geocode when POI address changes on save
- Re-geocode button in POI edit modal for manual coordinate refresh
- New POIs with addresses are automatically geocoded on creation
Version 2.1.3 (2026-01-22)
- POIs in filter panel sorted alphabetically (case-insensitive)
Version 2.1.2 (2026-01-22)
- POI positioned in lower third of viewport when clicked from filter panel
- Popup card fully visible above marker
Version 2.1.1 (2026-01-22)
- Clicking POI in filter panel now opens popup card after zooming
Version 2.1.0 (2026-01-22)
- New "Frosted Glass Effect" setting (None/Panel/Buttons/Both)
- Responsive support via device toggles
- Removed redundant "Frosted Glass" from Pill Background dropdown
Version 2.0.2 (2026-01-22)
- Fixed Center On POI not working (missing from shortcode_atts)
- Sorted POI dropdown alphabetically in WPBakery
Version 2.0.1 (2026-01-22)
- Added "Center On" POI dropdown in WPBakery Map Position group
- Centered popup logo images
Version 2.0.0 (2026-01-22)
- Major admin interface redesign
- WP_List_Table for POI management
- Tabbed interface (POIs / Categories)
- Modal dialogs for editing via AJAX
- Bulk actions (delete, move to category)
- Search and category filtering
- Pagination with per-page settings
- CSV/JSON export functionality
- Category drag-drop reordering
Version 1.9.x (2026-01-15)
- Consolidated all display settings to WPBakery element
- Responsive device toggles for all Filter Panel settings
- Mobile filter display modes (Below/Above/Drawer/Hidden)
Version 1.4.0 (2026-01-12)
- Filter panel customization (colors, transparency, frosted glass)
- Button styles (List, Pills)
- Show/hide header and items toggles
Version 1.3.0 (2026-01-12)
- WPBakery Page Builder integration
- GitHub auto-updates
Version 1.0.0
- Initial release
License
GPL v2 or later - https://www.gnu.org/licenses/gpl-2.0.html
Author
Danny Breckenridge
Support
For issues, questions, or contributions, please visit the GitHub repository.