ICS Calendar

ICS Calendar
  • Features
    • ICS Calendar Pro
    • Feature Comparison
    • Sample Calendars
    • Preview Your Calendar
    • More WordPress Plugins
  • Help
    • User Guide
      • Getting Started
      • General WordPress Settings
      • ICS Calendar Settings
      • Shortcode Overview
      • Shortcode Reference
      • FAQs and Tips
      • CSS Guide
      • Developer Resources
      • GDPR
    • Pro Documentation
      • Calendar Builder
      • ICS Events
      • Manual Calendar Setup
      • Admin Utilities and Settings
      • Customizer
      • Block Editor
      • Parameters Reference
    • Shortcode Builder
    • Support Request Form
    • Translation Suggestions
  • Blog
  • Download
  • Buy Now
  • Cart
  • My Account
Search
More...

New developer function in ICS Calendar 8.12.0

January 18, 2022

ICS Calendar is fundamentally a tool for non-developer WordPress admins to have an easy way to display their external calendars seamlessly in WordPress sites. But many developers have also found it useful as a tool they can extend for their own purposes.

As its usage grows and new use cases come to my attention, I do what I can to ensure that the plugin continues to meet the needs of as many users as possible, with the goal of always remaining easy to use, and focused on retrieving and manipulating ICS (iCalendar Subscription) feed data within the WordPress context.

The plugin was built with the goal of displaying the calendar data, so the functionality has been written with that goal in mind. In some cases that has led me to write functions and methods in a way that is probably not quite as granular as it should be. Case in point, the main R34ICS::display_calendar() method. It serves dual purposes: it parses the calendar data, and renders the template output.

Those really should be two (or more) separate methods. And in a future update, they’ll be refactored as such. But for now I’ve found a simpler way to address a specific developer need: to be able to access the fully parsed $ics_data array the method generates, before it renders the template output.

That simpler way is encapsulated in the new r34ics_get_ics_data() function, which is detailed more extensively in the Developer documentation. In short, this function takes an input array matching the same attributes you would typically put into the ICS Calendar shortcode, and it returns the parsed array, without generating any template output.

Most ICS Calendar users will never need to use this function, but if you need it, you need it, and now you have it!

This function is included in version 8.12.0, which is available now in the WordPress Plugin Directory or on your WordPress admin Updates page.

—Scott

Category: New Features
Tags: developer • functions • PHP

Categories

  • Uncategorized
  • New Features
  • Bug Squashing
  • Just for Fun
  • Web Design & Development
  • Translation
  • Deep Dives

Recent Posts

  • ICS Calendar Pro 5.10.0 and ICS Calendar 11.5.9 updates April 24, 2025
  • Big improvements to ICS Events in versions 5.9.0 and 5.9.1 February 26, 2025
  • Happy Holidays from Room 34! December 8, 2024
  • Update to version 5.6.1.1 ASAP to resolve possible database performance issues introduced in 5.6.0 November 14, 2024
  • ICS Calendar Block is officially deprecated in version 5.6, will be removed in version 6.0 November 7, 2024

Related Links

  • Room 34 Creative Services
    Developer of ICS Calendar
  • Underdog of Perfection
    Room 34’s general blog
  • More Plugins by Room 34
    Available in the WordPress Plugin Directory

Room 34 Creative Services, LLC

  • Facebook
  • YouTube
  • Bandcamp
  • Room 34 Creative Services, LLC
  • Minneapolis, Minnesota 55406 USA
  • info@icscalendar.com
  • More WordPress Plugins
  • Privacy Policy
  • Terms & Conditions

Copyright © 2025 Room 34 Creative Services, LLC. All rights reserved.
"ICS Calendar", "ICS Calendar Pro", "ICS Events", the ICS Calendar logo and ICS icon are trademarks of Room 34 Creative Services, LLC.

https://icscalendar.com/new-developer-function-in-ics-calendar-8-12-0

This website uses cookies solely for necessary functions, such as accessing your account orders and license details. Accept to continue or find out more in our Privacy Policy.

Accept & Continue