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%
Simple Google Calendar Outlook Events Widget
Simple block or widget to display events from a public google calendar, microsoft office outlook calendar or an other iCal file, in the style of your website. The Gutenberg block requires at least WordPress 5.9. This simple block/widget fetches events from a public google calendar (or other calendar in iCal format) and displays them in simple list allowing you to fully adapt to your website by applying all kinds of CSS. Google offers some HTML snippets to embed your public Google Calendar into your website. These are great, but as soon as you want to make a few adjustments to the styling, that goes beyond changing some colors, they’re not enough. Plugin Features Calendar block or widget to display appointments/events of a public Google calendar or other iCal file. Block gives live preview in the editor and is not constrained to widget area. Old widget will be displayed in legacy widget block only in widget area. Old widget works also with Elementor (with some limitations e.g. preview in backend editor is not always available). Small footprint, uses only Google ID of the calendar, or ICS link for Outlook, or Url of iCal file, to get event information via iCal Merge more calendars into one block Manage events in Google Calendar, or other iCalendar source. Fully adaptable to your website with CSS. Output in unordered list with Bootstrap 4 listgroup classes and toggle for details. Choose date / time format in settings screen that best suits your website. Displays per event DTSTART, DTEND, SUMMARY, LOCATION and DESCRIPTION. DTSTART is required other components are optional. Displays most common repeating events. Frequency Yearly, Monthly, Weekly, Dayly (not Hourly, Minutely and smaller periods) Basic support for filter on Categories Warning: MS Outlook does not share categories via iCal now. Google and iCloud calendar don’t support categories at all. So this will not work with these calendars. In the screenshot below: Left the block with default settings and clicked on one summary. Right with some adjusted settings. Adjusted settings for start with summary: Lay-out: Start with summary. Date format first line: “. l jS \o\f F” Enddate format first line: ” – l jS \o\f F” Time format time summary line: ” G:i” Time format end time summary line: ” – G:i” Time format start time: “” Time format end time: “” Tag for summary: “strong” Documentation Gets calendar events via iCal url or google calendar ID Merge more calendars into one block Displays maximum the selected number of events as listgroup-items Displays only events in a selected period with a length of the setting “Number of days after today with events” from now limited by the time of the day or the beginning of the day at the start and the and of the at the end. Displays events in timezone of WordPress setting, or in Clients timezone with javascript REST call fetched from the clients browser. Displays event start-date and summary; toggle details, description, start-, end-time, location. Displays most common repeating events Frequency Yearly, Monthly, Weekly, Dayly (not parsed Hourly, Minutely …), INTERVAL (default 1), WKST (default MO) End of repeating by COUNT or UNTIL By day month, monthday or setpos (BYDAY, BYMONTH, BYMONTHDAY, BYSETPOS) no other by… (not parsed: BYWEEKNO, BYYEARDAY, BYHOUR, BYMINUTE, RDATE) Exclude events on EXDATE from recurrence set (after evaluating BYSETPOS) Respects Timezone and Day Light Saving time. Build and tested with Iana timezones as used in php, Google, and Apple now also tested with Microsoft timezones and unknown timezones. For unknown timezone-names using the default timezone of WordPress (probably the local timezone). (This widget is a Fork of version 0.7 of that simple google calendar widget by NBoehr https://nl.wordpress.org/plugins/simple-google-calendar-widget/) Copyright and License This project is licensed under the GNU GPL, version 2 or later. 2017 – 2023 © Bram Waasdorp.