Currently in Lisbon, PortugalNext stop: Morocco

Documentation

Voyager, start to finish

Install the theme, import a demo in one click, then make it yours: trips, destinations, maps and 13 travel elements that work the same in Elementor and the block editor.

  • Voyager 1.0.0
  • Voyager Core 1.0.0
  • WordPress 6.5+
  • Updated October 12, 2026

Start here

01Getting started

Voyager is a travel blog and travel guide theme. The theme handles the design. The bundled Voyager Core plugin adds trips, destinations, maps and 13 travel elements, and each one works in both Elementor and the block editor.

01.1Requirements

WhatMinimumNotes
WordPress6.5+Tested up to 7.1.
PHP7.4+PHP 8.1 or newer is faster.
ElementorFree versionRequired: the demo homepages are built with Elementor. Elementor Pro is optional.
Memory128 MBThe demo import runs in small steps, so cheap hosting works.

01.2What is in the download

FileWhat it is
voyager.zipThe theme. Upload this one in WordPress.
voyager-child.zipAn empty child theme for your own code changes (optional).
Plugins/voyager-core.zipVoyager Core. A copy is already inside the theme, so you never upload it by hand.
Documentation/This guide, for reading offline.
Licensing/GPL license and credits for photos, fonts and libraries.

01.3Install the theme

  1. Go to AppearanceThemesAdd New ThemeUpload Theme.
  2. Choose voyager.zip (not the whole download) and click Install Now.
  3. Click Activate. A notice asks you to install the required plugins. The next topic covers it.
Upload error?

If you see “The link you followed has expired”, your host limits upload size. Ask the host to raise upload_max_filesize to 16 MB, or upload the unzipped voyager folder to wp-content/themes/ by FTP.

Tip

If you plan to change theme code, also install voyager-child.zip and activate Voyager Child. See Child theme.

Setup

02Required plugins

Voyager asks for two plugins. It installs them for you through TGM Plugin Activation.

PluginWhere it comes fromWhy
Voyager Core 1.0.0Bundled inside the theme (voyager/plugins/voyager-core.zip)Trips, destinations, the 13 travel elements, the newsletter list and the demo importer.
ElementorWordPress.org (free)Page builder for the demo homepages. You can still write stories in the block editor.
  1. After you activate Voyager, click Begin installing plugins in the notice, or go to AppearanceInstall Plugins.
  2. Tick both plugins, choose Install from the bulk actions and click Apply.
  3. Go back to the same screen, tick both again and choose Activate.
Note

The AppearanceInstall Plugins screen disappears once both plugins are installed and active. If you dismissed the notice, it returns when a required plugin is missing.

Tip

Updates: when a new Voyager version ships with a newer Voyager Core, the same screen offers the update.

One click

03Import the demo

Go to AppearanceVoyager Demos. The importer can bring in the whole demo website, a single homepage, or one page. It can also remove all of it again.

Appearance → Voyager Demos
Appearance → Voyager Demos

Imports all 6 homepages, every Elements page, 36 stories, 5 trips, 14 destinations, photos, menus, widgets, Theme Options and Elementor settings. Before you start, pick which homepage becomes your front page.

  1. Install and activate Voyager Core and Elementor first (the importer checks for them).
  2. Pick the Front page after import and click Import the full website.
  3. Watch the progress bar. It works in short steps: checking requirements, adding authors, creating categories, continents and countries, copying photos, importing stories, trips, destinations and pages, linking everything together, building menus, placing widgets, applying theme options and elementor settings, setting the front page, finishing up.
  4. Click View your site when it says All done!
Safe on any host

Each step takes a few seconds, so slow hosting never times out. If you close the tab, the job waits for you. Open the screen again and it continues where it stopped.

03.2Choose your front page

Click Set as front page under any homepage. If that homepage is not on your site yet, the importer brings it in first, with its photos.

03.3Import a single demo page

Use this to borrow one layout, such as the About page or one Elements page. Its travel elements show your own trips and destinations.

03.4Running it again

Re-running an import never duplicates anything: each imported item is found again by its import key. Pages you have edited since the import are left alone, so a re-run cannot overwrite your work. Untouched items are refreshed.

03.5Remove imported demo content

This deletes only what the importer created: pages, stories, trips, destinations, photos and menus. It then restores your earlier Theme Options, menus, widgets and front page. Your own posts and pages are never touched.

Important

Your existing content is kept. Demo content is added next to it. On a site that already has many posts, use Import a single demo page instead.

Six looks

04The 6 homepages

Each homepage is an ordinary Elementor page, and you can edit any section. Five of them carry their own palette, font pair and traveler. These come from the Voyager page settings box, not from global settings.

Solo Traveler
Solo Traveler
Travel Couple
Travel Couple
Adventure
Adventure
Luxury
Luxury
Food & Travel
Food & Travel
Photo Journal
Photo Journal

04.1Page styles

A page style changes colors, roundness and fonts on one page only. Every font is bundled with the theme and served from your own site.

