Select one or more tags, then press “Search Plugins”

Find Plugin with any / all of the selected criteria
Search Plugin

WHA Tours Core Wordpress Plugin - Rating, Reviews, Demo & Download

WHA Tours Core Wordpress Plugin - Rating, Reviews, Demo & Download
No ratings yet
Free
Follow for free plugins, new theme releases and theme news

Plugin Description

WHA Tours Core keeps the content structure of a tour operator site in a plugin, so it survives a theme switch, as required by the WordPress.org theme guidelines.

The plugin registers:

  • The Tour post type (archive at /tours/, single tours at /tour/<slug>/), with title, editor, excerpt, featured image and revisions, available in the block editor and the REST API.
  • Three taxonomies: Tour Categories (hierarchical), Seasons and Countries.
  • Tour fields: days, transport, price, route stops, departure dates with availability status, and a “season hit” flag. The next departure date is computed automatically and used for sorting.
  • Category fields: image, short description and a colour key. Seasons have a sort order.
  • A demo content importer under Tours Import demo content (and wp wha-tours demo import), which fills a fresh site with a sample catalogue: four categories, four seasons, eleven countries, twelve tours with CC0 photographs, four pages, two menus, the Customizer settings of the WHA Tour Poster theme and the Reading settings. It never overwrites existing content and creates no duplicates when it is run twice.
  • A lead form as the [wha_tours_lead_form] shortcode and as the Lead form block. Submissions are checked against a nonce, a honeypot field and a one-minute-per-IP rate limit, emailed to the site administrator and stored as private Leads entries in the admin.

Template helpers for theme authors: wha_tours_core_get_meta(), wha_tours_core_get_tours(), wha_tours_core_get_term_image_id(), wha_tours_core_next_date(), wha_tours_core_format_dates(), wha_tours_core_transport_label(), wha_tours_core_transport_icon(), wha_tours_core_category_color() and wha_tours_core_price_label().

Developer notes

  • Meta key prefix. All tour and term meta registered by the plugin uses the _wha_tour_ prefix
    (_wha_tour_days, _wha_tour_transport, _wha_tour_price, _wha_tour_route,
    _wha_tour_dates, _wha_tour_hit, _wha_tour_next_departure, _wha_tour_image,
    _wha_tour_image_id,
    _wha_tour_short_desc, _wha_tour_color, _wha_tour_order). That prefix is shared with the
    WHA Tour Poster theme, which reads the same keys directly when it renders poster cards and season tabs, so
    renaming a key here breaks the theme templates. The lead entries use _wha_tours_core_lead_*
    instead, because nothing outside this plugin reads them.
  • Lead post type. Submitted requests are stored in the wha_tours_lead post type. WordPress limits a
    post type name to 20 characters, so the name cannot carry the full wha_tours_core_ prefix;
    wha_tours_lead is the prefixed short form and is registered private, with no public archive.

Resources

  • CMB2 v2.13.0 — https://github.com/CMB2/CMB2 — GPL-2.0-or-later, bundled in vendor/cmb2/cmb2,
    unmodified, except that three groups of files it does not need here are left out of the package:
  1. The wp-color-picker-alpha files (js/wp-color-picker-alpha.js and
    js/wp-color-picker-alpha.min.js). CMB2 only registers that script for colorpicker fields, which
    this plugin does not use, and the plugin additionally removes the wp-color-picker-alpha handle
    through the cmb2_script_dependencies filter.
  2. jQuery UI Timepicker Addon (js/jquery-ui-timepicker-addon.min.js, v1.5.0), which CMB2 registers
    as jquery-ui-datetimepicker for the text_time and text_datetime_timestamp field types. This
    plugin only uses text_date, and the same filter removes that handle too.
  3. CMB2’s own translation files (languages/). They belong to the cmb2 text domain, not to this
    plugin, and WordPress loads them from translate.wordpress.org wherever CMB2 is installed as a
    plugin of its own.

