GTL Maps is built for cycling and outdoor tourism websites that need to publish curated routes with detailed GPX data. The plugin registers a “Route” custom post type, handles GPX upload and parsing, and renders interactive Leaflet maps via shortcode or automatically above single route posts. It also provides a “Point of Interest” post type to highlight attractions around each route and exposes REST API endpoints for custom front-end integrations.
Key features:
- Upload GPX files and automatically compute distance, elevation gain/loss, and bounding boxes.
- Display interactive Leaflet maps with optional elevation profile and POI filtering.
- Maintain POI categories with custom icons and associate POIs with nearby routes.
- Provide REST API endpoints (
gtl/v1/routes and gtl/v1/pois) so modern front-ends can consume the data.
- Includes Gutenberg/widget support via shortcodes and dedicated widgets for route details and POI lists.
Features
- add Astra theme for full-width demo page support (fb54a97)
- Add code coverage and fix failing tests (#24) (b281667)
- add CODEOWNERS file for automatic review assignment (#34) (24f782d)
- add custom icons for waypoints and POI categories (cb8d418)
- add specialized OpenCode sub-agents for WordPress development (fe32f6c)
- Add specialized OpenCode sub-agents for WordPress development (7d88493)
- add support for GPX waypoint visualization with default icons (a07e063)
- add wp-env development setup with sample data (638d48c)
- Add wp-env development setup with sample data (61e50ab)
- enhance demo page with comprehensive shortcode examples (bd94581)
- enhance release workflow with security and validation (#21) (6562480)
- replace sample GPX routes with real Rome cycling routes (470ae23)
- replace sample routes with Italian inter-city routes (3634d1b)
Bug Fixes
- add expression syntax to validate-release condition (d2ffa3e)
- add missing period and remove trailing whitespace (e5bbd07)
- add retry mechanism and test instance check in wp-env workflow (1692ea1)
- add timeout to logs step to prevent hanging (f7ba4e3)
- add write permissions for coverage badge commit (04a15aa)
- auto-activate plugin in CI if not already active (5844092)
- auto-create .htaccess file for wp-env permalink support (273eb6c)
- category shows only related poi (3eb51d9)
- configure make-pot workflow for pull requests (cd2583f)
- correct POI JSON structure to match import script (ca4cbdc)
- escape string (368a1fa)
- HEREDOC exit code issue in setup script (6322862)
- improve POI association and shortcode escaping (ee7b388)
- improve route ID extraction with better error handling (dc7ef68)
- linter and test errors (db884d1)
- mobile scroll point (432ba04)
- POI filter panel title and button visibility across themes (d6d9458)
- remove conflicting mappings from wp-env config (9d7c71b)
- remove invalid conditional check in POI relink script (679544e)
- remove waypoints from GPX files to prevent map marker clutter (b638507)
- replace JPEG-as-PNG screenshots with true PNG files (#35) (a5b091b)
- resolve workflow errors (113f45e)
- set failOnWarning=false to prevent CI failure on deprecations (271b88a)
- simplify validate-release workflow condition (8326112)
- skip POT PR creation on pull request events (7fd1d9c)
- specify correct coverage report filename (17b699e)
- update WordPress deploy action to use correct 10up action (5ee6cee)
- use correct meta key for GPX attachment ID (3502e08)
- use correct parameter format for wp-cli command (a0e4aa1)
- use dynamic route IDs in demo page content (78462e7)
- use L.Icon object for waypoint markers instead of icon URLs (a176582)
- use PHP-compatible coverage badge generator (207e2d4)
- use pre-installed wp-cli instead of manual download (d890eaa)
- validate-release workflow condition on line 16 (b0d6249)
- waypoint popup and POI icon assignment in wp-env (6498590)
- workflows: use multiline format for validate-release if condition (18f5d39)
Miscellaneous Chores
[0.1.0](https://github.com/hevelius/gtl-maps/compare/0.0.20…0.1.0) (2026-02-19)
Features
- add Astra theme for full-width demo page support (fb54a97)
- Add code coverage and fix failing tests (#24) (b281667)
- add CODEOWNERS file for automatic review assignment (#34) (24f782d)
- add custom icons for waypoints and POI categories (cb8d418)
- add specialized OpenCode sub-agents for WordPress development (fe32f6c)
- Add specialized OpenCode sub-agents for WordPress development (7d88493)
- add support for GPX waypoint visualization with default icons (a07e063)
- add wp-env development setup with sample data (638d48c)
- Add wp-env development setup with sample data (61e50ab)
- enhance demo page with comprehensive shortcode examples (bd94581)
- enhance release workflow with security and validation (#21) (6562480)
- replace sample GPX routes with real Rome cycling routes (470ae23)
- replace sample routes with Italian inter-city routes (3634d1b)
Bug Fixes
- add expression syntax to validate-release condition (d2ffa3e)
- add missing period and remove trailing whitespace (e5bbd07)
- add retry mechanism and test instance check in wp-env workflow (1692ea1)
- add timeout to logs step to prevent hanging (f7ba4e3)
- add write permissions for coverage badge commit (04a15aa)
- auto-activate plugin in CI if not already active (5844092)
- auto-create .htaccess file for wp-env permalink support (273eb6c)
- category shows only related poi (3eb51d9)
- configure make-pot workflow for pull requests (cd2583f)
- correct POI JSON structure to match import script (ca4cbdc)
- escape string (368a1fa)
- HEREDOC exit code issue in setup script (6322862)
- improve POI association and shortcode escaping (ee7b388)
- improve route ID extraction with better error handling (dc7ef68)
- linter and test errors (db884d1)
- mobile scroll point (432ba04)
- POI filter panel title and button visibility across themes (d6d9458)
- remove conflicting mappings from wp-env config (9d7c71b)
- remove invalid conditional check in POI relink script (679544e)
- remove waypoints from GPX files to prevent map marker clutter (b638507)
- replace JPEG-as-PNG screenshots with true PNG files (#35) (a5b091b)
- resolve workflow errors (113f45e)
- set failOnWarning=false to prevent CI failure on deprecations (271b88a)
- simplify validate-release workflow condition (8326112)
- skip POT PR creation on pull request events (7fd1d9c)
- specify correct coverage report filename (17b699e)
- update WordPress deploy action to use correct 10up action (5ee6cee)
- use correct meta key for GPX attachment ID (3502e08)
- use correct parameter format for wp-cli command (a0e4aa1)
- use dynamic route IDs in demo page content (78462e7)
- use L.Icon object for waypoint markers instead of icon URLs (a176582)
- use PHP-compatible coverage badge generator (207e2d4)
- use pre-installed wp-cli instead of manual download (d890eaa)
- validate-release workflow condition on line 16 (b0d6249)
- waypoint popup and POI icon assignment in wp-env (6498590)
- workflows: use multiline format for validate-release if condition (18f5d39)
Miscellaneous Chores
[0.0.20](https://github.com/hevelius/gtl-maps/compare/0.0.19…0.0.20) (2025-11-29)
Bug Fixes
[0.0.19](https://github.com/hevelius/gtl-maps/compare/0.0.18…0.0.19) (2025-11-08)
Bug Fixes
Miscellaneous Chores
- add core poi relink function (62b0807)
[0.0.18](https://github.com/hevelius/gtl-maps/compare/0.0.17…0.0.18) (2025-11-08)
Miscellaneous Chores
[0.0.17](https://github.com/hevelius/gtl-maps/compare/0.0.16…0.0.17) (2025-11-06)
Bug Fixes
Miscellaneous Chores
[0.0.16](https://github.com/hevelius/gtl-maps/compare/0.0.15…0.0.16) (2025-10-28)
Miscellaneous Chores
[0.0.15](https://github.com/hevelius/gtl-maps/compare/0.0.14…0.0.15) (2025-10-28)
Miscellaneous Chores
[0.0.14](https://github.com/hevelius/gtl-maps/compare/0.0.13…0.0.14) (2025-10-28)
Miscellaneous Chores
Third-Party Libraries
This plugin includes the following open-source libraries:
-
Leaflet.js – BSD-2-Clause License – https://leafletjs.com/
Interactive mapping library for displaying GPX routes and points of interest on dynamic, tile-based maps.
-
Chart.js – MIT License – https://www.chartjs.org/
JavaScript charting library for rendering elevation profile visualizations with interactive tooltips.
-
leaflet-gpx – BSD-2-Clause License – https://github.com/mpetazzoni/leaflet-gpx
Leaflet plugin for parsing and displaying GPX track files with waypoint markers.
All included libraries are GPL-compatible and bundled locally for optimal performance and reliability.