StyleFontsPalette
Rosewood (Travel Couple)Young Serif + Nunito
Basecamp (Adventure, dark)Archivo + Inter
Ivory & Gold (Luxury)Cormorant Garamond + Jost
Terracotta & Olive (Food & Travel)DM Serif Display + DM Sans
Gallery (Photo Journal)Instrument Serif + Inter Tight

04.2Change a homepage

  1. Go to Pages and open the homepage (for example “Home — Solo Traveler”) with Edit with Elementor.
  2. Click any section to change its text, photos or settings. The travel elements are under Voyager Travel in the widget panel.
  3. Click Publish. Your edited page is now protected from re-imports.
Tip

Elementor page settings: use the page template Voyager: full width (no title) for edge-to-edge sections with the Voyager header and footer.

Per page

05Voyager page settings

Each page and post has a small Voyager page settings box in the editor sidebar. Anything you leave empty falls back to Theme Options.

SettingWhereWhat it does
Page stylePagesOne of: Rosewood (Travel Couple), Basecamp (Adventure, dark), Ivory & Gold (Luxury), Terracotta & Olive (Food & Travel), Gallery (Photo Journal). Sets palette, fonts and corner roundness for this page.
Transparent header over the first photoPagesThe header floats over the page’s first photo and turns solid after scrolling.
Traveler on this pagePagesName, photo (Media Library ID), signature, short bio, “More about me” link, and the top bar’s Currently in / Next stop. Each demo homepage uses this to show its own traveler in the footer card and the top bar.
Story layoutPostsOne of the 10 story layouts for this story. See Story layouts.
SidebarPostsRight, left or none for this story (Theme Options default when empty).
Note

In the block editor, the box is at the bottom of the Post or Page sidebar under “Meta Boxes”. In Elementor, open the page in the WordPress editor once to change these settings, then return to Elementor.

Tip

To find a photo’s ID, open it in MediaLibrary. The number after item= in the address bar is the ID.

Elementor + blocks

06The 13 travel elements

Maps, itineraries, budgets, packing lists and more, all built for travel writing. The settings tables below come straight from the plugin.

Every element is built once and shows up in both builders. The settings and the output are the same in each, so a page made in Elementor and one made with blocks look identical.

BuilderWhere to find the elements
ElementorWidget panel → category Voyager Travel (or search “Voyager”).
Block editorBlock inserter (+) → category Voyager Travel (or type “/” and the name).
Light by design

Elements load their CSS and JavaScript only on pages that use them. A story without a map loads no map code.

06.1Booking Box

Hotel, flight and tour recommendation cards with ratings, prices and sponsored links.

Links get rel=”sponsored noopener”. The disclosure line shows above the cards, as the FTC asks for affiliate links.

Blocks exampleElementor exampleBlock voyager/booking-boxWidget voyager-booking-box
Booking Box
Booking Box
SettingTypeChoices and notes
TitleText
IntroText area
CardsListEach item: Type, Photo, Name, Location / route, Rating (0–5), Number of reviews, Price from, Currency, Price unit, Badge, Highlight as recommended, Highlights (one per line, up to 4), Button text, Link (affiliate URL)
ColumnsNumber1–4
LayoutChoiceCards, Wide rows
Open links in a new tabOn / off
DisclosureText

06.2Destination Guide

Best time to visit, budget, visa, language, currency, local time and live weather for a destination.

Reads the Destination guide box of the chosen destination (or the current one on a destination page). Live weather comes from Open-Meteo and needs the destination’s coordinates.

Blocks exampleElementor exampleBlock voyager/destination-guideWidget voyager-destination-guide
Destination Guide
Destination Guide
SettingTypeChoices and notes
DestinationPick a postOne of your destinations
Title overrideTextEmpty uses the destination name.
Current weatherOn / off
UnitsChoice°F, mph, °C, km/h
Live local timeOn / off
LayoutChoicePhoto card, Ocean band

06.3Where Should I Go? Quiz

Four quick questions that suggest one of your destinations.

Four questions matched against each destination’s Vibes, Budget level and Best months.

Blocks exampleElementor exampleBlock voyager/destination-quizWidget voyager-destination-quiz
Where Should I Go? Quiz
Where Should I Go? Quiz
SettingTypeChoices and notes
TitleText
IntroText area
Question 1 (season)Text
Question 2 (vibe)Text
Question 3 (budget)Text
Question 4 (region)Text
Result buttonText
LayoutChoiceOne question at a time, All questions at once

06.4Destinations Grid

Destination cards with a continent and country filter.

Continent and country filters work instantly in the page and are built from your Continent and Country lists.

Blocks exampleElementor exampleBlock voyager/destinations-gridWidget voyager-destinations-grid
Destinations Grid
Destinations Grid
SettingTypeChoices and notes
TitleText
IntroText area
Start with continentChoiceAll continents, Africa, Asia, Europe, North America, Oceania, South America
Destinations to showNumber1–48
ColumnsNumber2–4
Continent filterOn / off
Country menuOn / off
Story countOn / off
TaglineOn / off
Budget levelOn / off

