Skip to content

Esysc/wordpress_agenda

Repository files navigation

ACS Agenda Manager

A WordPress plugin for managing and displaying event agendas. Perfect for workshops, courses, conferences, and event organizers.

WordPress Version PHP Version License Version

Description

ACS Agenda Manager provides an easy way to create and manage an event agenda on your WordPress site. Display upcoming events with dates, locations, images, and descriptions in a clean, responsive layout.

Features

  • Multi-date support: Events can span multiple days or have multiple occurrences
  • Media integration: Upload and display event images via WordPress Media Library
  • Location display: Show event locations prominently
  • Linked pages: Connect events to detailed WordPress pages
  • Automatic expiration: Past events are automatically hidden
  • Responsive design: Looks great on all devices
  • Internationalization: Supports French and English translations
  • Easy administration: Intuitive admin interface with inline editing
  • Native contact form: Built-in event contact form available via the dedicated Contact action with configurable recipient and subject

Requirements

  • WordPress 6.2 or higher
  • PHP 7.4 or higher

Installation

From GitHub

  1. Download the latest release from the releases page
  2. Upload the acs-agenda-manager folder to /wp-content/plugins/
  3. Activate the plugin through the 'Plugins' menu in WordPress
  4. Navigate to Agenda in the admin menu to start adding events

Manual Installation

cd /path/to/wordpress/wp-content/plugins/
git clone https://github.com/Esysc/wordpress_agenda.git acs-agenda-manager

Then activate the plugin in your WordPress admin panel.

Usage

Shortcode

Display the agenda on any page or post using the shortcode:

[acsagma_agenda]

The plugin automatically creates an "Agenda" page upon activation with the shortcode included.

Adding Events

  1. Go to Agenda in the WordPress admin menu
  2. Click Add New Event
  3. Fill in the event details:
    • Category: Group your events (e.g., "Workshop", "Conference")
    • Title: Event name
    • Location: Where the event takes place
    • Description: Brief event description
    • Schedule: Select event date(s) using the calendar
    • Advanced settings: Expand to configure behavior and optional fields
      • Partial Attendance: How to handle multi-day events
      • Image: Upload or select an event image
      • Page Link: Link to a detailed event page
      • Price: Event cost (optional)
      • Advance Payment: Whether advance payment is accepted
  4. Click Add to save

Partial Attendance Options

  • No: Event disappears after the first date passes
  • Yes: Past dates are hidden, but future dates remain visible
  • Keep until end: All dates remain visible until the last date passes

Settings

Navigate to Agenda → Settings to:

  • Change the default agenda page name
  • Configure native contact form behavior (recipient email, subject prefix, optional phone field)
  • View usage instructions

File Structure

acs-agenda-manager/
├── acs-agenda-manager.php        # Main plugin file
├── class/
│   ├── class-acs-admin.php       # Admin functionality
│   ├── class-acs-database.php    # Database operations
│   ├── class-acs-event.php       # Event model
│   ├── class-acs-options.php     # Settings page
│   └── class-acs-template.php    # Template rendering
├── css/
│   ├── acs.css                   # Styles
│   └── images/                   # CSS images
├── js/
│   ├── acs-admin.js              # Admin JavaScript
│   └── acs-frontend.js           # Frontend JavaScript
├── lang/                         # Translations
├── templates/
│   ├── admin-page.php            # Admin page template
│   └── settings-page.php         # Settings page template
└── themefiles/
    └── page-agenda.php           # Agenda page template

Customization

CSS

Override default styles by adding custom CSS to your theme:

/* Example: Change event card background */
.acsagenda {
    background-color: #f5f5f5;
}

/* Example: Customize date display */
.ACSdate {
    background-color: #your-color;
}

Template Override

Copy themefiles/page-agenda.php to your theme directory to customize the agenda page template.

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Support

Donations

If you find this plugin useful, please consider making a donation to support development:

Donate

License

This project is licensed under the GPL-2.0-or-later License - see the LICENSE file for details.

Credits

  • jQuery UI Datepicker: Bundled with WordPress core
  • Icons: WordPress Dashicons

About

Wordpress plugin to manage events

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors