TrailKit/Documentation
DemoGet Pro
v1.0.0 — Lite & Pro

TrailKit Documentation

Complete reference for the TrailKit WordPress plugin — Routes, POIs, Guides, Shortcodes, and Pro features.

🚀Getting Started

Requirements

RequirementMinimumNotes
WordPress6.0+Tested up to 6.7
PHP7.4+PHP 8.x recommended
BrowserAny modern browserLeaflet requires internet for map tiles
PluginsNone requiredWorks without ACF, Elementor or any page builder

Installation

  1. Go to Plugins → Add New → Upload Plugin
  2. Upload trailkit.zip and click Install Now
  3. Click Activate
  4. Go to Routes → Settings to configure URL slugs and map defaults
  5. Go to Settings → Permalinks and click Save
⚠️
Always flush permalinks after activation. Go to Settings → Permalinks and click Save to register the new post type URLs. Otherwise routes will return 404.

Demo Data

TrailKit includes sample routes, POIs, and a guide to help you explore. Go to Routes → Settings → Demo Data and click Install Demo Data. Remove it with one click before going live.

Quick Navigation

🗺Add your first route📍Add a point of interest👤Create a guide profile[ ]Shortcode reference

🗺Routes

Routes represent hiking trails, trekking expeditions, kayak circuits, or any multi-point outdoor activity with measurable stats.

Meta Fields

FieldMeta keyTypeDescription
Difficulty_tk_difficultyselecteasy | moderate | hard | extreme
Distance (km)_tk_distancenumberTotal distance in kilometres
Elevation gain (m)_tk_elevationnumberTotal elevation gain in metres
Estimated time_tk_timetexte.g. "3-4 hours", "5-6 days"
Latitude_tk_lattextGPS latitude of the starting point
Longitude_tk_lngtextGPS longitude of the starting point
GPS Points_tk_pointsJSONArray of waypoints for the polyline
Conditions alert_tk_conditions_alerttextWarning shown in an orange box on the route page
Hero position_tk_hero_positiontextCSS background-position e.g. "center 30%"
Google Maps link_tk_gmaps_urlurlDirect link to Google Maps
Gallery_tk_galleryJSONArray of WP attachment IDs

GPS Points format

Paste a JSON array in the GPS & Map meta box:

[
  {"lat": 10.4806, "lng": -66.9036, "ele": 900},
  {"lat": 10.4900, "lng": -66.9100, "ele": 950}
]
ℹ️
GPX file import is available in TrailKit Pro. In Lite, paste GPS coordinates manually or use an online GPX-to-JSON converter.

Difficulty colours

easymoderatehardextreme

📍Points of Interest

POIs represent specific natural or cultural landmarks: waterfalls, viewpoints, beaches, caves, lagoons, peaks.

Meta Fields

FieldMeta keyDescription
Latitude_tk_latGPS latitude of the POI
Longitude_tk_lngGPS longitude of the POI
Conditions alert_tk_conditions_alertOptional warning shown on the POI page
Hero position_tk_hero_positionCSS background-position for the hero image
Google Maps link_tk_gmaps_urlDirect link to Google Maps location
Gallery_tk_galleryJSON array of attachment IDs (max 3 in Lite)

Default POI types

Created automatically on activation. Add custom types in POIs → POI Types.

viewpointwaterfallbeachvillagecavelagoonpeakriverruins

👤Guides

Guide profiles showcase local certified guides with contact info, specialties, pricing, and service area map.

Contact & Details

FieldMeta keyDescription
WhatsApp_tk_whatsappPhone with country code e.g. +58 414 555 0001
Email_tk_emailContact email address
Instagram handle_tk_instagramUsername without the @ symbol
Price from (USD/d)_tk_price_fromMinimum daily rate in USD
Featured_tk_is_featuredShown first in directory with ★ badge
Profile photo_tk_photo_idWordPress attachment ID

Service Area

FieldMeta keyDescription
Latitude_tk_latCenter of the guide's service area
Longitude_tk_lngCenter of the guide's service area
Radius (km)_tk_radius_kmService radius — shown as a circle on the guides map

Specialties

hikingclimbingmountaineeringcyclingmountain-bikingkayakingdivingrappellingcampingphotographygastronomyculture4x4motorcycling

[ ]Shortcodes

Place these shortcodes in any page, post, or widget. Assets (CSS/JS) are loaded automatically only on pages that use a TrailKit shortcode.

[tk_routes]

Displays a responsive grid of route cards.

AttributeDefaultDescription
activity"hiking"Filter by activity slug (comma-separated for multiple)
difficulty"hard"Filter: easy | moderate | hard | extreme
region"andes"Filter by region slug
limit9Maximum number of routes
columns3Grid columns: 1, 2, 3, or 4
orderby"date"WordPress orderby: date | title | menu_order
order"DESC"Sort direction: DESC | ASC
Example
[tk_routes activity="hiking" difficulty="moderate" region="andes" limit="6" columns="3"]
[tk_pois]

Displays a responsive grid of POI cards.

