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
      • Shortcode Overview
      • All Parameters (Reference)
      • FAQs and Tips
      • CSS Guide
      • Developer
    • Shortcode Builder
    • WordPress Support Forums
    • Pro Documentation
      • Calendar Builder
      • Block Editor
      • Manual Calendar Setup
      • Admin Utilities and Settings
      • Customizer
      • All Parameters
    • Pro Support Forums
      • Installation and Configuration
      • Licensing
      • Troubleshooting and Bugs
      • CSS and Design
      • Feature Requests
      • Translations
      • General Support
    • Pro 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 v.10.11.1 and Pro v.4.8.2 now available April 29, 2023
  • ICS Calendar v. 10.11.0 now available April 15, 2023
  • ICS Calendar 10.10.0 and ICS Calendar Pro 4.8.0 are now available March 31, 2023
  • Testing a new development cycle March 29, 2023
  • Which iCalendar fields should ICS Calendar support? March 24, 2023

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
  • Instagram
  • YouTube
  • Room 34 Creative Services, LLC
  • Minneapolis, Minnesota 55406 USA
  • info@icscalendar.com
  • More WordPress Plugins
  • Privacy Policy
  • Terms & Conditions

Copyright © 2023 Room 34 Creative Services, LLC. All rights reserved.

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

This website uses cookies for necessary functions and to enhance your browsing experience. Accept to continue or find out more in our Privacy Policy.

Accept & Continue