{"id":12,"date":"2025-06-10T04:01:47","date_gmt":"2025-06-10T04:01:47","guid":{"rendered":"https:\/\/prefab.greyd.io\/events\/?page_id=12"},"modified":"2025-06-30T08:27:25","modified_gmt":"2025-06-30T08:27:25","slug":"events-international","status":"publish","type":"page","link":"https:\/\/prefab.greyd.io\/events\/","title":{"rendered":"Events International"},"content":{"rendered":"\n<div class=\"wp-block-group alignfull is-style-section-neutral has-lightest-color has-primary-background-color has-text-color has-background has-link-color wp-elements-f5808e0a855930d5035f8850e86f0abf has-global-padding is-layout-constrained wp-block-group-is-layout-constrained is-style-section-neutral--1\" style=\"padding-top:var(--wp--preset--spacing--x-large);padding-bottom:var(--wp--preset--spacing--x-large)\">\n<h1 class=\"wp-block-heading\">This is your prefab content installation<\/h1>\n\n\n\n<p>This front page is without design because we know you want to add your own. We have provided dynamic content and featured images for you in this installation. We also created example pages with filtered display, so you can do what you do best: apply own design, add regular pages, and then use this to create tutorials, video&#8217;s, etc.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">The content is about training events internationally<\/h2>\n\n\n\n<p>Although trainers, locations, prices and dates are 100% fiction (AI generated), the content of the training sessions, these could all be real training sessions. Who knows, maybe one day you will be one of those people giving training and workshops like this?<\/p>\n\n\n\n<p>We built this to show you the power of nested queryloops, connecting dynamic data via global taxonomies and the use of our conditional block.  Below you find a list of custom post types, custom fields and global taxonomies in use.<\/p>\n\n\n\n<p>You can see how events can be displayed per location, how information on a training detail page (event) is manipulated through conditional blocks in the template, and even how that block is used to show the time zone for the online events is always CET, whereas the other times as local.<\/p>\n\n\n\n<p>A video walkthrough is coming soon. <\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7133c7b8 wp-block-columns-is-layout-flex\" style=\"padding-top:var(--wp--preset--spacing--medium);padding-bottom:var(--wp--preset--spacing--medium)\">\n<div class=\"wp-block-column col-12 col-sm-auto is-layout-flow wp-container-core-column-is-layout-360d14ef wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-4889bd1e wp-block-group-is-layout-constrained\" style=\"border-left-color:var(--wp--preset--color--primary);border-left-width:6px;padding-left:var(--wp--preset--spacing--small)\">\n<h3 class=\"wp-block-heading\">Custom Post Types<\/h3>\n\n\n\n<p>It has three custom post types:<\/p>\n\n\n\n<ul class=\"wp-block-greyd-list\" id=\"list_69d14423b117d\">\n<li><span class=\"list_icon icon_document_alt\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>Event<\/p><\/span><\/li>\n\n\n\n<li><span class=\"list_icon icon_document_alt\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>Expert<\/p><\/span><\/li>\n\n\n\n<li><span class=\"list_icon icon_document_alt\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>Location<\/p><\/span><\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-4889bd1e wp-block-group-is-layout-constrained\" style=\"border-left-color:var(--wp--preset--color--primary);border-left-width:6px;padding-left:var(--wp--preset--spacing--small)\">\n<h3 class=\"wp-block-heading\">Custom Fields<\/h3>\n\n\n\n<p>We added seven custom fields to the Event CPT.<\/p>\n\n\n\n<ul class=\"wp-block-greyd-list\" id=\"list_69d14423b14a6\">\n<li><span class=\"list_icon icon_check_alt2\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>Date<\/p><\/span><\/li>\n\n\n\n<li><span class=\"list_icon icon_check_alt2\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>Start Time<\/p><\/span><\/li>\n\n\n\n<li><span class=\"list_icon icon_check_alt2\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>End Time<\/p><\/span><\/li>\n\n\n\n<li><span class=\"list_icon icon_check_alt2\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>Fee<\/p><\/span><\/li>\n\n\n\n<li><span class=\"list_icon icon_check_alt2\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>Level<\/p><\/span><\/li>\n\n\n\n<li><span class=\"list_icon icon_check_alt2\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>Format<\/p><\/span><\/li>\n\n\n\n<li><span class=\"list_icon icon_check_alt2\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>Capacity<\/p><\/span><\/li>\n<\/ul>\n\n\n\n<p>The date is not only used in the event display itself, but as meta field it is also for sorting by date in a query loop.<\/p>\n\n\n\n<p>Technical fact: WordPress can&#8217;t sort terms from either regular or global taxonomy by default. It needs a meta field for that.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column col-12 col-sm-auto is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-4889bd1e wp-block-group-is-layout-constrained\" style=\"border-left-color:var(--wp--preset--color--primary);border-left-width:6px;padding-left:var(--wp--preset--spacing--small)\">\n<h3 class=\"wp-block-heading\">Global Taxonomies<\/h3>\n\n\n\n<ul class=\"wp-block-greyd-list\" id=\"list_69d14423b16f0\">\n<li><span class=\"list_icon icon_flowchart\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>Experts<\/p><\/span><\/li>\n\n\n\n<li><span class=\"list_icon icon_flowchart\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>Locations<\/p><\/span><\/li>\n\n\n\n<li><span class=\"list_icon icon_flowchart\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>Series<\/p><\/span><\/li>\n\n\n\n<li><span class=\"list_icon icon_flowchart\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>Skills<\/p><\/span><\/li>\n\n\n\n<li><span class=\"list_icon icon_flowchart\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>Topic<\/p><\/span><\/li>\n<\/ul>\n\n\n\n<p><strong>What global taxonomies are good for:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-greyd-list\" id=\"list_69d14423b184d\">\n<li style=\"margin-left: 20px; \"><span class=\"list_icon\"><\/span><span class=\"list_content\"><p><strong>Reusability<\/strong>: One term like \u201cIntermediate\u201d (under Level) can be applied across posts, avoiding duplication.<\/p><\/span><\/li>\n\n\n\n<li style=\"margin-left: 20px; \"><span class=\"list_icon\"><\/span><span class=\"list_content\"><p><strong>Filtering<\/strong>: Users can select terms like \u201cMonday\u201d or \u201cBeginner\u201d to filter query loops.<\/p><\/span><\/li>\n\n\n\n<li style=\"margin-left: 20px; \"><span class=\"list_icon\"><\/span><span class=\"list_content\"><p><strong>Search<\/strong>: You can filter content by global taxonomy values in forms or filters. Filtering is superfast because we respect the technical foundation of WordPress core, using tax_query.<\/p><\/span><\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column col-12 is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"wp-block-heading\">How CPTs and Global Taxonomies are linked<\/h3>\n\n\n\n<ul class=\"wp-block-greyd-list\" id=\"list_69d14423b1921\">\n<li><span class=\"list_icon arrow_left-right_alt\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>CPT Event is linked to the global taxonomies called Experts, Locations, Topic and Series<\/p><\/span><\/li>\n\n\n\n<li><span class=\"list_icon arrow_left-right_alt\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>CPT Expert is linked to the global taxonomies called Experts, Locations, Topic and Skills<\/p><\/span><\/li>\n\n\n\n<li><span class=\"list_icon arrow_left-right_alt\" aria-hidden=\"true\"><\/span><span class=\"list_content\"><p>CPT Location is linked to the global taxonomies called Locations*<\/p><\/span><\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-group has-lightest-color has-tertiary-background-color has-text-color has-background has-link-color wp-elements-c5aeac1fbd7e4b9f26a9b67ca34c12a3 has-global-padding is-layout-constrained wp-container-core-group-is-layout-8217c53c wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--medium);padding-right:var(--wp--preset--spacing--medium);padding-bottom:var(--wp--preset--spacing--medium);padding-left:var(--wp--preset--spacing--medium)\">\n<h2 class=\"wp-block-heading\">*Naming conventions<\/h2>\n\n\n\n<p>It may seem confusing that CPTs and Global Taxonomies almost have the same name. Best practice is to give CPTs a singular name, and a Global Taxonomy a plural name. You don&#8217;t need to worry about giving single and plural the same name, as you can see in the screenshot below.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"827\" height=\"438\" src=\"https:\/\/prefab.greyd.io\/wp-content\/uploads\/sites\/2\/2025\/06\/naming-global-taxonomies-in-greyd-suite.jpg\" alt=\"Settings panel for a taxonomy named \u201cLocations\u201d assigned to the post types Location, Expert, and Event. Both frontend\/backend visibility and hierarchical structure are enabled. Singular and plural labels are both set to \u201cLocations\u201d.\" class=\"wp-image-907\" srcset=\"https:\/\/prefab.greyd.io\/events\/wp-content\/uploads\/sites\/2\/2025\/06\/naming-global-taxonomies-in-greyd-suite.jpg 827w, https:\/\/prefab.greyd.io\/events\/wp-content\/uploads\/sites\/2\/2025\/06\/naming-global-taxonomies-in-greyd-suite-300x159.jpg 300w, https:\/\/prefab.greyd.io\/events\/wp-content\/uploads\/sites\/2\/2025\/06\/naming-global-taxonomies-in-greyd-suite-768x407.jpg 768w\" sizes=\"auto, (max-width: 827px) 100vw, 827px\" \/><\/figure>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Why Global Taxonomies are a solid approach with dynamic data<\/h2>\n\n\n\n<p class=\"has-medium-font-size\"><strong>TL;DR:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Best practice<\/strong>: Use both taxonomies (for filtering) and custom fields (for sorting)<\/li>\n\n\n\n<li><strong>WordPress limitation<\/strong>: You can\u2019t sort posts by taxonomy name or order<\/li>\n\n\n\n<li><strong>Greyd.Suite<\/strong>: It doesn\u2019t bypass that limitation, it works with it. Which makes for superfast websites. In geek speak: We use tax_query instead of meta_query.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">About display conditions and dynamic data<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>Feature<\/strong><\/th><th><strong>Greyd.Suite<\/strong><\/th><th><strong>ACF<\/strong><\/th><\/tr><\/thead><tbody><tr><td>Show\/hide <strong>frontend blocks<\/strong> based on conditions<\/td><td>\u2705 Yes<\/td><td>\u26a0\ufe0f Only via custom PHP or theme templates<\/td><\/tr><tr><td>Conditional display of <strong>query results<\/strong><\/td><td>\u2705 Yes<\/td><td>\u26a0\ufe0f Possible, but requires meta_query or code<\/td><\/tr><tr><td>Form logic (e.g. Greyd Forms)<\/td><td>\u2705 Supports conditions for fields, sections, etc.<\/td><td>\u274c Not part of ACF<\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>This is your prefab content installation This front page is without design because we know you want to add your own. We have provided dynamic content and featured images for you in this installation. We also created example pages with filtered display, so you can do what you do best: apply own design, add regular [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"greyd_block_editor_preview":[],"footnotes":""},"class_list":["post-12","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/prefab.greyd.io\/events\/wp-json\/wp\/v2\/pages\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prefab.greyd.io\/events\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/prefab.greyd.io\/events\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/prefab.greyd.io\/events\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prefab.greyd.io\/events\/wp-json\/wp\/v2\/comments?post=12"}],"version-history":[{"count":7,"href":"https:\/\/prefab.greyd.io\/events\/wp-json\/wp\/v2\/pages\/12\/revisions"}],"predecessor-version":[{"id":1074,"href":"https:\/\/prefab.greyd.io\/events\/wp-json\/wp\/v2\/pages\/12\/revisions\/1074"}],"wp:attachment":[{"href":"https:\/\/prefab.greyd.io\/events\/wp-json\/wp\/v2\/media?parent=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}