AttributeDefaultDescription
type"waterfall"Filter by POI type slug
region"andes"Filter by region slug
limit9Maximum number of POIs
columns3Grid columns: 1, 2, 3, or 4
orderby"date"WordPress orderby parameter
order"DESC"Sort direction: DESC | ASC
Example
[tk_pois type="waterfall,viewpoint" region="gran-sabana" limit="6" columns="3"]
[tk_guides]

Displays guide profile cards.

AttributeDefaultDescription
featured"true"Show only featured guides
specialty"mountaineering"Filter by specialty slug
region"andes"Filter by region slug
limit12Maximum number of guides
columns3Grid columns: 1, 2, or 3
Example
[tk_guides featured="true" specialty="hiking" columns="2"]
[tk_map]

Renders an interactive Leaflet map with markers loaded via AJAX.

AttributeDefaultDescription
type"routes"What to show: routes | pois | all
region"andes"Filter markers by region
height"450px"Map height (any CSS value)
zoom7Initial zoom level (1–18)
lat"8.0"Map center latitude (defaults to Settings value)
lng"-66.0"Map center longitude
Example
[tk_map type="all" height="500px" zoom="6" lat="8.0" lng="-66.0"]

🎨Template Overrides

TrailKit uses a WooCommerce-style override system. Copy any template to your theme and edit it freely — plugin updates will never overwrite your changes.

How it works

wp-content/
  themes/
    your-theme/
      trailkit/            ← create this folder
        single-route.php   ← your override
        route-card.php     ← another override

Available templates

TemplateUsed for
single-route.phpIndividual route page — hero, stats bar, map, gallery
single-poi.phpIndividual POI page
single-guide.phpIndividual guide profile page
route-card.phpRoute card shown in [tk_routes] grid
poi-card.phpPOI card shown in [tk_pois] grid
guide-card.phpGuide card shown in [tk_guides] grid

Available PHP variables

// In single-route.php / route-card.php
$post_id  // Current route post ID
$data     // Array: difficulty, distance, elevation, time,
          //        lat, lng, points, conditions_alert,
          //        gmaps_url, gallery, hero_position
$thumb    // URL of the featured image (full size)

// In single-guide.php / guide-card.php
$post_id  // Current guide post ID
$guide    // Array: whatsapp, email, instagram, price_from,
          //        specialties (JSON), photo_id,
          //        is_featured, lat, lng, radius_km

// Check Pro status in any template
if ( tk_is_pro() ) {
    // Show Pro-only feature
}

✏️CSS & Styling

All TrailKit styles are scoped to .tk-* class names — zero conflicts with your theme. Customise via CSS custom properties.

Brand tokens (global)

VariableDefaultUse
--tk-primary#0df246Accent colour (green)
--tk-primary-dimrgba(13,242,70,.12)Transparent accent for backgrounds
--tk-easy#22c55eEasy difficulty badge
--tk-moderate#f59e0bModerate difficulty badge
--tk-hard#ef4444Hard difficulty badge
--tk-extreme#7c3aedExtreme difficulty badge

Surface tokens (inherit from theme.json)

VariableInherits fromDefault
--tk-bg--wp--preset--color--base#ffffff
--tk-bg-card--wp--preset--color--base-2#f8fafc
--tk-text--wp--preset--color--contrast#0f172a
--tk-text-muted--wp--preset--color--contrast-2#64748b
--tk-font--wp--preset--font-family--bodyinherit
ℹ️
Dark mode is automatic via @media (prefers-color-scheme: dark). When the visitor's device is in dark mode, surface tokens switch automatically.

Override in your theme

/* In Appearance → Customize → Additional CSS */

/* Change brand accent */
:root {
  --tk-primary: #ff6b00;
  --tk-primary-dim: rgba(255,107,0,.12);
}

/* Override card surfaces */
.tk-card, .tk-single, .tk-grid {
  --tk-bg-card: #fafafa;
  --tk-border:  #d1d5db;
}

🔑License & Pro

Lite vs Pro

FeatureLitePro
Published routes3Unlimited
Published POIs3Unlimited
Published guides1Unlimited
Gallery images per post3Unlimited
Gallery lightbox slider
GPS polyline on map✓ (stored)✓ (rendered)
Elevation profile chartSoon
GPX importSoon

License plans

PlanSitesPrice
Single Site1 domain$79 / year
AgencyUp to 2 domains$149.99 / year
UnlimitedUnlimited domains$199.99 / year
Lifetime1 domain$199 one-time

Activating a license

  1. Go to Routes → Settings → Pro License
  2. Paste your key (format: TK-XXXX-XXXX-XXXX-XXXX)
  3. Click Activate License
⚠️
Activation requires an internet connection. The plugin contacts the TrailKit license server to validate your key. If activation fails, check that your server allows outgoing HTTP requests.

Free Trial

Try all Pro features free for 14 days — no credit card required. Go to Routes → Settings and enter your email in the Start 14-Day Trial section. One trial per domain.

Ready to upgrade?

Start with a free trial or get a Pro license now.

View Pricing →

FAQ & Troubleshooting

Didn't find your answer?

Email admin@trailplugin.com →