06.5Now / Next

Where you are now and where you are heading next, with dates and a mini map.

Use two destinations, or type places and coordinates. The mini map is optional.

Blocks exampleElementor exampleBlock voyager/now-nextWidget voyager-now-next
Now / Next
Now / Next
SettingTypeChoices and notes
TitleText
Places come fromChoiceDestinations, Typed here
Now inPick a postOne of your destinations
Now in (place)Text
Now in (country)Text
Now: latitudeText
Now: longitudeText
Here sinceDate
Next stopPick a postOne of your destinations
Next stop (place)Text
Next stop (country)Text
Next: latitudeText
Next: longitudeText
Arriving onDate
Short noteText
Mini mapOn / off
LayoutChoiceCard, Compact (sidebars), Pill (one line, for heroes and bars)

06.6Packing List

Grouped packing checklists readers can tick off and print.

Visitors’ ticks are saved in their own browser (the “Storage key” keeps two lists apart) and the list can be printed.

Blocks exampleElementor exampleBlock voyager/packing-listWidget voyager-packing-list
Packing List
Packing List
SettingTypeChoices and notes
TitleText
IntroText area
GroupsListEach item: Group name, Items (one per line)
ColumnsNumber1–3
Progress barOn / off
Print buttonOn / off
Storage name (optional)TextLists with the same name share ticks across pages.

06.7Photo Story

A full-screen scroll story with big photos and short captions.

Blocks exampleElementor exampleBlock voyager/photo-storyWidget voyager-photo-story
Photo Story
Photo Story
SettingTypeChoices and notes
SlidesListEach item: Photo, Small label, Title, Caption, Caption position, Photo credit
Slide heightChoiceFull screen, Tall (80% of the screen)
Photo shade (%)Number0–80
Slide counter (01 / 05)On / off

06.8Post Grid & Slider

Travel story cards as a grid, list, photo overlay or slider.

Sources: latest stories, a category, a trip, or a destination. The slider script loads only for the slider layout.

Blocks exampleElementor exampleBlock voyager/post-gridWidget voyager-post-grid
Post Grid & Slider
Post Grid & Slider
SettingTypeChoices and notes
TitleText
Stories fromChoiceLatest, A category, A trip, A destination
CategoryChoice15 choices
TripPick a postOne of your trips
DestinationPick a postOne of your destinations
Number of storiesNumber1–24
Skip the firstNumber0–50
OrderChoiceNewest, Title A–Z, Most discussed
LayoutChoiceGrid, List, Photo overlay, Bento: one big lead + four, Masonry: photos at their own shape, Slider
ColumnsNumber1–4
ExcerptOn / off
Date and reading timeOn / off
Category pillOn / off
“View all” textText
“View all” linkLink

06.9Travel Map

Every destination on a map, with visited countries shaded and the stories of each place.

Pins come from destinations with coordinates. Countries you have visited are shaded; a click opens the stories of that place. Choose all destinations, one continent, or one trip.

Blocks exampleElementor exampleBlock voyager/travel-mapWidget voyager-travel-map
Travel Map
Travel Map
SettingTypeChoices and notes
TitleText
IntroText area
PinsChoiceAll destinations, One continent, Destinations of one trip, Places of the current story
ContinentChoice— Choose —, Africa, Asia, Europe, North America, Oceania, South America
TripPick a postOne of your trips
Map height (px)Number260–900
Shade visited countriesOn / off
Group nearby pinsOn / off
Show country counts below the mapOn / off
Zoom with the mouse wheelOn / offOff keeps page scrolling smooth; visitors zoom with the buttons or pinch.
FrameChoiceRounded card, Flat, edge to edge

06.10Travel Stats

Animated travel counters: countries, cities, miles or kilometers, days on the road.

Numbers count up once when they scroll into view (no motion for visitors who prefer reduced motion).

Blocks exampleElementor exampleBlock voyager/travel-statsWidget voyager-travel-stats
Travel Stats
Travel Stats
SettingTypeChoices and notes
StatsListEach item: Icon, Number, After the number, Label
DesignChoiceSoft cards, Minimal with dividers, Ocean band
ColumnsNumber1–6
On phones the stats show two per row.
AlignmentChoiceCenter, Left
Count up when visibleOn / off
Count duration (ms)Number300–5000
Accent colorColorIcons and numbers. Empty uses the theme accent.

06.11Trip Budget

Where the money went: a donut or bar chart by category with totals, per day and per person.

Reads Budget by category, Travelers and the trip dates from a trip, or takes numbers typed in the element.

