Skip to content
GravityKit
Buy
Sign in
0 items
  • Plugins

    GravityKit All Access

    Our complete Kit of essential tools for extending and enhancing Gravity Formsโ€”everything you need to build powerful web apps and workflows.

    Learn more
    • GravityView

      GravityView

      Bestseller

      Display Gravity Forms entries on the front-end of your site and build powerful web applications.

    • GravityImport

      GravityImport

      Trending

      Import entries from CSV files into Gravity Forms to transfer data, create new forms, or update existing entries.

    • GravityEdit

      GravityEdit

      Quickly edit Gravity Forms entries inline to save time, reduce clicks, and streamline your workflow.

    • GravityCharts

      GravityCharts

      Trending

      Turn Gravity Forms entries into interactive charts and graphs.

    • GravityActions

      GravityActions

      Update multiple Gravity Forms entries at once, send bulk emails, and streamline your workflow.

    • GravityCalendar

      GravityCalendar

      Turn Gravity Forms entries into dynamic calendars to showcase events, schedules, appointments, and more.

    • GravityExport

      GravityExport

      Export Gravity Forms entries to Excel, CSV, or PDF and share them instantly with secure download links.

    • GravityMath

      GravityMath

      Perform advanced calculations on Gravity Forms entries to display totals, averages, or build custom calculators.

    • GravityRevisions

      GravityRevisions

      Track, compare, and restore changes made to Gravity Forms forms and entries with a full version history.

    • GravityMigrate

      GravityMigrate

      Migrate all Gravity Forms data, including forms, entries, Views, feeds, uploads, and more.

    • GravityBoard

      GravityBoard

      Manage projects with collaborative project management. Coordinate with your team and streamline your workflows.

  • Ideal For

    • Nonprofits
    • Startups
    • Education
    • Web Agencies
    • Developers
    • Government iconGovernment
    Explore All Use Cases

    Case studies

    • West Fork Schools
    • Princeton University
    • BrightLeaf Giving
    • Jacksonville Port Authority
    • National Severe Storms Lab
    • Leadpal
    • Mediebruket
    • Dragonfly
    View All Case Studies
  • Resources

    • Blog
    • Case studies
    • Support
    • Live Demos
    • Documentation
    • Developer docs
    • GravityKit Academy
    • GravityKit Live!

    Ultimate guides

    • How to use Gravity Forms
    • Editing Gravity Forms entries
    • Importing Gravity Forms entries
    • Exporting Gravity Forms entries
    • Displaying Gravity Forms entries
    • Gravity Forms conditional logic
    • Gravity Forms calculations
    View More Articles
  • Plugins

    • GravityView

      GravityView

      Bestseller

      Display Gravity Forms entries on the front-end of your site and build powerful web applications.

    • GravityImport

      GravityImport

      Trending

      Import entries from CSV files into Gravity Forms to transfer data, create new forms, or update existing entries.

    • GravityEdit

      GravityEdit

      Quickly edit Gravity Forms entries inline to save time, reduce clicks, and streamline your workflow.

    • GravityCharts

      GravityCharts

      Trending

      Turn Gravity Forms entries into interactive charts and graphs.

    • GravityActions

      GravityActions

      Update multiple Gravity Forms entries at once, send bulk emails, and streamline your workflow.

    • GravityCalendar

      GravityCalendar

      Turn Gravity Forms entries into dynamic calendars to showcase events, schedules, appointments, and more.

    • GravityExport

      GravityExport

      Export Gravity Forms entries to Excel, CSV, or PDF and share them instantly with secure download links.

    • GravityMath

      GravityMath

      Perform advanced calculations on Gravity Forms entries to display totals, averages, or build custom calculators.

    • GravityRevisions

      GravityRevisions

      Track, compare, and restore changes made to Gravity Forms forms and entries with a full version history.

    • GravityMigrate

      GravityMigrate

      Migrate all Gravity Forms data, including forms, entries, Views, feeds, uploads, and more.

    • GravityBoard

      GravityBoard

      Manage projects with collaborative project management. Coordinate with your team and streamline your workflows.

    GravityKit All Access

    Our complete Kit of essential tools for extending and enhancing Gravity Formsโ€”everything you need to build powerful web apps and workflows.

    Learn more
  • Ideal For

    • Nonprofits
    • Startups
    • Education
    • Web Agencies
    • Developers
    • Government iconGovernment
    Explore All Use Cases

    Case studies

    • West Fork Schools
    • Princeton University
    • BrightLeaf Giving
    • Jacksonville Port Authority
    • National Severe Storms Lab
    • Leadpal
    • Mediebruket
    • Dragonfly
    View All Case Studies

    How to build...

    • Property Management
    • Product Catalog
    • Fundraising Dashboard
    • Real Estate Directory
    • Document Library
    • Academic Journal
    • Volunteer Management
    • Meal Tracker
    View All Guides
  • Resources

    • Blog
    • Case studies
    • Support
    • Live Demos
    • Documentation
    • Developer docs
    • GravityKit Academy
    • GravityKit Live!

    ultimate guides

    • How to use Gravity Forms
    • Editing Gravity Forms entries
    • Importing Gravity Forms entries
    • Exporting Gravity Forms entries
    • Displaying Gravity Forms entries
    • Gravity Forms conditional logic
    • Gravity Forms calculations
    View More Articles
  • Pricing
  • About