Demo content photographs, bundled in demo/images/ and imported by Tours Import demo content.
All of them come from Wikimedia Commons and are released under CC0 1.0 Universal (public domain
dedication), https://creativecommons.org/publicdomain/zero/1.0/. They were re-encoded as JPEG with
a long edge of at most 1280 pixels; the same list is repeated in demo/images/CREDITS.txt.

  • demo/images/beach-deckchair.jpg — File:Liegestuhl Strand Uwe (183891951).jpeg — https://commons.wikimedia.org/wiki/File:Liegestuhl_Strand_Uwe_(183891951).jpeg — Uwe Jelting — CC0 1.0
  • demo/images/prague-castle.jpg — File:Prague Castle at Night viewed from Charles Bridge.jpg — https://commons.wikimedia.org/wiki/File:Prague_Castle_at_Night_viewed_from_Charles_Bridge.jpg — Lucas Garron — CC0 1.0
  • demo/images/carpathians.jpg — File:Українські карпати.jpg — https://commons.wikimedia.org/wiki/File:%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%81%D1%8C%D0%BA%D1%96_%D0%BA%D0%B0%D1%80%D0%BF%D0%B0%D1%82%D0%B8.jpg — Slaydoggy — CC0 1.0
  • demo/images/lake-bled.jpg — File:Lake Bled, Slovenia (28439609952).jpg — https://commons.wikimedia.org/wiki/File:Lake_Bled,Slovenia(28439609952).jpg — Dimitry Anikin — CC0 1.0
  • demo/images/eiffel-tower.jpg — File:Eiffel Tower, Paris 12 June 2023.jpg — https://commons.wikimedia.org/wiki/File:Eiffel_Tower,_Paris_12_June_2023.jpg — Pierre Blaché — CC0 1.0
  • demo/images/budapest-chain-bridge.jpg — File:Széchenyi Chain Bridge in Budapest at night.jpg — https://commons.wikimedia.org/wiki/File:Sz%C3%A9chenyi_Chain_Bridge_in_Budapest_at_night.jpg — Wilfredor — CC0 1.0
  • demo/images/synevyr-lake.jpg — File:Transkarpaten Ukraine Synevyr – 2.jpg — https://commons.wikimedia.org/wiki/File:Transkarpaten_Ukraine_Synevyr_-_2.jpg — Bikerjimi — CC0 1.0
  • demo/images/danube-budapest.jpg — File:Danube, Budapest 20250628 160606.jpg — https://commons.wikimedia.org/wiki/File:Danube,_Budapest_20250628_160606.jpg — Vauia Rex — CC0 1.0
  • demo/images/krakow-old-town.jpg — File:Horse carriages in Krakow Old Town Square.JPG — https://commons.wikimedia.org/wiki/File:Horse_carriages_in_Krakow_Old_Town_Square.JPG — Rudolph.A.Furtado — CC0 1.0
  • demo/images/dresden.jpg — File:Dresden, Ernemannturm (Juni 2026) 4.jpg — https://commons.wikimedia.org/wiki/File:Dresden,Ernemannturm(Juni_2026)_4.jpg — Romzig — CC0 1.0
  • demo/images/vienna.jpg — File:Statue Eugenio of Savoy Heldenplatz Vienna Austria.jpg — https://commons.wikimedia.org/wiki/File:Statue_Eugenio_of_Savoy_Heldenplatz_Vienna_Austria.jpg — Jebulon — CC0 1.0
  • demo/images/kamianets-podilskyi-castle.jpg — File:Bridge to Kamyanets Podilsky Castle.jpg — https://commons.wikimedia.org/wiki/File:Bridge_to_Kamyanets_Podilsky_Castle.jpg — Brian Dell — CC0 1.0
  • demo/images/bran-castle.jpg — File:Bran Castle – Castelul Bran.JPG — https://commons.wikimedia.org/wiki/File:Bran_Castle_-_Castelul_Bran.JPG — Calatorinlume — CC0 1.0
  • demo/images/monaco.jpg — File:Spring time in Monte Carlo, Monaco (Unsplash).jpg — https://commons.wikimedia.org/wiki/File:Spring_time_in_Monte_Carlo,Monaco(Unsplash).jpg — Nick Karvounis — CC0 1.0

Screenshots

  1. The tour edit screen with the tour details fields.

    The tour edit screen with the tour details fields.

  2. The lead form on the front end.

    The lead form on the front end.


Reviews & Comments