Blocks exampleElementor exampleBlock voyager/trip-budgetWidget voyager-trip-budget
Trip Budget
Trip Budget
SettingTypeChoices and notes
Numbers come fromChoiceA trip (Trips → Trip plan), Entered here
TripPick a postOne of your trips
TitleTextEmpty uses “What it cost” (or the trip name).
CategoriesListEach item: Category, Amount, Color (empty = palette)
CurrencyChoiceUSD ($), EUR (€), GBP (£), JPY (¥), CAD (CA$), AUD (A$), MXN (MX$), THB (฿), INR (₹), ZAR (R)
DaysNumber1–999
TravelersNumber1–50
ChartChoiceDonut, Bars
Show cost per dayOn / off
Show cost per personOn / off
Note under the chartText

06.12Trip Itinerary

A day-by-day plan with places, times, costs, notes and a mini map per day.

Fill it by hand, or set the source to a trip and it reads the trip’s Itinerary lines (see Trips & destinations).

Blocks exampleElementor exampleBlock voyager/trip-itineraryWidget voyager-trip-itinerary
Trip Itinerary
Trip Itinerary
SettingTypeChoices and notes
Days come fromChoiceA trip (Trips → Trip plan), Entered here
TripPick a postOne of your trips
TitleTextWith a trip, empty uses the trip name.
DaysListEach item: Day title, Places (comma separated), Time, Cost, Notes, Map latitude (optional), Map longitude (optional)
Step nameTextFor example “Stop” for a food crawl.
Step name, pluralText
CurrencyChoiceUSD ($), EUR (€), GBP (£), JPY (¥), CAD (CA$), AUD (A$), MXN (MX$), THB (฿), INR (₹), ZAR (R)
DesignChoiceTimeline, Day cards
Mini map per dayOn / offDays with a latitude and longitude get a small map.
Show costs and the totalOn / off

06.13Trip Timeline

All trips on a timeline, filterable by year.

Lists your trips by start date with route and budget, with a year filter.

Blocks exampleElementor exampleBlock voyager/trip-timelineWidget voyager-trip-timeline
Trip Timeline
Trip Timeline
SettingTypeChoices and notes
TitleText
IntroText area
OrderChoiceNewest first, Oldest first
Number of tripsNumber1–100
Year filterOn / off
Show budgetOn / off
Show routeOn / off
StyleChoiceAlternating sides, One side

Content

07Trips & destinations

Voyager Core adds two content types: Trips and Destinations. Link your stories to them, and maps, itineraries, budgets and the timeline fill themselves in.

TypeMenuArchiveSingle URL
TripsTrips/trips//trip/{name}/
DestinationsDestinations/destinations//destination/{name}/

Three shared category lists group trips, destinations and stories: Continents</b>, <b>Countries</b>, <b>Cities.

07.1Destination boxes

BoxFieldsUsed by
Map locationLatitude, LongitudeTravel Map, Now / Next, Destinations Grid
Destination guideTagline, Best time to visit, Best months (numbers, e.g. 4,5,6), Budget level 1–4, Visa (US passport), Language, Local currency, Time zone (IANA, e.g. Asia/Tokyo), VibesDestination Guide, Where Should I Go? quiz, Destinations Grid

Quiz vibes: Beaches & islands, Big cities, Mountains & wild nature, History & culture, Food & markets, Adventure.

Tip

To get coordinates, right-click a place on openstreetmap.org and choose “Show address”. The latitude and longitude appear on the left.

07.2Trip boxes

BoxFields
Trip detailsStart date, End date, Route (e.g. San Francisco → Big Sur → Los Angeles), Budget, Currency (ISO code, e.g. USD)
Trip plan: destinations, budget, itineraryDestinations on this trip, Budget by category (Stay, Food, Transport, Activities, Other), Travelers, Itinerary

Itinerary format: one day per line, with parts separated by a vertical bar. The last part (coordinates) is optional and adds a mini map for that day.

text
Title | Places | Time | Cost | Notes | lat,lng
Arrive in Puerto Natales | Puerto Natales | All day | 120 | Pick up rental gear | -51.7308,-72.4977
Base Torres hike | Las Torres viewpoint | 8 h | 0 | Start before 7 am | -50.9423,-72.9719

07.3Link a story

In a post, the Travel links box (sidebar) connects the story to a trip and to destinations. Linked stories then show up on the trip and destination pages, on the map, and in Post Grid with the source “Trip” or “Destination”.

Settings

08Theme Options

One screen with 9 tabs controls colors, fonts, header, footer, blog, single stories and dark mode. You don’t need the Customizer.

Go to AppearanceTheme Options. Changes show on the whole site and click Save changes keeps them. Reset to defaults restores the original values.

Theme Options → Colors
Theme Options → Colors
Theme Options → Header
Theme Options → Header

08.1Colors

SectionOptionWhat it does
PaletteQuick palettesOne click fills the colors below. Save to keep them.
PalettePage backgroundThe warm sand behind everything.
PaletteCards and panels
PalettePrimaryLinks, buttons, the header accent.
PaletteAccentCategory pills, hover states, highlights.
PaletteHighlightSmall sunny details: stars, badges, map pins.
TextBody text
TextHeadings

08.2Typography

SectionOptionWhat it does
FontsHeading fontBundled with the theme and served from your own site (no Google requests).
FontsBody font
FontsBody text size

