{"id":40995,"date":"2023-07-17T15:19:08","date_gmt":"2023-07-17T15:19:08","guid":{"rendered":"https:\/\/crocoblock.com\/knowledge-base\/?post_type=article&#038;p=40995"},"modified":"2023-08-02T11:29:37","modified_gmt":"2023-08-02T11:29:37","slug":"creating-dynamic-popups-for-sql-queries","status":"publish","type":"article","link":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/creating-dynamic-popups-for-sql-queries\/","title":{"rendered":"How to Create Dynamic Popup for Listing with the SQL Query Source"},"content":{"rendered":"\n<p>The <em>JetPopup<\/em> plugin lets pull out the data from <em>JetEngine<\/em> listing templates within a <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetpopup\/jetpopup-how-to-build-a-dynamic-popup-to-work-with-jetengine-listings\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>dynamic pop-up<\/strong><\/a>. You can also display the data with the <em>JetEngine<\/em> <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-query-builder-sql-query-type\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>SQL Query<\/strong><\/a> source.<\/p>\n\n\n\n<p>As a use-case, I will describe how to display user\u2019s appointments on the user Profile page with the <strong>Listing Grid <\/strong>widget or block. Users can see all details of the appointment when they click on the button that opens a dynamic pop-up with more appointment details.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"jetappointment-setup\">JetAppointment Setup<\/h2>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n<p>Before you start, ensure to complete the <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetappointment\/jetappointment-full-overview-and-wizard-setup\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>JetAppointment Wizard Setup<\/strong><\/a>.<\/p>\n\n\n\n<p>For this use case, you need to make several appointments. Proceed to the&nbsp; <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetappointment\/how-to-manage-appointments-from-the-wordpress-dashboard\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>How to Manage Appointments from the WordPress Dashboard<\/strong><\/a><strong> <\/strong>tutorial to add appointments from the backend.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/add-new-appointment-via-dashboard2.png\" alt=\"add-new-appointment-via-dashboard\">\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"create-the-sql-query\">Create the SQL Query<\/h2>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n<p>Follow the <strong><em>JetEngine &gt; Query Builder<\/em><\/strong>path and hit the <strong>\u201cAdd New\u201d <\/strong>button.<\/p>\n\n\n\n<p>In the <strong>General Settings <\/strong>section, enter the query <strong>Name <\/strong>and select the \u201cSQL\/AI Query\u201d <strong>Query Type<\/strong>.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/sql-query-type2.png\" alt=\"SQL query type\">\n\n\n\n<p>In the <strong>Custom SQL Query <\/strong>section, pick the \u201cjet_appointments\u201d option in the <strong>From table <\/strong>field.<\/p>\n\n\n\n<p>In the <strong>Where (query clauses) <\/strong>tab, hit the <strong>\u201cAdd New\u201d <\/strong>button.<\/p>\n\n\n\n<p>Select the \u201cuser_id\u201d <strong>Column<\/strong> and the \u201cEqual (=)\u201d option in the <strong>Compare <\/strong>field. In the <strong>Value <\/strong>field, click the <strong>coin-stack icon <\/strong>and choose the <strong>Current User ID <\/strong>macro. Finally, pick the \u201cNumeric\u201d <strong>Type<\/strong>. These query settings will narrow results, so a user will see only the appointments they have booked.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/jet_appointments-table2.png\" alt=\"jet_appointments table\">\n\n\n\n<p>In the <strong>Order &amp; Order By<\/strong> tab, you can add sorting parameters by clicking on the <strong>\u201cAdd new sorting parameter\u201d<\/strong> button. There could be several of them for every query.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/add-sorting-parameters2.png\" alt=\"add sorting parameters\">\n\n\n\n<p>To learn more about SQL Query Type settings, proceed to <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/jetengine-query-builder-sql-query-type\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>this overview<\/strong><\/a>.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/show-per-page-limit2.png\" alt=\"show per page limit\">\n\n\n\n<p>When you finish customizing the query, hit the <strong>\u201cAdd\/Update Query\u201d <\/strong>button.<\/p>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"create-a-popup\">Create a Pop-up<\/h2>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n<p>Go to the <strong><em>JetPopup &gt; Create New Popup <\/em><\/strong>tab.&nbsp;<\/p>\n\n\n\n<p>Choose the \u201cBlock Editor\u201d or \u201cElementor\u201d <strong>Content Type<\/strong>. Also, you can enter the <strong>Name <\/strong>and <strong>Choose Preset<\/strong>. After that, push the <strong>\u201cCreate\u201d<\/strong> button.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/create-a-popup2.png\" alt=\"create a pop-up\">\n\n\n\n<p>The <strong>Listing Template <\/strong>we will create later will show a few appointment details (date and service name). All other information will be displayed in the pop-up.<\/p>\n\n\n\n<p>Place the <strong>Dynamic Field <\/strong>widget or block on the editing page. Pick the \u201cPost\/Term\/User\/Object Data\u201d <strong>Source<\/strong>. In the <strong>Object Field <\/strong>drop-down, you can select any column to display data from.&nbsp;<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/query-data-displayed-with-dynamic-field-widget2.png\" alt=\"query data displayed with dynamic field widget\">\n\n\n\n<p>Use the <strong>Customize field output <\/strong>option to add text before and after the value.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/Customize-field-output2.png\" alt=\"Customize field output\">\n\n\n\n<p>To display some column values correctly, you need to enable the <strong>Filter field output <\/strong>option. For example, to display the date and time, you need to pick the \u201cFormat date\u201d <strong>Callback<\/strong>. Without this callback, the widget will show the date and time in timestamp format.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/format-date-callback2-1024x633.png\" alt=\"format date callback\">\n\n\n\n<p>To display the service or provider post title, enable the <strong>Filter field output <\/strong>option and pick the \u201cGet post titles from IDs\u201d <strong>Callback<\/strong>. Without that, the <strong>Dynamic Field<\/strong> will show the post ID.<\/p>\n\n\n\n<p>To learn more about the <strong>Filter field output <\/strong>option, navigate to the <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/dynamic-field-widget-overview\/#filter-field-output-overview\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Dynamic Field Widget Overview<\/strong><\/a>.&nbsp;<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/get-post-titles-from-IDs-callback2-1024x635.png\" alt=\"get post titles from IDs callback\">\n\n\n\n<p>In the Gutenberg editor, the <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/dynamic-field-block-overview\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Dynamic Field<\/strong><\/a> block settings are the same.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/dynamic-field-block-in-the-gutenberg-editor2-1024x636.png\" alt=\"dynamic field block in the Gutenberg editor\">\n\n\n\n<p>When you create the pop-up layout in the Elementor editor, click the <strong>Settings<\/strong> icon in the lower-left corner.&nbsp;<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/pop-up-settings-icon.png\" alt=\"pop-up settings icon\">\n\n\n\n<p>Here, you need to enable the <strong>Loading content with Ajax<\/strong> and <strong>Force Loading <\/strong>toggles.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/jetpopup-settings.png\" alt=\"jetpopup settings\">\n\n\n\n<p>To open the JetPopup settings in the Gutenberg editor, click the <strong>JetPopup<\/strong> icon in the right-upper corner. Enable the <strong>Loading content with Ajax<\/strong> and <strong>Force Loading <\/strong>toggles.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/jetpopup-settings-in-the-gutenberg-editor2-1024x636.png\" alt=\"jetpopup settings in the Gutenberg editor\">\n\n\n\n<p>To learn more about the pop-up creation process, proceed to the <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetpopup\/how-to-create-a-new-popup-template-from-scratch-based-on-jetpopup\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>How to Create a New Popup Template in Elementor<\/strong><\/a> or <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetpopup\/how-to-create-popup-in-gutenberg\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>How to Create Popup in Gutenberg<\/strong><\/a> tutorials.<\/p>\n\n\n\n<p>You can also check the <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetpopup\/popup-style-settings-overview-in-elementor\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Popup Style Settings Overview in Elementor<\/strong><\/a> or <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetpopup\/popup-style-settings-overview-in-gutenberg\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Popup Style Settings Overview in Gutenberg<\/strong><\/a>.<\/p>\n\n\n\n<p>When you finish customizing the pop-up, hit the <strong>\u201cUpdate\u201d <\/strong>button.<\/p>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"create-a-listing\">Create a Listing<\/h2>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n<p>Proceed to the <strong><em>JetEngine &gt; Listing <\/em><\/strong>tab and hit the <strong>\u201cAdd New\u201d <\/strong>button.<\/p>\n\n\n\n<p>In the <strong>Setup Listing Item <\/strong>pop-up, select the \u201cQuery Builder\u201d <strong>Listing source<\/strong>, choose the recently created <strong>Query<\/strong>, enter the <strong>Listing item name<\/strong>, and pick the \u201cElementor\u201d or \u201cBlocks (Gutenberg)\u201d <strong>Listing view<\/strong>. Then, hit the <strong>\u201cCreate Listing Item\u201d <\/strong>button.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/setup-listing-item-popup2-1024x622.png\" alt=\"setup listing item popup\">\n\n\n\n<p>The majority of appointment details we displayed in the pop-up. Now, I placed two <strong>Dynamic Field <\/strong>widgets to display the appointment data and service name. Also, I used the <strong>Customize field output<\/strong> to add the text to the value. With the <strong>Filter field output <\/strong>option and \u201cFormat date\u201d and \u201cGet post titles from IDs\u201d <strong>Callbacks<\/strong>, I displayed the date and the service post title.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/dynamic-field-widgets-in-the-listing-template2-1024x636.png\" alt=\"dynamic field widgets in the listing template\">\n\n\n\n<p>The same process is in the Gutenberg editor.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/dynamic-field-blocks-in-the-listing-template2-1024x636.png\" alt=\"dynamic field blocks in the listing template\">\n\n\n\n<p>Drag-n-drop any button widget or block to the editing page. It can be the default WordPress <strong>Button<\/strong> or the <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetelements\/jetelements-button-widget-how-to-add-a-button-widget-to-your-website\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Button<\/strong><\/a> from the <a href=\"https:\/\/crocoblock.com\/plugins\/jetelements\/\" target=\"_blank\" rel=\"noreferrer noopener\"><em>JetElements<\/em><\/a> plugin (for Elementor only). Customize and style it according to your needs.<\/p>\n\n\n\n<p>Elementor view:<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/button-widget2-1024x636.png\" alt=\"button widget\">\n\n\n\n<p>Gutenberg view:<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/button-block-in-the-gutenberg-editor2-1024x472.png\" alt=\"button block in the Gutenberg editor\">\n\n\n\n<p>Then, in the Elementor editor, open the <strong>Advanced <\/strong>settings tab and unfold the <strong>JetPopup <\/strong>tab.<\/p>\n\n\n\n<p>Set the recently created pop-up in the <strong>Attached Popup <\/strong>field, pick the \u201cClick on Button\u201d <a href=\"https:\/\/crocoblock.com\/knowledge-base\/features\/popup-trigger-events-overview\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Trigger Type<\/strong><\/a>, and enable the <strong>Jet Engine Listing popup <\/strong>option.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/attached-popup-to-the-button-1024x635.png\" alt=\"attached popup to the button\">\n\n\n\n<p>In the Gutenberg editor, unfold the <strong>Advanced <\/strong>settings tab, set the recently created pop-up in the <strong>Attached Popup <\/strong>field, pick the \u201cClick\u201d <a href=\"https:\/\/crocoblock.com\/knowledge-base\/features\/popup-trigger-events-overview\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Trigger Type<\/strong><\/a>, and enable the <strong>JetEngine Listing popup <\/strong>toggle.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/attached-popup-to-the-button-block.png\" alt=\"attached pop-up to the button block\">\n\n\n\n<p>Finally, press the <strong>\u201cUpdate\u201d <\/strong>button.<\/p>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"displaying-appointments-on-the-profile-page\">Displaying Appointments on the Profile Page<\/h2>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n<p>Discover the Profile Builder dashboard settings from the <a href=\"https:\/\/crocoblock.com\/knowledge-base\/features\/jetengine-user-profile-builder-overview\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Profile Builder Overview<\/strong><\/a>.<\/p>\n\n\n\n<p>Navigate to the <strong><em>JetEngine &gt; Profile Builder <\/em><\/strong>tab and make sure to enable the <strong>Single user page <\/strong>toggle and set the <strong>Single User Page<\/strong>.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/single-user-page2.png\" alt=\"single user page\">\n\n\n\n<p>After changing the settings, hit the <strong>\u201cSave\u201d <\/strong>button.<\/p>\n\n\n\n<p>Open the <strong>Page <\/strong>tab on the WordPress Dashboard and click to edit the Profile page in the Elementor or Gutenberg editor.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/user-profile-page2-1024x635.png\" alt=\"user profile page\">\n\n\n\n<p>In the Elementor editor, drag-n-drop the <a href=\"https:\/\/crocoblock.com\/knowledge-base\/features\/listing-grid-widget-overview\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Listing Grid<\/strong><\/a> widget and select the recently created <strong>Listing<\/strong>.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/listing-grid-with-appointments-on-the-profile-page2-1024x633.png\" alt=\"listing grid with appointments on the profile page\">\n\n\n\n<p>In the Gutenberg editor, place the <a href=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/listing-grid-block-overview\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Listing Grid<\/strong><\/a> block and choose the needed <strong>Listing<\/strong>.&nbsp;<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/listing-grid-block-with-appointments2-1024x635.png\" alt=\"listing grid block with appointments\">\n\n\n\n<p>After finishing customizing the Profile page, click the <strong>\u201cUpdate\u201d <\/strong>button.<\/p>\n\n\n\n<p>Open the Profile page on the front end.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/profile-page-on-the-front-end2-1024x635.png\" alt=\"profile page on the front end\">\n\n\n\n<p>When I click the button, it triggers the dynamic pop-up with other appointment details.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/open-the-dynamic-pop-up-with-appointment-details2-1024x636.png\" alt=\"open the dynamic pop-up with appointment details\">\n\n\n\n<p>When I hit the button from the second listing item, the dynamic pop-up shows the details of the corresponding appointment.<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/dynamic-pop-up2-1024x637.png\" alt=\"dynamic pop-up\">\n<\/div><\/div>\n\n\n\n<p>That\u2019s all. Now you know how to create a dynamic pop-up for <em>JetEngine<\/em> Listing templates with the SQL Query Source and display the appointments on the WordPress User Profile page.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This tutorial will describe how to create a dynamic pop-up for listing templates with the SQL Query Source.<\/p>\n","protected":false},"author":8,"featured_media":0,"template":"","format":"standard","builder-category":[],"article-category":[486,405],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Create Dynamic Popup for Listing with the SQL Query Source | Crocoblock<\/title>\n<meta name=\"description\" content=\"This tutorial describes how to create a dynamic pop-up for the JetEngine Listing templates with the SQL Query Source. Display the appointments on the WordPress User Profile page.\" \/>\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\/creating-dynamic-popups-for-sql-queries\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Create Dynamic Popup for Listing with the SQL Query Source | Crocoblock\" \/>\n<meta property=\"og:description\" content=\"This tutorial describes how to create a dynamic pop-up for the JetEngine Listing templates with the SQL Query Source. Display the appointments on the WordPress User Profile page.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/creating-dynamic-popups-for-sql-queries\/\" \/>\n<meta property=\"og:site_name\" content=\"Help Center\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-02T11:29:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/add-new-appointment-via-dashboard2.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=\"11 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\/creating-dynamic-popups-for-sql-queries\/\",\"url\":\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/creating-dynamic-popups-for-sql-queries\/\",\"name\":\"How to Create Dynamic Popup for Listing with the SQL Query Source | Crocoblock\",\"isPartOf\":{\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/#website\"},\"datePublished\":\"2023-07-17T15:19:08+00:00\",\"dateModified\":\"2023-08-02T11:29:37+00:00\",\"description\":\"This tutorial describes how to create a dynamic pop-up for the JetEngine Listing templates with the SQL Query Source. Display the appointments on the WordPress User Profile page.\",\"breadcrumb\":{\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/creating-dynamic-popups-for-sql-queries\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/creating-dynamic-popups-for-sql-queries\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/creating-dynamic-popups-for-sql-queries\/#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 Dynamic Popup for Listing with the SQL Query Source\"}]},{\"@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":"How to Create Dynamic Popup for Listing with the SQL Query Source | Crocoblock","description":"This tutorial describes how to create a dynamic pop-up for the JetEngine Listing templates with the SQL Query Source. Display the appointments on the WordPress User Profile page.","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\/creating-dynamic-popups-for-sql-queries\/","og_locale":"en_US","og_type":"article","og_title":"How to Create Dynamic Popup for Listing with the SQL Query Source | Crocoblock","og_description":"This tutorial describes how to create a dynamic pop-up for the JetEngine Listing templates with the SQL Query Source. Display the appointments on the WordPress User Profile page.","og_url":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/creating-dynamic-popups-for-sql-queries\/","og_site_name":"Help Center","article_modified_time":"2023-08-02T11:29:37+00:00","og_image":[{"url":"https:\/\/crocoblock.com\/knowledge-base\/wp-content\/uploads\/2023\/07\/add-new-appointment-via-dashboard2.png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/creating-dynamic-popups-for-sql-queries\/","url":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/creating-dynamic-popups-for-sql-queries\/","name":"How to Create Dynamic Popup for Listing with the SQL Query Source | Crocoblock","isPartOf":{"@id":"https:\/\/crocoblock.com\/knowledge-base\/#website"},"datePublished":"2023-07-17T15:19:08+00:00","dateModified":"2023-08-02T11:29:37+00:00","description":"This tutorial describes how to create a dynamic pop-up for the JetEngine Listing templates with the SQL Query Source. Display the appointments on the WordPress User Profile page.","breadcrumb":{"@id":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/creating-dynamic-popups-for-sql-queries\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/crocoblock.com\/knowledge-base\/jetengine\/creating-dynamic-popups-for-sql-queries\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/crocoblock.com\/knowledge-base\/jetengine\/creating-dynamic-popups-for-sql-queries\/#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 Dynamic Popup for Listing with the SQL Query Source"}]},{"@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\/40995"}],"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\/8"}],"wp:attachment":[{"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/media?parent=40995"}],"wp:term":[{"taxonomy":"builder-category","embeddable":true,"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/builder-category?post=40995"},{"taxonomy":"article-category","embeddable":true,"href":"https:\/\/crocoblock.com\/knowledge-base\/wp-json\/wp\/v2\/article-category?post=40995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}