10+
May 25, 2016
March 25, 2014
This plugin provides a shortcode and a set of functions to return the number of days since the most recent past event in your Google Calendar matching specified search terms. The shortcode can also be used to return the number of days until the closest upcoming event matching specified search terms.
[gcal-days search="" type="" id=""]
The shortcode name is gcal-days. It has three attributes, but only one of which is absolutely necessary:
search: (Required.) The search term.type: (Optional.) The direction in time to search. Defaults to “since”, which searches past events. “until” will search future events.id: (Conditionally optional.) The ID of the calendar to search. You can discover the IDs of calendars via the plugin’s settings page. This shortcode attribute can only be optionally omitted from shortcodes if you define a default calendar in the plugin’s settings.The shortcode outputs a number representing the number of days until a matching event. If no event is found, a -1 will be displayed.
Examples: [gcal-days search="dentist"], [gcal-days type="until" search="vacation" id="test_lkjsadf987asdf24@group.calendar.google.com"]
Links: Plugin Homepage | Plugin Directory Page | Author Homepage
The plugin provides two functions for use in your theme templates, functions.php, or in plugins.
<?php function gcal_days_since( $search, $calendar_id = '' ) ?><?php function gcal_days_until( $search, $calendar_id = '' ) ?>$search (string)
Required. The word or phrase to search for
$calendar_id (string)
Optional. The ID for the Google Calendar. Check the plugin’s settings page for calendar IDs. This argument is only optional if you have defined a default calendar via the plugin’s settings.
An integer value of the number of days since/until the matching event. -1 is returned if no event was found or an error was encountered.
<?php // Days until next dentist appointment
$days_until = gcal_days_until( 'dentist' );
?>
<?php
// Get the days since my last day off
$days_since = gcal_days_since( 'day off' );
// Echo a message using that number
if ( -1 == $days_since ) {
echo "You've never had a day off?! Take one soon!";
} else {
printf( _n( 'Your last day off was %d day ago.', 'Your last day off was $d days ago.', $days_since ), $days_since );
}
?>
gcal-days.zip inside the /wp-content/plugins/ directory for your site (or install via the built-in WordPress plugin installer).No. Google’s API allows for an app (such as this plugin) to be granted specific access (see next question). The access token is requested by the plugin and stored in your database. The data is only communicated back and forth between your site and Google via HTTPS.
The plugin is only requesting read-only access to Google Calendars. As such, the plugin will not be able to make any changes to your calendars, nor will it be able to access data associated with other Google services.
To avoid the expense of making network connections to Google for every page load, information is cached for a short period of time. You may have to wait a few minutes after calendar changes before expecting to see those changes reflected in the plugin.
c2c_GCalDaysGoogle::get_calendar_name() to get the name of a specific calendar.DIRECTORY_SEPARATOR rather than hardcoded / for path separator when requiring include files.c2c_GCalDaysGoogle::is_valid_calendar() now actual checks that the calendar ID is valid.is_api_error() and get_api_error().shortcode() to be static