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%
Bookster – WordPress Appointment Booking Plugin
Managing appointments through phone calls, texts, and emails is chaotic. You lose track of bookings, double-book appointments, and spend hours on scheduling instead of serving customers. Bookster turns your WordPress site into a 24/7 booking system. 🌐 View All Demos Customers book appointments themselves, see real-time availability, and receive automatic confirmations. You manage everything from one dashboard. 📌 Documentation | Core Pro vs All Access 💫 Perfect For Hair salons and barbershops Spas and beauty clinics Massage therapists and wellness centers Personal trainers and fitness coaches Consultants and coaches Tutors and education services Medical and dental practices Any service business that takes appointments 💙 How It Works Customers visit your booking page, choose a service, pick their preferred staff member, select an available time slot, and book instantly. You receive an email notification and can view all appointments in your calendar dashboard. No more back-and-forth scheduling. 🔥 Key Features (100% Free) Unlimited Bookings & Services Create unlimited services with custom names, descriptions, and photos Set individual duration and pricing for each service Add taxes, fees and discounts to bookings No limits on number of appointments per month Offer service add-ons and upsell options Smart Scheduling Set your working hours for each day of the week Configure different availability for different services Add buffer time between appointments (e.g., 15-minute cleanup) Block off days for vacations or holidays Set minimum advance notice for bookings (e.g., require 24-hour notice) Customer Booking Experience Clean, mobile-friendly booking form that works on all devices Multi-step process: choose service → select staff → pick time → enter details → confirm Customers see only available time slots (no double-booking) Optional customer account dashboard to view and manage their bookings Customers can cancel or reschedule appointments themselves Payment Options Accept cash/check for in-person payment Accept PayPal payments online (customers pay when booking) Stripe integration available via premium addon for credit card payments Mark bookings as paid or unpaid manually Track revenue in the analytics dashboard Automatic Notifications Email confirmation sent to customers immediately after booking Reminder emails sent before appointment Email notifications sent to admin when new bookings arrive Customize email templates with your branding All emails sent automatically – no manual work required Admin Dashboard View all appointments in Bookster → Calendar menu Switch between day, week, and month calendar views Click any appointment to view or edit details instantly Filter appointments by status (confirmed, pending, cancelled) Search for specific customers or appointments Drag appointments to different dates to reschedule Color-coded by service or staff member for quick overview Analytics & Reports Track total bookings and revenue right from dashboard View performance by service (which services are most popular) Monitor individual agent performance Make data-driven decisions about staffing and services Premium Addons (Optional) Upgrade your booking system with these customizable options: Staff Management Add unlimited team members from Bookster → Agents menu Set individual working hours for each staff member Assign specific services to specific team members Let customers choose their preferred agent or assign automatically Track performance and bookings per agent Booking Form Customize booking form steps (reorder, add, or remove steps) Add custom fields to collect specific information Enable recaptcha, brand logo, timezone selector, and more for your booking system. Advanced Features (coming in future addons) Group bookings and classes Recurring appointments Multiple locations management SMS notifications via Twilio Design Toolkit for Block Editor and Elementor Getting Started Adding the Booking Calendar to Your Site Method 1: Shortcode (Works Anywhere) Add [bookster_booking_form] to any page, post, or widget area. Method 2: Block Editor 1. Edit the page where you want the booking form 2. Click the + button to add a block 3. Search for “Bookster” 4. Select the Bookster Booking Form block 5. Publish the page Method 3: Classic Editor Paste [bookster_booking_form] directly into your content. Viewing and Managing Appointments Go to Bookster → Calendar in your WordPress dashboard You’ll see all appointments in calendar format Click any appointment to view details or make changes Use the view buttons at top to switch between day/week/month views Use filters to show appointments based on agents or booking status Creating a Manual Booking (For Walk-Ins or Phone Bookings) Go to Bookster → Calendar Click the + New Appointment button (or click an empty time slot) Select the service and staff member Choose date and time Enter customer information (name, email, phone) Select payment method Click Create Appointment Customer automatically receives confirmation email Troubleshooting Booking calendar not showing on my page Check 1: Verify the shortcode Make sure you added [bookster_booking_form] exactly (with square brackets). Check 2: Clear cache If using a caching plugin, clear your cache: WP Rocket → Clear Cache or similar. Check 3: Theme conflict Temporarily switch to a default WordPress theme (Twenty Twenty-Five) to test. If it works, there’s a theme conflict. Customers not receiving email confirmations Check 1: Email settings Go to Bookster → Integrations → Email tab and confirm email notifications are enabled. Check 2: Check spam folders Ask customers to check spam/junk folders. Add your domain to their contacts. Check 3: WordPress email issues WordPress email can be unreliable. Install an SMTP plugin like YaySMTP to improve email delivery: 1. Install YaySMTP plugin 2. Connect it to Gmail, SendGrid, or Mailgun 3. Send a test email to verify Check 4: Test with yourself Create a test booking using your own email to confirm emails are sending. Time slots not showing as available Check 1: Working hours configured Go to Bookster → Settings → Schedule and verify hours are set for the day in question. Check 2: Agent availability If using staff members, check Bookster → Agents and verify the agent works on that day. Check 3: Minimum advance notice Check Bookster → Settings → General → Restrictions, if you require 24-hour notice, today’s appointments won’t show. Check 4: Service duration If your service is 2 hours but only 1 hour remains before closing time, that slot won’t appear. Double bookings happening This shouldn’t happen with Bookster. If it does: Check 1: Multiple admin users If multiple people manage bookings, ensure everyone refreshes the calendar before creating appointments. Check 2: Contact support If this persists, contact Bookster support with specific examples. PayPal payments not working Go to Bookster → Settings → Payments tab Verify your PayPal email address is correct Confirm PayPal is enabled (toggle should be blue/on) Test in PayPal sandbox mode first Check if PayPal account is verified and can accept payments Review PayPal transaction logs for error messages Calendar showing wrong timezone Go to Settings → General in WordPress Set your city timezone correctly (e.g., “New York” or “Berlin”) Save changes Go to Bookster → Settings and verify timezone matches Clear browser cache and reload Third-Party Services Bookster uses these external services to provide full functionality: FullCalendar.io Purpose: Renders the interactive booking calendar Privacy: No personal data sent to FullCalendar Terms: https://fullcalendar.io/license Stripe.com (Optional – only if using Stripe addon) Purpose: Process credit card payments Data shared: Customer name, email, payment amount Privacy: https://stripe.com/privacy PayPal.com Purpose: Process PayPal payments Data shared: Customer name, email, payment amount Privacy: https://www.paypal.com/privacy When customers make payments, they’re redirected to Stripe or PayPal’s secure servers. Bookster does not store credit card numbers. Support Need help? We’re here for you: Documentation: Visit Bookster’s detailed guides Support Forum: Post questions in the WordPress.org support forum Email & Live Chat Support: Contact us through the Bookster website Video Tutorials: Watch setup videos on our YouTube channel Response time: We typically respond within 4 hours on business days and 12 hours on weekends. We’d Love Your Feedback ❣️ If Bookster helps your business, please leave us a review on WordPress.org! It takes 60 seconds and brightens our day. Click here ⭐⭐⭐⭐⭐ to share your experience. Have a feature request? We’re actively developing new features based on user feedback. Submit your ideas here. Compatibility Works With All Major WordPress Themes: Brandy WP Shadcn GeneratePress OceanWP Divi Avada And thousands more Page Builders: Elementor Gutenberg (Block Editor) Classic Editor Beaver Builder WPBakery What’s Next? After installing Bookster: Run the setup wizard Add the booking calendar to a page Create a test booking to see the customer experience Customize email templates with your branding Share your booking page link with customers Start accepting appointments 24/7! Your new booking system is ready to help you grow your business. Welcome to Bookster! 🚀