08.3Layout

SectionOptionWhat it does
PageContent widthThe widest the page gets on large screens.
PageCorner roundnessCards, photos and panels. Buttons stay pill shaped.

08.4Header

SectionOptionWhat it does
LayoutHeader layoutAn Elementor Pro Theme Builder header replaces this when one is active.
LayoutSticky headerStays at the top, slimmer, while scrolling.
LayoutTransparent on the homepageAny layout floats over the first photo of a static front page. Any other page can turn it on in its Voyager page settings box.
LayoutTagline under the site nameOnly when no logo image is set.
Top barTop barA thin line above the header with where you are now and social icons.
Top barCurrently inFor example “Lisbon, Portugal”.
Top barNext stopFor example “Morocco”.
Top barSmall link textFor example “Start here”. Empty hides it.
Top barSmall link URL
ButtonsSearch button
ButtonsCall-to-action labelFor example “Subscribe”. Empty hides the button.
ButtonsCall-to-action linkEmpty scrolls to the newsletter in the footer.
Mega menusFeatured destinationShown as a photo card in the Destinations panel.

08.5Social

SectionOptionWhat it does
ProfilesInstagram
ProfilesYouTube
ProfilesPinterest
ProfilesTikTok
ProfilesFacebook
ProfilesX
SectionOptionWhat it does
LayoutFooter layoutA filled “Footer 1/2/3” widget area replaces the destinations / latest stories / resources column.
LayoutCopyright lineEmpty shows “© year Site name”. {year} is replaced by the current year.
Photo stripPhoto stripYour own photos — no Instagram connection needed.
Photo stripPhoto IDsMedia Library IDs separated by commas. Empty uses the featured images of your latest stories.
Photo stripBadge textFor example “@voyager.journal”. Links to your Instagram URL.
NewsletterNewsletter formEmails are saved on your site (with spam protection). Developers can pass them to a mail service with the voyager_newsletter_subscribed action.
NewsletterSmall title
NewsletterHeading
NewsletterText
NewsletterButton
NewsletterSmall printFor example “Join 12,400 readers. No spam.”
About the travelerNameEmpty uses the first administrator’s display name.
About the travelerPhotoMedia Library ID or image URL. Empty shows the initial.
About the travelerShort bio
About the travelerSignatureWritten in italic under the bio. Empty uses the name.
About the traveler“More about me” link
Travel statsStats strip
Travel statsNumbersOne per line: value|label, for example 54|Countries. Empty counts countries, destinations, trips and stories on your site.

08.7Blog

SectionOptionWhat it does
Blog & archivesPost list
Blog & archivesGrid columns
Blog & archivesSidebar on the blog pageShows only when the Blog sidebar has widgets.
Blog & archivesSidebar on archives and searchCategories, tags, authors, dates, continents, countries and search results.
Blog & archivesSticky sidebarThe sidebar stays in view while a long story or list scrolls (wide screens).
Blog & archivesBlog page titleEmpty uses “Stories from the road”.
Blog & archivesBlog intro
Blog & archivesExcerpt length

08.8Single post

SectionOptionWhat it does
Post layoutStory layoutAny story can choose its own in its Voyager page settings box.
Post layoutSidebarUses the Single post sidebar (or the Blog sidebar when that one is empty). Photo essay and Minimal reading never show one.
Post layoutReading progress bar
Post layoutTable of contentsBuilt from the H2 headings of stories with three or more.
Post layoutShare buttonsPlain links, no tracking scripts.
Post layoutRelated storiesSame trip first, then the same destinations, then the same category.
Post layoutAuthor box
Post layoutPrevious / next story

08.9Dark mode & motion

SectionOptionWhat it does
Dark modeDark mode button in the headerVisitors can switch; their choice is remembered.
Dark modeDefault scheme
MotionSoft reveal animationsCards fade in gently as they scroll into view. Never shown to visitors who prefer reduced motion.

Stories

10Story layouts

10 ways to open a story. Set the default in Theme OptionsSingle post, and change it for one story in its Voyager page settings box. The demo menu “Pages” links an example of each.

LayoutLooks likeSidebarExample
ClassicTitle, photo and story beside the sidebarYesOpen
StorytellerCentered title, wide rounded photoYesOpen
CoverTitle over a full-screen photoYesOpen
Overlay heroTall photo, title on a soft gradientYesOpen
JournalPhoto beside the title, trip cardYesOpen
Magazine splitTitle and facts left, big photo rightYesOpen
Map firstThe story’s places on a map, then the storyYesOpen
PostcardStamped postcard frame and postmarkYesOpen
Photo essayEdge-to-edge photos, no sidebarNo (one column)Open
Minimal readingNarrow column, nothing elseNo (one column)Open
Classic
Classic
Storyteller
Storyteller
Cover
Cover
Overlay hero
Overlay hero
Journal
Journal
Magazine split
Magazine split
Map first
Map first
Postcard
Postcard
Photo essay
Photo essay
Minimal reading
Minimal reading

