{"id":22554,"date":"2021-04-22T11:41:08","date_gmt":"2021-04-22T11:41:08","guid":{"rendered":"https:\/\/crocoblock.com\/knowledge-base\/?post_type=article&#038;p=22554"},"modified":"2023-04-11T12:54:51","modified_gmt":"2023-04-11T12:54:51","slug":"jetengine-how-to-create-a-dynamic-calendar-in-gutenberg","status":"publish","type":"article","link":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-how-to-create-a-dynamic-calendar-in-gutenberg\/","title":{"rendered":"How to Create a Dynamic Calendar in Gutenberg"},"content":{"rendered":"\n<p><em><a href=\"https:\/\/crocoblock.com\/plugins\/jetengine\/\">JetEngine<\/a> <\/em>plugin allows you to create a Custom Post Type and then display the items of that post type in the calendar. This will be really useful if you want to add different events and show them in several different places on your website. Showing events in the calendar will also be convenient for the user. So, go through the following steps to create a calendar with dynamically shown events.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"title1\">Dynamic Calendar Creation<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"enable-calendar-module\">Enable calendar module<\/h3>\n\n\n\n<p>Open your website\u2019s WP dashboard and go to <strong><em>JetEngine &gt; JetEngine Dashboard &gt; Modules<\/em><\/strong>. Find the <strong>Calendar <\/strong>module and enable the corresponding toggle.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/02\/calendar-module.png\" alt=\"enabling calendar module\">\n\n\n\n<h3 class=\"wp-block-heading\" id=\"create-custom-post-type-for-events\">Create custom post type for events<\/h3>\n\n\n\n<p>Go to the <strong><em>JetEngine &gt; Post Types<\/em><\/strong> tab, hit the \u201c<strong>Add New<\/strong>\u201d button and create a CPT. The detailed guide on Custom Post Type creation can be found <a href=\"https:\/\/crocoblock.com\/knowledge-base\/articles\/how-to-create-a-custom-post-type-based-on-jetengine-plugin\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>. You can name the CPT as you like, add various labels and admin columns.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/02\/event-post-type.png\" alt=\"events post type\">\n\n\n\n<p>You can also add as many meta fields as you need, however, make sure you added a <strong>Date <\/strong>field. The calendar cell where the event will be placed depends on the value of this field.&nbsp;<\/p>\n\n\n<div class=\"note-banner d-flex border-bold border-jetsmartfilters rounded overflow-hidden p-20\"><div class=\"mr-12\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M1 21H23L12 2L1 21ZM13 18H11V16H13V18ZM13 14H11V10H13V14Z\" fill=\"#FA5450\"\/><\/svg><\/div><div class=\"d-flex flex-column\"><div class=\"text-900 mb-12\">Warning<\/div><p class=\"m-0\">You have to enable the <strong>Save as timestamp<\/strong> toggle in the <strong>Date<\/strong> field settings window. Otherwise, the date won\u2019t be saved correctly and it will be impossible to use it in the calendar.<\/p><\/div><\/div>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/02\/save-timestamp.png\" alt=\"date meta field\">\n\n\n\n<p>When you are done, click on the \u201c<strong>Publish<\/strong>\u201d button to save the changes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"create-listing-template-for-events\">Create listing template for events<\/h3>\n\n\n\n<p>The calendar has cells for every day where the events can be placed \u2013 just like in the Listing Grid. So, to define how the event will look like in the cell, you have to create a special Listing template for it. Go to <strong><em>JetEngine &gt; Listings<\/em><\/strong> and hit the \u201c<strong>Add New<\/strong>\u201d button. Choose the post type, name the Listing, and select the \u201cBlocks\u201d option in the <strong>Listing view<\/strong> drop-down.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/02\/calendar-listing.png\" alt=\"listing template for calendar\">\n\n\n\n<p>You can add as many blocks as you want. If you installed the <a href=\"https:\/\/wordpress.org\/plugins\/jet-style-manager\/\">JetStyleManager<\/a> plugin, you can also customize the appearance of the listing. In case you need some help, check out our <a href=\"https:\/\/crocoblock.com\/knowledge-base\/articles\/jetengine-how-to-create-a-listing-template-in-gutenberg\/\">Listing template creation tutorial<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"add-calendar-to-page\">Add calendar to page<\/h3>\n\n\n\n<p>Now, proceed to the page where you would like to place a calendar. Open the editing window, click on the \u201c<strong>Add Block<\/strong>\u201d button and search for the <strong>Listing Calendar<\/strong> block.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/02\/listing-calendar-block.png\" alt=\"listing calendar block\">\n\n\n\n<p>Click on the block to add it to the page. In the <strong>Listing <\/strong>drop-down menu of the <strong>General <\/strong>settings menu section, choose the template you created for events. In the <strong>Group posts by<\/strong> drop-down list, select the \u201cDate from custom field\u201d option and type the <strong>Date<\/strong> meta field name in the <strong>Meta field name<\/strong> bar.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/02\/calendar-general-settings.png\" alt=\"calendar general settings\">\n\n\n\n<p>That\u2019s all, the Custom Post Type items will be shown in the calendar cells.<\/p>\n\n\n\n<p>And now, let\u2019s go through the <strong>Listing Calendar<\/strong> block settings more thoroughly.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"title2\">Listing Calendar Block Settings<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"general-settings\">General settings<\/h3>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/02\/listing-calendar-general-settings.png\" alt=\"listing calendar general settings\">\n\n\n\n<ul>\n<li><strong>Listing<\/strong>. All the listing templates that you have created with the help of the JetEngine plugin will be gathered here, including the ones created in the Elementor Page Builder. Choose the listing you created for the calendar;<\/li>\n\n\n\n<li><strong>Group posts by<\/strong>. The CPT item is placed in the cell that corresponds to a certain date. Here you can decide where to take that date from. <strong>Post publication date<\/strong> means that the date the post was published will be used. If you choose the <strong>Post modification date<\/strong> option, the item will be placed in the cell that matches the day the post was modified. And when you choose the <strong>Date from custom field<\/strong> option, you will be offered to specify the <strong>Date <\/strong>field in <strong>Meta field name<\/strong> bar;<\/li>\n\n\n\n<li><strong>Allow multi-day events<\/strong>. With the help of this toggle, you can allow showing the events that last for more than one day. If it is enabled, the item of the multi-day event will be placed in several cells according to the period when it is held;<\/li>\n\n\n\n<li><strong>Week days format<\/strong>. On the top of the calendar table, you can see the names of the days. In this drop-down menu, you can choose how they will be displayed:\n<ul>\n<li><strong>Full<\/strong> \u2013 full names (Monday, Tuesday, etc.);<\/li>\n\n\n\n<li><strong>Short <\/strong>\u2013 three first letters (Mon, Tue, etc.);<\/li>\n\n\n\n<li><strong>Initial letter<\/strong> \u2013 the first letter only (M, T, etc.);<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Start from custom month<\/strong>. By default, the calendar opens at the current month. However, if you turn this toggle on, you will be able to set which month to show first by choosing it in the <strong>Start from month<\/strong> and <strong>Start from year<\/strong> drop-down menus;<\/li>\n\n\n\n<li><strong>Show posts from the nearby month<\/strong>. If you turn this toggle on, the events that will happen in the nearest month will be shown;<\/li>\n\n\n\n<li><strong>Hide past events<\/strong>. By default, the events that have already passed remain in the calendar. However, you can hide them by enabling this toggle;<\/li>\n\n\n\n<li><strong>Caption Layout<\/strong>. Above the calendar table, there are the \u201cBack\u201d and \u201cForward\u201d buttons, as well as the name of the month and year. In this drop-down menu, you can choose one of the four layouts for them.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"post-query-settings\">Post Query settings<\/h3>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/02\/calendar-post-query-settings.png\" alt=\"calendar listing post query settings\">\n\n\n\n<p>By default, all the posts of a chosen Post Type are shown in the calendar. However, if you want to display only part of them, you can set which of them will be displayed in this very calendar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"block-visibility\">Block Visibility<\/h3>\n\n\n\n<p>By default, the Listing Calendar block is always visible. However, you can change that and set the \u201cQuery is empty\u201d option in the <strong>Hide block if<\/strong> drop-down menu. In that case, if the <strong>Post Query<\/strong> section is empty, the Listing Calendar won\u2019t be shown to the users. This means that if after querying, there will be no posts, the block is hidden.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/02\/calendar-block-visibility.png\" alt=\"calendar block visibility\">\n\n\n\n<p>Nice job! You now know how to create and add a dynamic calendar to your website\u2019s page using JetEngine and Gutenberg Editor.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>From this tutorial, you will learn how to create a calendar that will dynamically display events from the separate Custom Post Type and add it to the page in Gutenberg Editor afterward.<\/p>\n","protected":false},"author":11,"featured_media":0,"template":"","format":"standard","builder-category":[],"article-category":[397],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Creating Dynamic Calendar in Gutenberg \u2014 JetEngine | Crocoblock<\/title>\n<meta name=\"description\" content=\"Learn how to add a calendar with dynamically changing dates to the page created in Gutenberg Editor with the help of the JetEngine plugin.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-how-to-create-a-dynamic-calendar-in-gutenberg\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Creating Dynamic Calendar in Gutenberg \u2014 JetEngine | Crocoblock\" \/>\n<meta property=\"og:description\" content=\"Learn how to add a calendar with dynamically changing dates to the page created in Gutenberg Editor with the help of the JetEngine plugin.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-how-to-create-a-dynamic-calendar-in-gutenberg\/\" \/>\n<meta property=\"og:site_name\" content=\"Help Center\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-11T12:54:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/02\/calendar-module.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-how-to-create-a-dynamic-calendar-in-gutenberg\/\",\"url\":\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-how-to-create-a-dynamic-calendar-in-gutenberg\/\",\"name\":\"Creating Dynamic Calendar in Gutenberg \u2014 JetEngine | Crocoblock\",\"isPartOf\":{\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#website\"},\"datePublished\":\"2021-04-22T11:41:08+00:00\",\"dateModified\":\"2023-04-11T12:54:51+00:00\",\"description\":\"Learn how to add a calendar with dynamically changing dates to the page created in Gutenberg Editor with the help of the JetEngine plugin.\",\"breadcrumb\":{\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-how-to-create-a-dynamic-calendar-in-gutenberg\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-how-to-create-a-dynamic-calendar-in-gutenberg\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-how-to-create-a-dynamic-calendar-in-gutenberg\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/crocoblock.com\/knowledge-base\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Articles\",\"item\":\"https:\/\/crocoblock.com\/knowledge-base\/articles\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to Create a Dynamic Calendar in Gutenberg\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#website\",\"url\":\"https:\/\/crocoblock.com\/knowledge-base\/\",\"name\":\"Help Center\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/crocoblock.com\/knowledge-base\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#organization\",\"name\":\"Help Center\",\"url\":\"https:\/\/crocoblock.com\/knowledge-base\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/04\/invert-crocoblock-logo.svg\",\"contentUrl\":\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/04\/invert-crocoblock-logo.svg\",\"caption\":\"Help Center\"},\"image\":{\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Creating Dynamic Calendar in Gutenberg \u2014 JetEngine | Crocoblock","description":"Learn how to add a calendar with dynamically changing dates to the page created in Gutenberg Editor with the help of the JetEngine plugin.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-how-to-create-a-dynamic-calendar-in-gutenberg\/","og_locale":"en_US","og_type":"article","og_title":"Creating Dynamic Calendar in Gutenberg \u2014 JetEngine | Crocoblock","og_description":"Learn how to add a calendar with dynamically changing dates to the page created in Gutenberg Editor with the help of the JetEngine plugin.","og_url":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-how-to-create-a-dynamic-calendar-in-gutenberg\/","og_site_name":"Help Center","article_modified_time":"2023-04-11T12:54:51+00:00","og_image":[{"url":"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/02\/calendar-module.png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-how-to-create-a-dynamic-calendar-in-gutenberg\/","url":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-how-to-create-a-dynamic-calendar-in-gutenberg\/","name":"Creating Dynamic Calendar in Gutenberg \u2014 JetEngine | Crocoblock","isPartOf":{"@id":"https:\/\/crocoblock.com\/knowledge-base\/#website"},"datePublished":"2021-04-22T11:41:08+00:00","dateModified":"2023-04-11T12:54:51+00:00","description":"Learn how to add a calendar with dynamically changing dates to the page created in Gutenberg Editor with the help of the JetEngine plugin.","breadcrumb":{"@id":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-how-to-create-a-dynamic-calendar-in-gutenberg\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-how-to-create-a-dynamic-calendar-in-gutenberg\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-how-to-create-a-dynamic-calendar-in-gutenberg\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/crocoblock.com\/knowledge-base\/"},{"@type":"ListItem","position":2,"name":"Articles","item":"https:\/\/crocoblock.com\/knowledge-base\/articles\/"},{"@type":"ListItem","position":3,"name":"How to Create a Dynamic Calendar in Gutenberg"}]},{"@type":"WebSite","@id":"https:\/\/crocoblock.com\/knowledge-base\/#website","url":"https:\/\/crocoblock.com\/knowledge-base\/","name":"Help Center","description":"","publisher":{"@id":"https:\/\/crocoblock.com\/knowledge-base\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/crocoblock.com\/knowledge-base\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/crocoblock.com\/knowledge-base\/#organization","name":"Help Center","url":"https:\/\/crocoblock.com\/knowledge-base\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/crocoblock.com\/knowledge-base\/#\/schema\/logo\/image\/","url":"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/04\/invert-crocoblock-logo.svg","contentUrl":"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2025\/04\/invert-crocoblock-logo.svg","caption":"Help Center"},"image":{"@id":"https:\/\/crocoblock.com\/knowledge-base\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/article\/22554"}],"collection":[{"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/users\/11"}],"wp:attachment":[{"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/media?parent=22554"}],"wp:term":[{"taxonomy":"builder-category","embeddable":true,"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/builder-category?post=22554"},{"taxonomy":"article-category","embeddable":true,"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/article-category?post=22554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}