AM Events
The purpose of this plugin is to add an event type similar to the normal post type. By design this plugin doesn’t provide any ready-made layouts, and allows the events to be fully integrated and customized to the theme of your choosing. Current Features Admin pages to view/create/modify events. Available data fields for events: start date, end date, venue, category Create weekly or biweekly recurring events Fully customizable widget for displaying upcoming events. The custom post type created by the plugin is named ‘am_event’ and has two taxonomies: ‘am_event_categories’ and ‘am_venues’. Dates are stored as post metadata. Displaying the events is done in the theme files using WP_Query and the template tags provided by the plugin. This allows full control over the layout and what elements to show. The widget for displaying upcoming events uses a simple template system for full control of the layout. If you think something critical is missing, feel free to send me a request. The plugin is available in the following languages (pot-file included for additional translations): English French Norwegian Finnish TUTORIAL For integrating AM Events to an existing theme, I suggest creating a child theme with custom page templates. You can find an example of a working Twenty Twelve child theme from https://github.com/attemoi/am-events-child-theme containing three different page templates for event pages. Widget Here are the shortcodes available in the upcoming events widget template. [event-title] [start-date] [end-date] [event-venue] [event-category] [content] [thumbnail] [excerpt] [permalink] [meta] Conditional shortcodes: [if cond=”startdate-is-enddate”] [if cond=”startdate-not-enddate”] [if cond=”startday-is-endday”] [if cond=”startday-not-endday”] [if cond=”has-venue”] [if cond=”has-category”] The title can be linked to the event post with the ‘link’ attribute, e.g. [event-title link=true] The category and venue can also be linked similarly to their respective archive pages using the ‘link’ attribute, e.g. [event-category link=true] The number of words displayed in the title, content or excerpt can be limited by the ‘limit’ attribute, e.g. [content limit=25] or [event-title limit=10]. The dates can be formatted using the ‘format’ attribute, e.g. [start-date format=’d.m.Y H:i’] (see PHP date for formatting options). If no format is given, the default WordPress date format is used. You can use any shortcode as many times as needed in a single template. To separate date and time of start date for example you could write: [start-date format='d.m.Y'] divider [start-date format='H:i'] Example usage of conditional shortcode: [start-date format='D d.m.Y H:s'] [if cond='startdate-not-enddate'] - [end-date format='D d.m.Y H:s'] [/if] Template tags Template tags were introduced in version 1.3.0 and are listed below. More documentation can be found in the source files. // Template tags for getting and displaying event dates am_the_startdate($format = 'Y-m-d H:i:s', $before = '', $after = '', $echo = true) am_get_the_startdate( $format = 'Y-m-d H:i:s', $post = 0 ) am_the_enddate($format = 'Y-m-d H:i:s', $before = '', $after = '', $echo = true) am_get_the_enddate( $format = 'Y-m-d H:i:s', $post = 0 ) // Template tags for getting and displaying event venues am_get_the_venue( $id = false ) am_in_venue( $venue, $post = null ) am_get_the_venue_list( $separator = '', $parents='', $post_id = false ) am_the_venue( $separator = '', $parents='', $post_id = false ) // Template tags for getting and displaying event categories am_get_the_event_category( $id = false ) am_get_the_event_category_list( $separator = '', $parents='', $post_id = false ) am_in_event_category( $eventCategory, $post = null ) am_the_event_category( $separator = '', $parents='', $post_id = false ) Example of displaying the first category of the current event post: $categoryArray = am_get_the_event_category(); echo $categoryArray[0]->name; Creating a WP_Query The custom post type is named ‘am_event’ The taxonomies are named ‘am_venues’ and ‘am_event_categories’. The event post has metadata named ‘am_startdate’ and ‘am_enddate’ that are formatted like ‘yyyy-mm-dd hh:mm’ So suppose I wanted to display all events with a category of ‘other’ and venue ‘mcdonalds’. I would then make a WP_Query like this: $args = array( 'post_type' => 'am_event', 'post_status' => 'publish', 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'am_venues', 'field' => 'name', 'terms' => 'mcdonalds', ), array( 'taxonomy' => 'am_event_categories', 'field' => 'name', 'terms' => 'other' ), ), ); $the_query = new WP_Query($args); if ($the_query->have_posts()) { while ($the_query->have_posts()) { $the_query->the_post(); $postId = $post->ID; // Use template tags to get start and end date $startDate = am_get_the_startdate('Y-m-d H:i:s'); $endDate = am_get_the_enddate('Y-m-d H:i:s'); // Use template tags to get venues and categories in an array $venues = am_get_the_venue( $postId ); $eventCategories = am_get_the_category( $postId ); // All the other functions used for posts like // the_title() and the_content() work just like with normal posts. // ... DISPLAY POST CONTENT HERE ... // } } If you want the events ordered by start date, add the following to $args: 'orderby' => 'meta_value', 'meta_key' => 'am_startdate', 'order' => 'ASC', If you need to display only upcoming events, add the following meta_query argument to $args: 'meta_query' => array( array( 'key' => 'am_enddate', 'value' => date('Y-m-d H:i:s', time()), 'compare' => ">", ), ), The plugin folder also contains a file “examples.php”, which contains an example function for displaying upcoming events in a table.
Top keywords
- event18×2.01%
- post17×1.90%
- events13×1.45%
- ''12×1.34%
- format12×1.34%
- template11×1.23%
- category10×1.11%
- date9×1.00%
- s'9×1.00%
- venue9×1.00%
- displaying8×0.89%
- tags8×0.89%
Event Koi Lite – Events Calendar, Event Management, RSVP, and Tickets
EventKoi Lite is a modern WordPress events calendar plugin built for site owners who want an unbloated and intuitive event management plugin. Create and manage in-person and virtual events, display a beautiful events calendar or event list, sell tickets, event bookings, manage RSVPs and attendees, all from a clean, intuitive admin. ✓ Events calendar & event list — Display events in a calendar, list, or grid view using blocks, shortcodes, Elementor, or Beaver Builder ✓ Event registration & RSVP — Let attendees register for events, manage capacity, and check in with check-in codes ✓ Sell event tickets with WooCommerce — Create multiple ticket types per event, set capacity and pricing, and sell tickets using any WooCommerce payment gateway including Stripe and PayPal ✓ Attendee management — Export your attendee list and manage check-ins from your WordPress admin ✓ In-person and virtual events — Supports Google Maps for venues and auto-detects visitor timezone for virtual and international events ✓ Google Calendar, iCal & Outlook sync — Let attendees add events to their own calendar with one click ✓ Accessible & responsive — Keyboard navigation, ARIA labels, and a fully mobile-friendly events calendar ✓ Event SEO — Automatic JSON-LD structured data markup so your events appear in Google search results and rich snippets ✓ Blocks, shortcodes & page builders — Works with Gutenberg, Elementor, and Beaver Builder out of the box ✓ Secure, well-built code that follows WordPress coding standards ✓ Active development, responsive support, and thorough documentation Need recurring events, unlimited calendars, and custom fields? Upgrade to EventKoi Pro → Event management Add multiple event days, each with its own start and end time Create multiple venue events. Combine in-person and virtual event locations Create in-person events with Google Maps venue embedding Create virtual events with automatic visitor timezone detection Use your WordPress site’s date, time, and timezone settings Customize event page templates in the block editor Localization-ready Events Calendar & Event Listing Embed an events calendar using a block, shortcode, Elementor widget, or Beaver Builder module Display an event listing as a list or grid view Filter events by date range or calendar Accessible calendar views with full keyboard navigation and ARIA labels Fully responsive and mobile-friendly for all screen sizes Set the calendar’s starting day of the week Choose 12 or 24-hour time display Organize all your events under your events calendar. Upgrade to Pro for multiple calendars to segment events by category, location, or type Event Registration & RSVP Management Set event capacity and display remaining spots to encourage signups Let attendees submit and update their event registration (RSVP) Send automated confirmation emails with check-in codes Manage attendee registration and check-ins from WordPress admin Export your full attendee list Sell Event Tickets & Event Booking with WooCommerce Use any WooCommerce payment gateway (Stripe, PayPal, and more) to sell tickets directly from your WordPress site Create multiple ticket types per event (e.g. General Admission, VIP, Early Bird) Set individual pricing, capacity, and availability for each ticket type Offer free tickets or paid tickets Set ticket sale windows — open and close ticket sales on specific dates Set a maximum number of tickets per order Show or hide remaining ticket quantities to create urgency Add terms and conditions per ticket type Require buyers to have a WordPress account, or auto-create one at checkout Automated ticket confirmation email with check-in code sent on purchase Automated refund confirmation emails Manage all ticket orders and attendees from your WordPress admin Track tickets sold and total earnings with built-in reporting Export your full attendee list Calendar Sync & Sharing Let visitors add events to Google Calendar, iCalendar, Outlook 365, or Outlook Live Auto-detect visitor timezone for virtual and international events Social sharing built in Event SEO & Structured Data EventKoi Lite automatically outputs JSON-LD structured data for every event, helping your events appear in Google Search rich results and event snippets. Structured data is built in, no configuration needed. Page Builder Integrations Elementor: Embed an events calendar or event data using native Elementor widgets Beaver Builder: Embed an events calendar or event data using native Beaver Builder modules Block editor and shortcode support Shortcode builder: Build shortcodes with multiple queries to display a calendar or list of events Block Editor: Add an events calendar, event query loop block or event data block directly in the WordPress editor Import events from The Events Calendar Switching from The Events Calendar? Import your events in minutes with our built-in migration tool Event titles, descriptions, dates, times, and timezones All-day and multi-day event settings Venue and location data Organizer information Event categories Recurrence rules (converted to EventKoi’s recurring event format) Google Maps embed settings Featured images Duplicate events detector. Re-running the importer won’t create duplicates. Get advanced features with EventKoi Pro Recurring events Create advanced rules for events that repeat daily, weekly, monthly, yearly, Edit individual event instances (custom name, location, description, and more) Automatically create a dedicated event series page Custom fields Add custom fields and field groups to any event Import custom fields from The Events Calendar Multiple event calendars Lite includes one calendar. Pro unlocks unlimited calendars so you can segment events by type, department, location, or audience Advanced Elementor and Beaver Builder integrations Build custom templates and use Loop features to build queryable event lists. Priority support 30-day money-back guarantee Get EventKoi Pro → Helpful links EventKoi documentation EventKoi blog Support Forum (please check existing threads before starting a new one) Contact us (for non-support related questions) External services This plugin can connect to the Google Maps JavaScript API in order to display interactive maps inside event and calendar views. It sends your configured Google Maps API key (if provided) along with requests made by the visitor’s browser when viewing a page that contains an embedded map. No personal data is sent by the plugin itself, but Google may collect usage data in accordance with their policies. This connection only happens if maps are enabled in the plugin settings and a page with an event location map is viewed. This service is provided by Google LLC: Terms of Service, Privacy Policy.