10.1Parts of every story

PartSwitch
Reading progress bar at the top of the windowSingle postReading progress bar
Reading time next to the dateAlways on
“In this story” table of contents, built from the H2 headings (stories with three or more)Single postTable of contents
Trip and destination chips under the title (from the Travel links box)Shown when the story is linked
“This story is part of the trip” card with a link back to the tripShown when the story is linked to a trip
Share buttons (Facebook, X, Pinterest, WhatsApp, email, copy link) as plain linksSingle postShare buttons
Author box (name, photo and the Biographical Info from the user profile)Single postAuthor box
Previous / next story with photosSingle postPrevious / next story
Related stories: same trip first, then shared destinations, then the same categorySingle postRelated stories

10.2Writing a long story

  • Use H2 headings for sections: they become the table of contents.
  • For a highlighted tip, add a Group block and pick the Tip box style; start it with a small heading.
  • The Pullquote block is styled for one memorable line per story.
  • Any travel block (itinerary, budget, packing list, booking box, destination guide) can sit inside a story.
Tip

The Map first layout shows the places from the story’s Travel links box (or its trip). The Photo essay layout lets the photos inside the story run wider than the text.

Audience

12Newsletter

The footer sign-up form stores addresses on your own site, so no mail service is needed to start. Turn it on and change its wording in Theme OptionsFooterNewsletter.

The same Newsletter section shows how many people signed up and offers a Download CSV link (email and sign-up time in UTC) for importing into Mailchimp, Kit, MailerLite or any other service.

The form has spam protection: a security token, a hidden trap field and a limit on how often one visitor can try.

12.1Send sign-ups to a mail service

Developers can pass each new address on with the voyager_newsletter_subscribed action (in a child theme or a small plugin):

php
add_action( 'voyager_newsletter_subscribed', function ( $email ) {
	wp_remote_post( 'https://api.example-mail.com/v1/subscribers', [
		'headers' => [ 'Authorization' => 'Bearer ' . MY_MAIL_API_KEY ],
		'body'    => [ 'email' => $email ],
	] );
} );

Return false from the voyager_newsletter_store filter to stop storing addresses on your site.

Readers

13Contact form & shortcodes

Voyager Core includes a light contact form. Messages go to the site admin email and are also kept in Messages, so nothing is lost if an email bounces.

ShortcodeWhat it shows
[voyager_contact_form]Name, email, topic (just saying hi, trip question, collaboration, press) and message. Optional: button="Send", topic="press" to preselect a topic.
[voyager_newsletter]The newsletter sign-up form anywhere in a page. variant="card" (light) or variant="band" (on dark backgrounds).

In Elementor, add a Shortcode widget and paste the shortcode; in the block editor, use the Shortcode block. The demo Contact page shows both.

Note

Spam protection: a security token, a hidden trap field and at most five messages per visitor every ten minutes. The form sends without reloading the page, and still works without JavaScript.

Tip

Local sites and some hosts cannot send email. Install an SMTP plugin (for example WP Mail SMTP) so the admin email arrives; messages are always saved in Messages either way.

Comfort

14Dark mode & motion

Visitors can switch to a deep-ocean dark scheme with the moon button in the header. Their choice is remembered and loads before the first paint, so the page never flashes white.

Dark mode on the Solo Traveler homepage
Dark mode on the Solo Traveler homepage
OptionWhereChoices
Dark mode button in the headerTheme OptionsDark mode & motionOn / off
Default schemeTheme OptionsDark mode & motionLight, Dark, or Follow the visitor’s device
Soft reveal animationsTheme OptionsDark mode & motionCards fade in gently while scrolling. Never shown when the visitor prefers reduced motion.
Note

Page styles keep their own colors in light mode. In dark mode every page uses the shared dark palette, so text contrast stays right.

Languages

15RTL & translation

Voyager and Voyager Core support right-to-left languages such as Arabic, Hebrew and Persian. When WordPress runs in an RTL language, mirrored stylesheets load automatically.

RTL preview of the homepage
RTL preview of the homepage

Every stylesheet has an -rtl.css twin (theme, header, footer, single, editor, and each travel element). Maps keep left-to-right map controls, as map libraries expect.

15.1Translate

  1. Install the free Loco Translate plugin (or use Poedit).
  2. Create a translation for the theme from voyager/languages/voyager.pot and for the plugin from voyager-core/languages/voyager-core.pot.
  3. Set your site language in SettingsGeneralSite Language.
RTL preview

The live demo has an RTL preview link (?vyrtl=1). It is off on your site unless a developer enables it with the voyager_rtl_preview filter.

Performance

16Speed

Voyager is built to score high on PageSpeed. On our demo every homepage scores 90+ on mobile and 98+ on desktop.

  • Fonts are bundled and served from your site. Each page preloads only the fonts it uses.
  • Travel elements load their CSS and JavaScript only on pages that use them. The Post Grid slider script loads only for the slider layout.
  • Small first-screen stylesheets are printed inline, which saves round trips on mobile.
  • The first photo of a homepage or story loads first. Photos further down load lazily.
  • No jQuery on the front end of the theme.
  1. Go to ElementorSettingsPerformance.
  2. Set CSS Print Method to Internal Embedding and save.
