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%
Events Manager – Calendar, Bookings, Tickets, and more!
Events Manager is a full-featured event calendar, bookings, appointments, scheduling, and registration management plugin for WordPress ideal for everything from simple meetups to full-scale event planning. Built with flexibility, reliability and powerful features in mind. Demo Documentation Tutorials Main Features NEW Integrate easily with your favourite AI via MCP, unlock the power of AI-powered Events! NEW API Rest Integration NEW EU Compliance Tools for “Right of withdrawal” (EU ‘Widerrufsbutton’) Beautiful calendars, search pages, lists, grids and booking forms to enhance your site events. Easy event registration (single day with start/end times) Recurring and long (multi-day) event registration Build complex recurrence patterns with exclusion/blackout dates NEW Multiple timeslots within the day for events with advanced creation options Overlapping timeslots Buffer between timeslots Bookings Management (including approval/rejections, export CVS, and more!) Multiple Tickets Fully-featured graph and statistics including bar/line/pie with comparison and stacking MultiSite Event Support Cross-Network Event Sharing – show your events and booking fromss on other subsites or main site Network-wide Global Booking Management BuddyPress and BuddyBoss Support Create modular (independent) event subsites or inter-networked events Multiple custom event types (Archetypes), such as Workshops, Events, Webinars, Appointments etc. Customize your labels, slugs and CPT names Enable or disable specific features for specific event archetypes. Multiple Location Types Physical Locations Online Events (URLs) Zoom Webinars/Meetings Integration BuddyPress & BuddyBoss Support Submit Events Group Events Personal Events Activity Stream more on the way Guest/Member Event submissions Assign event locations and view events by location Event categories Easily create custom event attributes (e.g. dress code) Google Maps (see our API usage recommendations) Advanced permissions – restrict user management of events and locations. Widgets for Events, Locations and Calendars Fine grained control of how every aspect of your events are shown on your site, easily modify templates from the settings pages and template files iCal Feed (single and all events) Add to Google Calendar buttons RSS Feeds Compatible with SEO plugins Timezone Support – create events in different timezones Plenty of template tags and shortcodes for use in your posts and pages Gutenberg block editor support, with native blocks for the Events Calendar, Events List, and Locations List — usable in posts, pages, the site editor and the widget editor Actively maintained and supported Lots of documentation and tutorials NEW Gutenberg Supported And much more! AI Integration AI is here, and we’re on board! Check out what’s possible with our new and evolving AI integration possibilities: Data Privacy and GDPR Compliance We provide the tools to help you be GDPR compliant, including: export/erasure of data via the WordPress Privacy Tools, including booking, event and location data consent checkboxes on our booking, event and location forms on the frontend settings to control what can be exported/erased as well as where/when to place consent requests sample text for your site privacy policy describing what Events Manager does with personal data Premium Features We have a premium Pro add-on for Events Manager which not only demonstrates the flexibility of Events Manager, but also adds some important features including but not limited to: WooCommerce integration (sold separately) PayPal, Stripe, Authorize.net, Square, Xero and Offline Payments Custom booking forms Individual Attendee custom forms Upload fields for bookings, attendees and users Printable Invoices and Tickets Send PDF tickets/invoices by email automatically Check In/Out Move bookings to other dates/times QR Scanning Manage bookings on your phone Check In/Out users Waitlists Automation – ultimate flexibility in automation! Triggers: X time before/after events start When a booking status changes When a booking was booked x time ago Actions Send Webhook (Zapier, MS Automation and many other services) Send Email Send WhatsApp, SMS, Telegram notifications WhatsApp, SMS, Telegram integration and interactive flows Coupon Codes Custom booking email per event and gateway Faster support via private Pro forums For more information or to go pro, visit our plugin website. Additional Plugin Integrations Whilst there’s many third party integrations with our own plugin, here’s some we’ve integrated ourselves! Included in Events Manager (automatic integration) BuddyPress WP FullCalendar Thrive Automator Additional Add-Ons Zoom WPML Multilingual Sites