Eventotron

Description

Eventotron is a festival and season management service used by arts festivals, fringes and venues. This plugin connects a WordPress site to a season in your Eventotron account and publishes it on the site.

What it does

  • Imports events, performances, venues and merchandise from your season as WordPress content, with the fields you choose mapped onto each page.
  • Adds searchable “What’s On” listings for events, performances and venues, filterable by date, genre, venue, keyword, your own custom fields, and distance from a typed location.
  • Shows a map of the results and of each venue.
  • Adds a “departure board” shortcode of the next performances starting near the visitor, using their browser’s location if they allow it.
  • Keeps the site in step with Eventotron: refresh a season by hand, or let a background sync pick up changed events and venues every 15 minutes.
  • Sells tickets and merchandise through the Eventotron checkout. Buying happens inside Eventotron’s own window; this plugin does not take payment details.
  • Lets buyers sign in to their Eventotron account from your site with the [etron_account] shortcode, so they can see their orders. Sign-in happens inside Eventotron’s window too.
  • Lets you tailor every listing and page layout from the settings screens, or override the templates from your theme.

You need an Eventotron account. The plugin does nothing until it is connected to a season with an API key from your Eventotron dashboard. Eventotron is a paid service; see https://eventotron.com for plans and terms.

Third-party code

  • Leaflet 1.9.4 (https://leafletjs.com), BSD-2-Clause, bundled unminified in assets/lib/leaflet.
  • The distance search is adapted from WP Geo Query by Greg Schoppe (https://gschoppe.com/wordpress/geo-searches/).

External services

This plugin relies on the services below. Nothing is sent to anyone else, and no usage data is collected by the plugin itself.

Eventotron (https://eventotron.com) — the service this plugin exists to publish. It is used for three things:

  • Importing your season: the plugin fetches your season’s events, performances, venues and merchandise from Eventotron’s API (https://eventotron.com/api/wp-bridge/) using the season API key you enter in the settings. This happens when you connect or refresh a season, and every 15 minutes if background sync is switched on. Only the API key is sent.
  • Selling tickets: pages that sell tickets load Eventotron’s checkout script from https://eventotron.com/embed/v1/embed.js. Ticket selection, buyer sign-in and payment all happen inside Eventotron’s own window; this plugin never sees payment details or buyer accounts.
  • The “Where” filter: the place name a visitor types is sent to Eventotron to be turned into map coordinates. Nothing else about the visitor is sent, and results are cached for a day.

Terms: https://eventotron.com/terms. Privacy: https://eventotron.com/privacy. You need an Eventotron account for any of this to work.

Eventotron’s image store — when you import an event, venue or merchandise item, its main image is downloaded from Eventotron’s content delivery network (d1vlmco8ur52ud.cloudfront.net) into your media library, and built-in listings, maps and social-image metadata use that media-library copy. If the image import fails, these views omit the image rather than loading the original remote URL. Custom template fields styled as images, custom HTML and theme overrides may still load URLs supplied by the site owner or the imported data directly; those image hosts then receive the visitor’s IP address and normal browser request headers. Covered by the Eventotron terms and privacy policy above.

OpenStreetMap (https://www.openstreetmap.org) — map tiles are loaded from OpenStreetMap’s public tile servers when a page shows a map, which means those servers receive the visitor’s IP address as part of the request. Tile usage policy: https://operations.osmfoundation.org/policies/tiles/. Privacy: https://wiki.osmfoundation.org/wiki/Privacy_Policy. Busy sites should use the etron_map_tile_url and etron_map_tile_attribution filters to point at a hosted tile provider of their choice.

YouTube and Vimeo — if an event or venue in your season has a YouTube or Vimeo video, its page embeds that video with the provider’s own player (youtube.com, player.vimeo.com), which loads only when that page is viewed. YouTube terms: https://www.youtube.com/t/terms, privacy: https://policies.google.com/privacy. Vimeo terms: https://vimeo.com/terms, privacy: https://vimeo.com/privacy.

The visitor’s browser location — the departure board’s “Nearest” option asks the browser for the visitor’s location. The browser asks the visitor for permission first, and the coordinates are used only to order results on that page; they are not stored.

Installation

Before you start: This version of the plugin replaces any previous version distributed directly from Eventotron or sent to you by Eventotron staff (anything with version number 4.x.x or lower). Please deactivate and remove older versions before proceeding to install this version. You only need to do this once – future upgrades will be handled automatically.

  1. Upload the plugin folder to /wp-content/plugins/, or install it from the Plugins screen, and activate it.
  2. Go to Eventotron in the admin menu and paste the API key for your season from your Eventotron dashboard. The season appears as a new tab.
  3. On the season tab, choose which Eventotron fields supply the event image, description and genre, save, then import the events you want to publish.
  4. Your listings are now live at /events/, /performances/ and /venues/. Add them to your menus. Visit Settings > Permalinks once if the pages return 404.
  5. Optional: switch on Auto-sync with Eventotron under Eventotron > Settings to keep imported content up to date automatically.

FAQ

Do I need a Google Maps API key?

No. Maps use OpenStreetMap through Leaflet, and place names typed into the location filter are looked up through your Eventotron account. There is nothing to configure.

Can I use a different map provider?

Yes. Add the etron_map_tile_url and etron_map_tile_attribution filters in your theme or a small plugin to point the maps at any XYZ tile provider, such as MapTiler or Stadia Maps.

Does the plugin handle payments?

No. Ticket and merchandise purchases open Eventotron’s own checkout in a window on the page. Card details never touch your WordPress site.

Can I change how the pages look?

Yes. The settings screens control which fields appear where on each listing, page and tile. For deeper changes copy any of the plugin’s single-*.php, archive-*.php or taxonomy-*.php templates into your theme; the theme copy is used instead.

Can buyers sign in to their Eventotron account on my site?

Yes. Put [etron_account] in a page, widget or template. It shows a “Sign in” button that opens Eventotron’s own sign-in (email link or password) in a window on the page, and once signed in shows the buyer’s name with a link to their orders. Add style="icon-only" for a compact icon. For a button in your theme, call etronOpenLogin() from its onclick. Nothing about the buyer’s account is stored in WordPress.

Which pages sell which season?

Each event, performance and merchandise page sells the season it was imported from. Listings, the departure board and your own pages sell the Sales season chosen under Eventotron > Settings.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Eventotron” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Eventotron” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

5.2.10

  • The advanced-search toggles on the events listing now read the page’s own ?adv= query string directly instead of a variable set by the template, so no unprefixed global remains and theme copies of archive-events.php from any version keep their toggles ticked.

5.2.9

  • The one-time 5.2.5 content migration now also runs on sites whose only seasons are archived, and retries on sites where 5.2.8 recorded it as finished without completing it. If a listing or a genre filter went empty after updating, this release repairs it.
  • A genre, date or venue term shared with content from another plugin is now copied rather than renamed, so the other plugin keeps its own term and yours moves across with its settings and description intact. Term counts and cached listings are refreshed as the migration goes.
  • If a term cannot be created, the migration now stops and leaves your existing content exactly as it was, rather than recording itself as finished. The next admin page load tries again.
  • Listings, maps and social-sharing images use the copy of each image in your own media library. Where an image did not import, these views leave it out instead of loading the original from Eventotron.
  • Template settings uploads and the bundled defaults are read through WordPress’s own JSON file reader.

5.2.8

  • The one-time 5.2.5 content migration now only runs on sites that had an earlier version installed, and only renames posts and terms this plugin imported (identified by the Eventotron meta it stamps on them). A fresh install no longer touches any other plugin’s content that happens to use a post type called events or venues.
  • Every admin request handler checks its nonce and the user’s capability inline, and the import routines no longer read the request themselves; they receive their ids from the handler that already verified it.
  • Filter results come back as plain markup: the response no longer carries <script> tags, and the plugin’s script reads a hidden state element instead. Ticket buttons use data attributes rather than inline onclick handlers, so a strict Content Security Policy no longer blocks them.
  • Bundled icons are filed in the media library through the WordPress filesystem and media APIs. Requires WordPress 5.9 or later.

5.2.7

  • The ticket window is no longer cut off at the bottom of the screen on phones, so you can reach the bottom of a long list of ticket options.
  • “Add to Basket” now stays in view while you scroll through the ticket options, instead of sitting below the last one.
  • Ticket options you cannot buy say why — “Sold out”, “Maximum 6 per order” or “No more available” — rather than only greying out the + and − buttons.
  • Where several ticket types share one section’s remaining tickets, taking the last of them now closes the others, so you can no longer pick more tickets than exist and have the basket refuse them at the end.
  • These are changes to the Eventotron ticket window itself, which is served from eventotron.com. This release updates the plugin’s version number so visitors’ browsers fetch the new version rather than reusing a cached copy.

5.2.6

  • Shortcodes and theme templates written before 5.2.5 that still ask for events, performances, venues, merch, sku or archived-events by their old names now find the right content again instead of showing nothing. If you have [etron_events post_type="performances"] on a page, it works as it did before 5.2.5 — though it is worth updating it to etron_performances when you next edit the page.

5.2.5

  • New [etron_account] shortcode: a “Sign in” button that opens Eventotron’s own sign-in on the page, and once the buyer is signed in shows their name with a link to their orders. Add style="icon-only" for the compact icon, or call etronOpenLogin() from a button in your own theme. Nothing about the buyer’s account is stored in WordPress.
  • Post types and taxonomies now carry the plugin’s prefix (etron_events, etron_performances, etron_venues, etron_merch, etron_sku, etron_archived; etron_genres, etron_dates, etron_venues, etron_seasons). Existing content is migrated on the first page load after updating, and public URLs such as /events/ and /performances/ do not change. See the upgrade notice if your theme overrides the plugin’s templates.
  • The Facebook Pixel is no longer loaded. It fired on every event and performance page that had a meta_pixel_id field, with no opt-in and no visitor consent; use a consent-aware tag manager instead.
  • The “Add a button” item in the event and venue template editors is gone, along with the “Please Login” image it produced. It was left over from the old built-in box office and had nothing behind it since 5.0.0; a button saved in older settings now renders nothing.
  • Every script and stylesheet the plugin adds to a page goes through WordPress’s enqueue system rather than inline tags, and the admin screens share one stylesheet.
  • Venue term pages show the venue image from your media library instead of hotlinking Eventotron’s CDN.
  • Settings saved from the Settings and template screens are sanitized field by field, and admin requests always use admin_url().
  • The [etron_dboard] shortcode returns its markup instead of printing it, so it works inside blocks and other shortcodes.
  • No more “incorrectly called” notice on activation. The Eventotron menu now sits with the other plugin menus at the bottom of the admin sidebar.
  • The External services section of this readme now lists every host the plugin talks to.

5.2.4

  • Every global constant and class carries the plugin’s own prefix (EE_CORE, EE_VERSION and friends are now ETRON_CORE, ETRON_VERSION, etc.), closing the last warnings from the WordPress.org Plugin Check pass. No user-facing changes.

5.2.3

  • Full Plugin Check pass: every superglobal read sanitized, every AJAX and admin endpoint nonce-verified (including a new nonce on the template import forms), no unprefixed global function or variable names, and every direct database query either replaced or documented. No user-facing changes.

5.2.2

  • Text domain is eventotron, matching the WordPress.org slug, so translations load.
  • No hardcoded plugin folder paths: assets and template fallbacks resolve wherever the plugin is installed.

5.2.1

  • The plugin’s directory listing links to its knowledge-base article at eventotron.com.

5.2.0

  • Maps are drawn with Leaflet on OpenStreetMap tiles. The Google Maps key is gone and there is nothing to configure; use the etron_map_tile_url filter to pick another tile provider.
  • The “Where” filter looks places up through your Eventotron account instead of Google Places.
  • Security and standards pass for the WordPress.org directory: every output escaped, all database queries prepared, direct-access guards on every file, the WordPress HTTP API in place of cURL, and one text domain throughout.
  • Plugin renamed to Eventotron. Super Simple Box Office was retired in 5.0.0.

5.1.1

  • Buy buttons now sell the season the performance belongs to, and pages not tied to one season use the new Sales season setting.

5.1.0

  • Background sync: changed events and venues are refreshed from Eventotron every 15 minutes when enabled.
  • Removed legacy code paths.

5.0.0

  • Ticketing moved to the Eventotron checkout. The built-in Super Simple Box Office was removed.