{"id":2404,"date":"2021-06-21T11:50:41","date_gmt":"2021-06-21T11:50:41","guid":{"rendered":"https:\/\/elementor.com\/academy\/?p=2404"},"modified":"2023-02-21T14:11:09","modified_gmt":"2023-02-21T14:11:09","slug":"how-our-team-created-a-holiday-greeting-card-generator-from-scratch","status":"publish","type":"post","link":"https:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/","title":{"rendered":"How Our Team Created a Holiday Greeting Card Generator From Scratch"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"2404\" class=\"elementor elementor-2404\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-25746804 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"25746804\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-462db10b\" data-id=\"462db10b\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3c6a5a50 elementor-widget elementor-widget-video\" data-id=\"3c6a5a50\" data-element_type=\"widget\" data-settings=\"{&quot;youtube_url&quot;:&quot;https:\\\/\\\/www.youtube.com\\\/watch?v=_Ukz-6FIZVs&quot;,&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-wrapper elementor-open-inline\">\n\t\t\t<div class=\"elementor-video\"><\/div>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7fd7c0ae elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7fd7c0ae\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-596a0788\" data-id=\"596a0788\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4d4c3d87 elementor-tabs-view-horizontal elementor-widget elementor-widget-tabs\" data-id=\"4d4c3d87\" data-element_type=\"widget\" data-widget_type=\"tabs.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-tabs\">\n\t\t\t<div class=\"elementor-tabs-wrapper\" role=\"tablist\" >\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1291\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"true\" data-tab=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"elementor-tab-content-1291\" aria-expanded=\"false\">Overview<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1292\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1292\" aria-expanded=\"false\">Transcript<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"elementor-tabs-content-wrapper\" role=\"tablist\" aria-orientation=\"vertical\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"true\" data-tab=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"elementor-tab-content-1291\" aria-expanded=\"false\">Overview<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1291\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"1\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1291\" tabindex=\"0\" hidden=\"false\"><p>Want to wish your loved ones a merry Christmas and happy holidays?<br \/>In this video, we&#8217;ll show you how to create a stunning Greeting Card Generator with Elementor! Heads Up \u2013 this one is for our advanced users.<\/p><p>In this tutorial you&#8217;ll learn how to:<\/p><p>\u2714\ufe0e Apply the dynamic request parameter<br \/>\u2714\ufe0e Form redirect after submit<br \/>\u2714\ufe0e Create a real time live preview<\/p><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1292\" aria-expanded=\"false\">Transcript<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1292\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"2\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1292\" tabindex=\"0\" hidden=\"hidden\"><p>hi guys it&#8217;s Christmas time which means<br \/>it&#8217;s time for elementary education team<br \/>to come up with something special we<br \/>think we&#8217;ve come up with the perfect<br \/>gift a fully automated greeting card<br \/>done entirely in Elemental if you want<br \/>to send greetings to your parents family<br \/>or your best friend<br \/>all you have to do is fill in the<br \/>details your friend&#8217;s name David for<br \/>example and add a greeting with all your<br \/>best wishes for the new year and don&#8217;t<br \/>forget to add a nice closing as well as<br \/>your name let&#8217;s say Jack now fill in the<br \/>email filled with David&#8217;s email and hit<br \/>the deliver button from there we are<br \/>redirected to a personalized thank-you<br \/>page that confirms the greeting card was<br \/>sent successfully and at the same time<br \/>David receives an email with a link to<br \/>the greeting card by clicking the link<br \/>David will be directed to the result<br \/>page and see the beautiful Christmas<br \/>greeting made just for him are you lost<br \/>let&#8217;s go over it again fill in the<br \/>Christmas greeting card and send it to<br \/>your friend you are redirected to a<br \/>thank-you page and your friend receives<br \/>an email with the link to the Christmas<br \/>greeting you especially made for him wow<br \/>that sounds like magic so how does it<br \/>work<br \/>a heads up in advance this might get a<br \/>little complicated but we&#8217;ll go over it<br \/>step-by-step understand the logic behind<br \/>it see how things work behind the scenes<br \/>and then you&#8217;ll see it isn&#8217;t as<br \/>complicated as you might have thought so<br \/>let&#8217;s see what we&#8217;re up against by<br \/>breaking it down and understand the<br \/>bigger picture the first screen is the<br \/>main page you can see the form on the<br \/>left and the greeting card on the right<br \/>the second screen is the result page<br \/>which is the page your friends land on<br \/>after having clicked the link in the<br \/>email they receive here they will see<br \/>your beautifully designed Christmas<br \/>greeting the third screen is a Thank You<br \/>page this is the page you are redirected<br \/>to after having sent the greeting and<br \/>confirms that the message was sent<br \/>successfully<br \/>we&#8217;ve designed and created these three<br \/>pages with elemental so go ahead and<br \/>create your own designs<br \/>because what we&#8217;re doing here can be<br \/>applied to any design first off on the<br \/>main page we will focus on the first<br \/>trick real-time live preview as you can<br \/>see while I&#8217;m filling in the form on the<br \/>left the greeting card on the right is<br \/>mirroring the same text now let&#8217;s head<br \/>over to the editor as you can see the<br \/>page is the same we just clean it up a<br \/>bit so we can focus on the technical<br \/>side of things now let&#8217;s dig in we have<br \/>a section with two columns the column on<br \/>the left has the form with all the<br \/>fields we need the column on the right<br \/>has a bunch of form widgets stacked one<br \/>on top of the other we&#8217;ve also added a<br \/>script to the HTML widget you see here<br \/>this script helps us with the mirroring<br \/>effect and we&#8217;ve added some custom CSS<br \/>as well but don&#8217;t worry this is not the<br \/>time to panic<br \/>things will be cleared up in a bit let&#8217;s<br \/>start off by understanding the<br \/>relationship between the two columns and<br \/>all of the forms each field in the form<br \/>on the Left corresponds with one of the<br \/>fields in the form on the right now<br \/>let&#8217;s start off with the first field in<br \/>the form on the left by filling in the<br \/>necessary details the type label<br \/>placeholder and let&#8217;s set the required<br \/>option to yes moving on to the Advanced<br \/>tab give the field a unique ID now on<br \/>the form on the right all you need to do<br \/>is just repeat what we did before and<br \/>just make sure to give it a unique idea<br \/>of its own as well in order for the<br \/>mirroring to take place we need to add<br \/>this script to the HTML widget over here<br \/>and you can find this script in the<br \/>first comment below let&#8217;s check it out<br \/>so we can see it in action click to<br \/>preview as you can see writing hello in<br \/>the left field over here is mirrored in<br \/>the field on the right as well let&#8217;s do<br \/>the same for the next field fill in all<br \/>the details and give it a unique ID on<br \/>the form to the right fill in all the<br \/>details as well and make sure to give it<br \/>a unique ID like before let&#8217;s preview it<br \/>this trick works with the help of the<br \/>script we created especially for this<br \/>tutorial it essentially allows us to<br \/>connect the fields IDs which in turn<br \/>allows for the live preview stat you can<br \/>anywhere on your page you can go ahead<br \/>and add your own fields as many as you<br \/>like let&#8217;s make some minor adjustments<br \/>in the Advanced tab go to custom CSS and<br \/>paste this code this needs to be done in<br \/>all of the form widgets on the right<br \/>column and we&#8217;ll remove the buttons the<br \/>focus state border and align all the<br \/>text to the middle<br \/>pay attention though in order to remove<br \/>all of the buttons you&#8217;ll need to give<br \/>each one a unique ID great we&#8217;re done<br \/>with the live preview pod this helped us<br \/>create a virtual Christmas greeting card<br \/>allowing us to preview it before sending<br \/>it on to our family or friends moving on<br \/>to part 2 actions after submit the<br \/>actions of the submit option in the<br \/>forum widget allows us to set an action<br \/>that will be performed after a user<br \/>submits the form we will add two actions<br \/>let&#8217;s start with the first one click on<br \/>the add action field in the drop-down<br \/>and choose email you will find a new<br \/>email tab below it comes with pre-built<br \/>parameters but we can change any of<br \/>those as we wish we can set the<br \/>receivers email a subject the message<br \/>and more in the message field we can add<br \/>HTML as well this way we can customize<br \/>the message in the email you can find<br \/>HTML tags easily via Google search now<br \/>let&#8217;s focus on the second trick the link<br \/>inside the email message your friend<br \/>receives needs to be dynamic for it to<br \/>create personalized content which gets<br \/>us right to the next action request<br \/>parameter before we understand how it<br \/>works let&#8217;s see what it does the forum<br \/>knows how to take all the parameters<br \/>filled inside it send an email to our<br \/>friend who upon clicking the link in the<br \/>email will see the custom Christmas<br \/>greeting with all the details we filled<br \/>in on the form now let&#8217;s see how to set<br \/>up the result page in the content tab<br \/>and the title click on dynamic and on<br \/>the side choose the request parameter<br \/>now click on the request parameter field<br \/>in the settings drop-down and make sure<br \/>that the type is set to get it should so<br \/>by default the get field allows us to<br \/>receive data from the<br \/>our L in our case the daughter will<br \/>arrive from the field inform connected<br \/>to the link in the email now go ahead<br \/>and fill in the parameter name in this<br \/>case I&#8217;ve used F nem we also added some<br \/>fullback text in the Advanced drop-down<br \/>let&#8217;s go over it again click on dynamic<br \/>and then in the request parameter define<br \/>the parameter name now go ahead and<br \/>apply this to the remaining widgets just<br \/>make sure that the parameter name is<br \/>written all together without any spaces<br \/>in between and use Latin characters you<br \/>can also use the dash and underline<br \/>symbols now that we&#8217;ve added names to<br \/>all of the parameters we can go back to<br \/>the email section in the form on the<br \/>main page basically what we need to do<br \/>now is connect the fields in the form up<br \/>with the dynamic request parameters we<br \/>set up on the result page we also need<br \/>to transfer the dots via the link sent<br \/>in the email to your friend sounds a bit<br \/>complicated so let&#8217;s go over this link<br \/>and see how it works first in the link<br \/>tag we see the URL of the result page<br \/>the question mark separates the domain<br \/>from the query string which contains all<br \/>of the different parameters we define<br \/>before let&#8217;s look at it a bit closer F<br \/>name is equal to its corresponding field<br \/>ID in the result page in our case it&#8217;s<br \/>equal to ID name 1 let&#8217;s see another<br \/>example message is equal to its<br \/>corresponding field ID in the result<br \/>page in our case it&#8217;s equal to ID<br \/>message 1 as you can see this way we<br \/>link the parameters from the result page<br \/>to the fields from the main page where<br \/>each parameter has its corresponding<br \/>field this is where the magic happens<br \/>the link we send connects the fields of<br \/>the main page to the dynamic parameters<br \/>of the result page let&#8217;s go through the<br \/>whole link and see that we have all the<br \/>fields between each field we make sure<br \/>to have the ampersand symbol it<br \/>separates them now all that&#8217;s left is to<br \/>talk about the Thank You page this page<br \/>informs the sender that the message was<br \/>sent successfully we need to go back to<br \/>the form on the main page and and the<br \/>actions of the submit choose redirect in<br \/>the redirect to field fill in the link<br \/>of the<br \/>Thank You page in this case the name of<br \/>the sender is also connected so that the<br \/>thank-you page is personalized as well<br \/>that&#8217;s it we&#8217;re done let&#8217;s see the magic<br \/>in action again I&#8217;ll go to the main page<br \/>hmm to whom shall I send the holiday<br \/>greeting<br \/>I&#8217;ll send the greeting to my mother we<br \/>will fill in all the details and write<br \/>her a heartfelt blessing<br \/>let&#8217;s click the deliver button we&#8217;re<br \/>taken to a personal thank-you page that<br \/>shows that the message was sent<br \/>successfully my mother received an email<br \/>containing a link to the greeting I<br \/>prepared she clicks on the link and is<br \/>taken to the Christmas card prepared<br \/>especially for her cool you can send as<br \/>many wishes as you like each time the<br \/>content changes dynamically well that&#8217;s<br \/>it from all of us at Elementor we wish<br \/>you a Merry Christmas and a Happy New<br \/>Year<br \/>[Music]<\/p><\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Overview Transcript Overview Want to wish your loved ones a merry Christmas and happy holidays? In this video, we\u2019ll show you how to create a stunning Greeting Card Generator with Elementor! Heads Up \u2013 this one is for our advanced users. In this tutorial you\u2019ll learn how to: \u2714\ufe0e Apply the dynamic request parameter \u2714\ufe0e [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":4143,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"elementor_theme","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[41],"class_list":["post-2404","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-forms","tag-guides-tutorials"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How Our Team Created a Holiday Greeting Card Generator From Scratch - Academy<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How Our Team Created a Holiday Greeting Card Generator From Scratch - Academy\" \/>\n<meta property=\"og:description\" content=\"Overview Transcript Overview Want to wish your loved ones a merry Christmas and happy holidays? In this video, we\u2019ll show you how to create a stunning Greeting Card Generator with Elementor! Heads Up \u2013 this one is for our advanced users. In this tutorial you\u2019ll learn how to: \u2714\ufe0e Apply the dynamic request parameter \u2714\ufe0e [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/\" \/>\n<meta property=\"og:site_name\" content=\"Academy\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-21T11:50:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-21T14:11:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/elementor.com\/academy\/wp-content\/uploads\/2021\/06\/Tips-Tricks-2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Hodaya\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Hodaya\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How Our Team Created a Holiday Greeting Card Generator From Scratch - Academy","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:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/","og_locale":"en_US","og_type":"article","og_title":"How Our Team Created a Holiday Greeting Card Generator From Scratch - Academy","og_description":"Overview Transcript Overview Want to wish your loved ones a merry Christmas and happy holidays? In this video, we\u2019ll show you how to create a stunning Greeting Card Generator with Elementor! Heads Up \u2013 this one is for our advanced users. In this tutorial you\u2019ll learn how to: \u2714\ufe0e Apply the dynamic request parameter \u2714\ufe0e [&hellip;]","og_url":"https:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/","og_site_name":"Academy","article_published_time":"2021-06-21T11:50:41+00:00","article_modified_time":"2023-02-21T14:11:09+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/elementor.com\/academy\/wp-content\/uploads\/2021\/06\/Tips-Tricks-2.jpg","type":"image\/jpeg"}],"author":"Hodaya","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Hodaya","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/#article","isPartOf":{"@id":"https:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/"},"author":{"name":"Hodaya","@id":"https:\/\/elementor.com\/academy\/#\/schema\/person\/ff9f2661f3df53ae5842a9ad15853d1c"},"headline":"How Our Team Created a Holiday Greeting Card Generator From Scratch","datePublished":"2021-06-21T11:50:41+00:00","dateModified":"2023-02-21T14:11:09+00:00","mainEntityOfPage":{"@id":"https:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/"},"wordCount":1907,"publisher":{"@id":"https:\/\/elementor.com\/academy\/#organization"},"image":{"@id":"https:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/#primaryimage"},"thumbnailUrl":"https:\/\/elementor.com\/academy\/wp-content\/uploads\/2021\/06\/Tips-Tricks-2.jpg","keywords":["Guides and Tutorials"],"articleSection":["Forms"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/","url":"https:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/","name":"How Our Team Created a Holiday Greeting Card Generator From Scratch - Academy","isPartOf":{"@id":"https:\/\/elementor.com\/academy\/#website"},"primaryImageOfPage":{"@id":"https:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/#primaryimage"},"image":{"@id":"https:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/#primaryimage"},"thumbnailUrl":"https:\/\/elementor.com\/academy\/wp-content\/uploads\/2021\/06\/Tips-Tricks-2.jpg","datePublished":"2021-06-21T11:50:41+00:00","dateModified":"2023-02-21T14:11:09+00:00","breadcrumb":{"@id":"https:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/#primaryimage","url":"https:\/\/elementor.com\/academy\/wp-content\/uploads\/2021\/06\/Tips-Tricks-2.jpg","contentUrl":"https:\/\/elementor.com\/academy\/wp-content\/uploads\/2021\/06\/Tips-Tricks-2.jpg","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/elementor.com\/academy\/how-our-team-created-a-holiday-greeting-card-generator-from-scratch\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Elementor","item":"https:\/\/elementor.com\/"},{"@type":"ListItem","position":2,"name":"Academy","item":"https:\/\/elementor.com\/academy\/"},{"@type":"ListItem","position":3,"name":"Forms","item":"https:\/\/elementor.com\/academy\/forms\/"},{"@type":"ListItem","position":4,"name":"How Our Team Created a Holiday Greeting Card Generator From Scratch"}]},{"@type":"WebSite","@id":"https:\/\/elementor.com\/academy\/#website","url":"https:\/\/elementor.com\/academy\/","name":"Elementor Academy","description":"Page Builder for WordPress","publisher":{"@id":"https:\/\/elementor.com\/academy\/#organization"},"alternateName":"https:\/\/elementor.com\/academy\/wp-content\/uploads\/2021\/02\/Elementor-Logo.png","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/elementor.com\/academy\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/elementor.com\/academy\/#organization","name":"Elementor Academy","alternateName":"https:\/\/elementor.com\/academy\/wp-content\/uploads\/2021\/02\/Elementor-Logo.png","url":"https:\/\/elementor.com\/academy\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/elementor.com\/academy\/#\/schema\/logo\/image\/","url":"https:\/\/elementor.com\/academy\/wp-content\/uploads\/2022\/11\/e-logo.svg","contentUrl":"https:\/\/elementor.com\/academy\/wp-content\/uploads\/2022\/11\/e-logo.svg","width":490,"height":85,"caption":"Elementor Academy"},"image":{"@id":"https:\/\/elementor.com\/academy\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/elementor.com\/academy\/#\/schema\/person\/ff9f2661f3df53ae5842a9ad15853d1c","name":"Hodaya","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/elementor.com\/academy\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/324f2d5cff44331b747d766f10e31793b1e29ad4f98f129d409760191f88ccc5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/324f2d5cff44331b747d766f10e31793b1e29ad4f98f129d409760191f88ccc5?s=96&d=mm&r=g","caption":"Hodaya"},"url":"https:\/\/elementor.com\/academy\/author\/hodaya\/"}]}},"_links":{"self":[{"href":"https:\/\/elementor.com\/academy\/wp-json\/wp\/v2\/posts\/2404","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elementor.com\/academy\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/elementor.com\/academy\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/elementor.com\/academy\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/elementor.com\/academy\/wp-json\/wp\/v2\/comments?post=2404"}],"version-history":[{"count":1,"href":"https:\/\/elementor.com\/academy\/wp-json\/wp\/v2\/posts\/2404\/revisions"}],"predecessor-version":[{"id":9475,"href":"https:\/\/elementor.com\/academy\/wp-json\/wp\/v2\/posts\/2404\/revisions\/9475"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elementor.com\/academy\/wp-json\/wp\/v2\/media\/4143"}],"wp:attachment":[{"href":"https:\/\/elementor.com\/academy\/wp-json\/wp\/v2\/media?parent=2404"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/elementor.com\/academy\/wp-json\/wp\/v2\/categories?post=2404"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/elementor.com\/academy\/wp-json\/wp\/v2\/tags?post=2404"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}