Note

The demo import sets this for you. With internal embedding, each page carries its own small Elementor CSS instead of loading extra files, which helps mobile scores on Voyager’s pages. The demo uses this setting.

16.2Caching

Use a page cache: your host’s, or a plugin such as WP Super Cache, LiteSpeed Cache or WP Rocket. Turn off any “combine CSS/JS” option if a page looks wrong, because Voyager already keeps its files small and split.

Developers

17Child theme

Put custom code in the Voyager Child theme so updates never erase it.

  1. Install voyager-child.zip from AppearanceThemesAdd New ThemeUpload Theme. Keep Voyager installed.
  2. Activate Voyager Child. Theme Options and menus stay as they were (WordPress stores them per theme, so copy them over or re-run the import if needed).
  3. Add CSS to the child style.css and PHP to its functions.php.
php
/* voyager-child/functions.php: no sidebar on search results */
add_filter( 'voyager_sidebar', function ( $side ) {
	return is_search() ? 'none' : $side;
} );
Tip

To change a template, copy it from voyager/ into the same place in voyager-child/, for example template-parts/single/layout-cover.php.

Developers

18Hooks

Every action and filter in Voyager and Voyager Core, read from the code.

HookTypeFileUse it to
voyager_contact_sentActionvoyager-core/includes/class-contact.phpRuns after a contact message is saved and emailed (message ID, form data).
voyager_contact_toFiltervoyager-core/includes/class-contact.phpSend contact messages to another address than the site admin email.
voyager_contact_topicsFiltervoyager-core/includes/class-contact.phpChange the topics in the contact form.
voyager_content_widthFiltervoyager/inc/setup.phpChange the content width used for embeds (default 720).
voyager_core_asset_documentsFiltervoyager-core/includes/class-asset-loader.phpAdd posts (such as builder templates) whose elements need their assets.
voyager_core_count_viewsFiltervoyager-core/includes/class-widgets.phpReturn false to stop counting story views (used by the Popular stories widget).
voyager_core_country_codesFiltervoyager-core/includes/widgets/widgets.phpAdd country names → two-letter codes for the flags in the Destinations widget.
voyager_core_cpt_sectionsFiltervoyager-core/includes/class-relations.phpChange the sections shown on trip and destination pages.
voyager_core_demo_dirFiltervoyager-core/includes/class-demo-import.phpUse another folder of demo data for the importer.
voyager_core_elementor_defaultsFiltervoyager-core/includes/builders/class-elementor.phpChange the Elementor settings applied once on activation.
voyager_core_enqueue_allActionvoyager-core/includes/class-asset-loader.phpRuns when every element asset is loaded (builder previews).
voyager_core_featuresFiltervoyager-core/includes/class-registry.phpAdd or remove travel elements before they are registered.
voyager_core_fields_{slug}Filtervoyager-core/includes/class-feature.phpChange the settings of one travel element (slug such as travel-map).
voyager_core_import_budgetFiltervoyager-core/includes/class-demo-import.phpSeconds of work per import step (default 4).
voyager_core_inline_cssFiltervoyager-core/includes/class-asset-loader.phpReturn false to load element CSS as files instead of inline.
voyager_core_load_all_assetsFiltervoyager-core/includes/class-asset-loader.phpReturn true to load every element’s CSS and JS on every page.
voyager_core_map_tilesFiltervoyager-core/includes/class-maps.phpUse another map tile provider (URL, attribution, max zoom).
voyager_core_page_featuresFiltervoyager-core/includes/class-asset-loader.phpForce the CSS/JS of travel elements onto the current page.
voyager_core_render_{slug}Filtervoyager-core/includes/class-feature.phpFilter the HTML of one travel element.
voyager_core_sourceFiltervoyager/inc/plugins.phpPoint TGMPA at another Voyager Core zip.
voyager_defaultsFiltervoyager/inc/options.phpChange the default value of any Theme Option.
voyager_demo_thumbFiltervoyager/inc/header-nav.phpChange a homepage thumbnail in the Home mega menu.
voyager_features_menuFiltervoyager/inc/features-menu.phpChange the items of the Features mega menu.
voyager_fontsFiltervoyager/inc/options.phpAdd a bundled font to the Typography choices (name, CSS stack, files).
voyager_footer_htmlFiltervoyager/inc/header-footer.phpReturn your own footer HTML instead of the Voyager footer.
voyager_footer_layoutsFiltervoyager/inc/header-footer.phpAdd a footer layout (with a template-parts/footer/footer-{key}.php file).
voyager_header_htmlFiltervoyager/inc/header-footer.phpReturn your own header HTML instead of the Voyager header.
voyager_header_layoutsFiltervoyager/inc/header-footer.phpAdd a header layout (with a template-parts/header/header-{key}.php file).
voyager_header_transparentFiltervoyager/inc/header-footer.phpTurn the transparent header on or off for the current page.
voyager_inline_cssFiltervoyager/inc/perf.phpReturn false to load the theme CSS as files instead of inline.
voyager_layout_previewFiltervoyager/inc/header-footer.phpReturn false to switch off the ?vyheader= / ?vyfooter= preview links.
voyager_newsletter_storeFiltervoyager-core/includes/class-newsletter.phpReturn false to stop storing newsletter addresses on your site.
voyager_newsletter_subscribedActionvoyager-core/includes/class-newsletter.phpRuns after a new sign-up with the email address, to send it to a mail service.
voyager_options_schemaFiltervoyager/inc/theme-options.phpAdd, change or remove Theme Options tabs and fields.
voyager_page_stylesFiltervoyager/inc/page-style.phpAdd or change the per-page styles (palette, roundness, font pair).
voyager_pages_menuFiltervoyager/inc/features-menu.phpChange the groups and items of the “Pages” mega menu.
voyager_rtl_previewFiltervoyager/inc/rtl.phpReturn true to allow the ?vyrtl=1 RTL preview link.
voyager_sidebarFiltervoyager/inc/setup.phpPick the sidebar side (none, left, right) for the current view.
voyager_single_after_contentActionvoyager/template-parts/single/body.phpPrint something after the story text (before the author box).
voyager_single_after_headerActionvoyager/template-parts/single/head-classic.phpPrint something under the story header in every story layout.
voyager_single_journal_cardActionvoyager/template-parts/single/layout-journal.phpAdd to the trip card of the Journal layout.
voyager_single_layoutFiltervoyager/inc/setup.phpChange the story layout for the current story.
voyager_single_layoutsFiltervoyager/inc/single-layouts.phpAdd, rename or remove story layouts (add a template-parts/single/layout-{key}.php file).
voyager_single_mapActionvoyager/template-parts/single/layout-map.phpPrints the map at the top of the “Map first” layout (Voyager Core hooks in).
voyager_social_networksFiltervoyager/inc/header-footer.phpAdd or remove social networks in Theme Options → Social.
php
// Hide the Booking Box on stories older than two years.
add_filter( 'voyager_core_render_booking-box', function ( $html ) {
	return ( is_single() && get_the_date( 'U' ) < strtotime( '-2 years' ) ) ? '' : $html;
} );