0 items

Search

Results appear automatically as you type.
Loading results…

results found matching

    Sign in
    Buy

    Docs

    • Docs Home

    Gravity Forms Add-Ons

    • GravityView
    • GravityActions
    • GravityBoard
    • GravityCalendar
    • GravityCharts
    • GravityEdit
    • GravityExport
    • GravityImport
    • GravityMath
    • GravityMigrate
    • GravityRevisions
    • GF Widget for Elementor
    • GF Dynamic Lookup
    • GF Entry Tags
    • GF Event Field
    • GF Zero Spam
    • GravityExport Lite

    GravityView

    • Getting Started
    • View Setup
    • FAQ
    • Pre-Sale
    • Advanced
    • Common Problems
    • Customizing Your Views
    • Edit Entry
    • Entry Approval
    • Filter and Sort Results
    • Gravity Forms
    • Merge Tags
    • Roles and Capabilities
    • Search
    • Shortcodes
    • View Settings
    • WordPress Posts

    General Help

    • Account, Invoices, and Billing
    • License Related
    • Plugins and Settings
    • Contact
    • Docs Home
    • Gravity Forms Add-Ons

      • GravityView
      • GravityActions
      • GravityBoard
      • GravityCalendar
      • GravityCharts
      • GravityEdit
      • GravityExport
      • GravityImport
      • GravityMath
      • GravityMigrate
      • GravityRevisions
      • GF Widget for Elementor
      • GF Dynamic Lookup
      • GF Entry Tags
      • GF Event Field
      • GF Zero Spam
      • GravityExport Lite
    • GravityView

      • Getting Started
      • View Setup
      • FAQ
      • Pre-Sale
      • Advanced
      • Common Problems
      • Customizing Your Views
      • Edit Entry
      • Entry Approval
      • Filter and Sort Results
      • Gravity Forms
      • Merge Tags
      • Roles and Capabilities
      • Search
      • Shortcodes
      • View Settings
      • WordPress Posts
    • General Help

      • Account, Invoices, and Billing
      • License Related
      • Plugins and Settings
    • Contact

    GravityCalendar

    • Add a GravityCalendar to Apple Calendar
    • Add a GravityCalendar to Google Calendar
    • Adding custom CSS to your Views
    • Attaching an event into a notification
    • Calendar Blocks
    • Calendar Setting: “No Current Events Behavior”
    • Calendar Shortcodes
    • Calendar: Developer Hooks
    • Can I book an appointment with GravityCalendar?
    • Creating recurring events in Gravity Forms
    • Displaying a calendar
    • Displaying events from another calendar with GravityCalendar
    • Event Field events are showing as all-day in GravityCalendar
    • Getting Started with GravityCalendar
    • GravityCalendar – Customizing event colors
    • How can I change the day weeks start on in Calendar?
    • How to download or subscribe to just one single event
    • How to enable repeating events
    • How to process shortcodes contained within fields used by the Calendar
    • How to remove the all-day text in the calendar list layout
    • I can’t see GravityCalendar settings or create a calendar
    • My calendar or events arenโ€™t displaying
    • Pre-selecting a calendar date using URL parameters
    • The difference between subscribing to a calendar and downloading calendar events
    • Working with timezones in GravityCalendar
    • Home
    • Docs
    • GravityCalendar
    • Calendar: Developer Hooks

    Calendar: Developer Hooks

    Estimated reading: 9 minutes

    Updated on April 24, 2026

    Plugin paths #

    gravityview/calendar/scripts/fullcalendar

    Modify the FullCalendar core script used.

    Parameter Type Default Description
    $path string {URL of plugin directory}/lib/fullcalendar/main.js Full URL to the jQuery FullCalendar file.

    gravityview/calendar/scripts/fullcalendar/locales_dir_url

    Modify the URL to FullCalendar locales. This can be used to point to your own translations.

    Parameter Type Default Description
    $locales_url string {URL of plugin directory}/lib/fullcalendar/locales/ URL to FullCalendar locales directory

    FullCalendar overrides #

    gravityview/calendar/options

    Modify all FullCalendar options in an array.

    Parameter Type Default Description
    $calendar_options array Array of settings used when rendering FullCalendar
    $form_id int Current form ID The ID of the form connected to the calendar
    $feed_id int Current feed ID The ID of the calendar feed currently being shown

    Override the calendar language

    Override default calendar locale (automatically set to en , or the language of the current WordPress site):

    add_filter('gravityview/calendar/options', function ($calendar_options, $form_id, $feed_id ) {
    	$calendar_options['locale'] = 'fr';
    	return $calendar_options;
    }, 10, 3 );

    Display events as a full-width block

    Display events as a block, not as a bullet list, on the grid layout, using the eventDisplay setting. In addition to being full-width in the calendar, this allows applying background colors:

    add_filter('gravityview/calendar/options', function ($calendar_options, $form_id, $feed_id ) {
    	$calendar_options['eventDisplay'] = 'block';
    	return $calendar_options;
    }, 10, 3 );

    To set showNonCurrentDates to false

    Hereโ€™s an example of modifying the GravityCalendar output to disable showNonCurrentDates , but only for Calendar feed #5:

    add_filter( 'gravityview/calendar/options', function ( $calendar_options, $form_id, $feed_id ) {
        // Only modify the setting for Calendar #5
        if( 5 !== $feed_id ) {
            return $calendar_options;
        }
    
        $calendar_options['showNonCurrentDates'] = false;
    
        return  $calendar_options;
    }, 10, 3 );

    To force times to be displayed in a specific way

    The FullCalendar script displays times in a truncated manner on the month grid view. If you want to force times to be displayed with a 2-digit minute, you can with the filter below.

    You can find full reference to the date and time formatting options here.

    add_filter('gravityview/calendar/options', function ($calendar_options, $form_id, $feed_id ) {
        $calendar_options['eventTimeFormat'] = [
            'hour' => 'numeric',
            'minute' => '2-digit',
            'meridiem' => 'short'
        ];
        return $calendar_options;
    }, 10, 3 );

    gravityview/calendar/extra_options

    Modify extra options used in the pluginโ€™s UI that arenโ€™t standard to FullCalendar.

    This is a way to pass additional data to the FullCalendar configuration object in a way that wonโ€™t affect initialization. For example, navigateToEvents is a custom calendar option and will throw an error if used to initialize a FullCalendar instance in the UI.

    This filter is internal, but you may want to use it for similar reasons.

    Rendering & content overrides #

    gravityview/calendar/settings/entry_status

    Modify the status used to find matching entries. If set to false , no status will be defined, and all entries will be returned.

    Parameter Type Default Description
    $status string, false 'active' Gravity Forms entry status. Options: 'active', 'spam', 'trash', or false

    gravityview/calendar/settings/sort_order

    Parameter Type Default Description
    $sort_order array [ 'key' => {start date}, 'direction' => 'ASC' ] Sort order with key and direction values.
    $form_id int Current form ID ID of the current feed being processed
    $field_map array Current feed ID Gravity Forms field map array of feed fields mapped to calendar settings (e.g., start_time, end_time)
    /**
     * Overrides the sort order to be sorted by form field #3 when using Calendar #22
     */
    add_filter( 'gravityview/calendar/settings/sort_order', function ( $sort_order, $feed_id, $field_map ) {
    
        if( 22 !== $feed_id ) {
            return  $sort_order;
        }
    
        return array(
            'key' => 3,
            'direction' => 'DESC',
        );
    
    }, 10, 3 );

    gravityview/calendar/events/source_data

    Used to populate the form entries that are displayed in the calendar. You can override by filtering the entries using a priority greater than 10 .

    Note: $from_date and $to_date values are created with strtotime() from Start Date and End Date field values. They are false if there was an error parsing the value when creating the timestamp.

    Parameter Type Default Description
    $entries array [] Form entries with title, start, end, and description (optional) keys.
    $feed_id int 0 ID of the current feed being processed
    $from_date int, false, null null Start date timestamp used to filter events.
    $to_date int, false, null null End date timestamp used to filter events.

    Entries are expected in the following format:

    array(
        array(
            'title' => 'Event One',
            'start' => '2022-04-12T10:30:00',
            'end'   => '2022-04-12T12:30:00',
            'description' => 'Optional description!',
        ),
        array(
            'title' => 'Event Two',
            'start' => '2022-05-13T10:30:00',
            'end'   => '2012-05-13T12:30:00',
            'description' => 'Description optional!'
        ),
        [...]
    )

    The entries array is parsed by the GV_Extension_Calendar_Feed::calendar_events() method, which transforms the array into the expected calendar format.

    gravityview/calendar/events/exclude

    Prevent entries from being displayed in the calendar by returning an array of IDs.

    Note: If an entry ID is included in this list, it will still be shown if the event is on the โ€œincludeโ€ list (see the gravityview/calendar/events/include filter).

    Parameter Type Default Description
    $entry_ids array [] or int[] Array of entry IDs to be displayed based on feed settings. May be empty array.
    $form array Current form Gravity Forms form object connected to the calendar feed
    $feed array Current feed Calendar Gravity Forms feed object
    $field_map array Current feed ID Gravity Forms field map array of feed fields mapped to calendar settings (e.g., start_time, end_time)
    $entries array [] or array[] Array of full entries from $entry_ids, instead of just the IDs.

    gravityview/calendar/events/include

    Show these events in the calendar.

    Parameter Type Default Description
    $entry_ids array [] or int[] Array of entry IDs to be displayed based on feed settings. May be empty array.
    $form array Current form Gravity Forms form object connected to the calendar feed
    $feed array Current feed Calendar Gravity Forms feed object
    $field_map array Current feed ID Gravity Forms field map array of feed fields mapped to calendar settings (e.g., start_time, end_time)
    $entries array [] or array[] Array of full entries from $entry_ids, instead of just the IDs.

    gravityview/calendar/events/do_shortcodes

    Modify whether to process shortcodes in the event title and event description.

    Parameter Type Default Description
    $do_shortcode bool true True: Process shortcodes in title and description. False: donโ€™t!
    $form array Current form Gravity Forms form object connected to the calendar feed
    $feed array Current feed Calendar Gravity Forms feed object
    $field_map array Current feed ID Gravity Forms field map array of feed fields mapped to calendar settings (e.g., start_time, end_time)

    gravityview/calendar/shortcode/render/element_attributes

    Parameter Type Default Description
    $attributes array See below Array of HTML attributes to be applied to the calendar container
    Key Type Default Description
    class string gv-fullcalendar CSS class for the container
    data-feed_id int $feed_id The ID of the feed being rendered.
    data-calendar_id string wp_generate_password() Simple hash to differentiate multiple calendars.
    data-view_id int or null $view_id` The ID of the current View, if embedded inside a GravityView View

    Feed setting filters #

    gravityview/calendar/settings/total-event-limit

    Modify the total number of events displayed on a calendar.

    Parameter Type Default Description
    $total_event_limit int 1000 Maximum total number of events to fetch
    $feed_id int Current feed ID The ID of the calendar feed currently being shown

    gravityview/calendar/settings/fields/date

    Override the field types shown in the feed configuration when selecting Start Date and End Date.

    Parameter Type Default Description
    $field_types array ['date', 'date_created', 'date_updated'] Default field types used for populating the Start Date or End Date settings.

    Allow for text fields to be used in the feed configuration

    If you allow entering dates into a text fieldโ€”not recommended due to inconsistent formatting!โ€”you may want to use the field as the โ€œStart Dateโ€ or โ€œEnd Dateโ€ values. The code below will allow that:

    /**
     * Add Text fields to the list of fields to display when selecting Start Date and End Date.
     *
     * @param array $field_types
     *
     * @return array Field types, with "text" added.
     */
    add_filter( 'gravityview/calendar/settings/fields/date', function ( $field_types ) {
    
        $field_types[] = 'text';
    
        return $field_types;
    } );

    gravityview/calendar/settings/fields/time

    Override the field types shown in the feed configuration when selecting Start Time and End Time.

    Parameter Type Default Description
    $field_types array ['time', 'date_created_time', 'date_updated_time'] Default field types used for populating the Start Time or End Time settings.

    gravityview/calendar/settings/fields/location

    Override the field types shown in the feed configuration when selecting Event Location.

    Parameter Type Default Description
    $field_types array ['address'] Default field types used for populating the Event Location setting.

    gravityview/calendar/settings/fields/url

    Override the field types shown in the feed configuration when selecting Event URL.

    Parameter Type Default Description
    $field_types array ['url', 'website'] Default field types used for populating the Event URL setting.
    Still stuck? How can we help?

    How can we help?

    "*" indicates required fields

    This field is for validation purposes and should be left unchanged.
    Replies will go to this email.
    How can we help?*
    My pre-sale question is related to...*
    My WordPress skills are....*
    My Gravity Forms skills are...*
    You will be shown articles from our documentation.
    Vous pouvez nous รฉcrire dans votre langue maternelle si cโ€™est plus facile pour vousโ€”nous nous occuperons de la traduction!
    Puedes escribirnos en tu idioma nativo si te resulta mรกs fรกcil; ยกnosotros nos encargamos de la traducciรณn!
    Sie kรถnnen uns in Ihrer Muttersprache schreiben, wenn das fรผr Sie einfacher ist โ€“ wir kรผmmern uns um die รœbersetzung!
    U kunt ons in uw moedertaal schrijven als dat gemakkelijker voor u is โ€” wij zorgen voor de vertaling!
    Du kan skrive til oss pรฅ ditt morsmรฅl hvis det er enklere for deg โ€” vi tar oss av oversettelsen!
    Du kan skriva till oss pรฅ ditt modersmรฅl om det รคr lรคttare fรถr dig โ€” vi tar hand om รถversรคttningen!
    Vocรช pode nos escrever em seu idioma nativo se for mais fรกcil para vocรช โ€” nรณs cuidaremos da traduรงรฃo!
    Puoi scriverci nella tua lingua madre se ti รจ piรน facile โ€” penseremo noi alla traduzione!
    Please provide as much detail as you're able; this helps us provide you with faster support.
    Drop files here or
    Accepted file types: jpg, jpeg, gif, png, tiff, pdf, bmp, zip, json, csv, xls, xlsx, Max. file size: 256 MB.
      Stay informed?

      Was this page helpful?

      Table Of Contents
      • Plugin paths
      • FullCalendar overrides
      • Rendering & content overrides
      • Feed setting filters
      GravityKit
      • How to Build It
      • Pricing
      • Products
      • Our Team
      • Our Values
      • Work With Us
      • Coupons
      Support
      • Support
      • Contact
      • Documentation
      • Scope of Support
      • Brand Guidelines
      • Privacy Policy
      • Terms of Service (โ€œTermsโ€)
      About Us
      • GravityKit on Mastodon
      • GravityKit on Twitter
      • GravityKit Training Courses
      • GravityKit on Facebook
      • Join our Facebook Group
      • Facebook
      • Twitter
      Get notified of updates.

      Weโ€™re constantly improving GravityKit. Fill out your email below and weโ€™ll notify you anytime major updates drop.

      GravityKit is a Gravity Forms Certified Developer.

      Copyright ยฉ 2026, Katz Web Services, Inc.

      GravityKit and GravityView are registered trademarks of Katz Web Services, Inc.