Answers

19FAQ

Quick answers to common questions.

19.1Do I need Elementor Pro?

No. Everything in Voyager works with free Elementor. Pro adds its own extras, such as Theme Builder headers.

19.2Can I build pages without Elementor?

Yes. All 13 travel elements are also blocks with the same settings. Stories are written in the block editor.

19.3The map is empty.

Add Latitude and Longitude to your destinations (Map location box). The Travel Map shows destinations that have coordinates.

19.4Weather does not show in the Destination Guide.

Live weather needs the destination’s coordinates and comes from Open-Meteo (free, no key). It is cached for 30 minutes. Turn it off in the element if you prefer.

19.5Will updating the theme remove my changes?

No for content and settings. Code changes belong in the child theme.

19.6I imported the demo twice. Do I have duplicates?

No. The importer recognizes items it created and updates them. Pages you edited are skipped.

19.7How do I remove the demo content?

AppearanceVoyager Demos → Remove demo content. Only importer-created items are deleted.

19.8Does Voyager contact outside services?

Map tiles come from OpenStreetMap and the optional weather comes from Open-Meteo. Fonts and everything else are served from your own site, with no Google Fonts.

Help

20Support

Your purchase includes 6 months of support from the author. You can extend it on ThemeForest.

Open a ticket at https://fekbd.com/support/. Include your purchase code, your site address and what you see (a screenshot helps).

IncludedNot included
Questions about theme features and settingsCustom design or code changes
Bugs in Voyager or Voyager CoreProblems caused by third-party plugins or hosting
Help with the demo importInstalling on your server for you

History

21Changelog & credits

What changed in each version, and the open-source work Voyager uses.

21.1Version 1.0.0 (October 12, 2026)

  • Initial release: 6 homepages, 13 travel elements for Elementor and blocks, trips and destinations, 10 story layouts, 12 sidebar widgets, 5 headers, 3 footers, dark mode, RTL and a one-click demo importer.

21.2Credits

WhatLicense
Demo photos from UnsplashUnsplash License (demo only)
Fonts: Archivo, Cormorant Garamond, Dm Sans, Dm Serif Display, Figtree, Fraunces, Instrument Serif, Inter, Inter Tight, Jost, Nunito, Young SerifSIL Open Font License 1.1
Leaflet 1.9.4BSD 2-Clause
world-atlas (Natural Earth country shapes)ISC; Natural Earth data is public domain
Map tiles © OpenStreetMap contributorsODbL
Weather: Open-MeteoCC BY 4.0
TGM Plugin ActivationGPL-2.0-or-later

No topic matches. Try a shorter word.