{"id":79245,"date":"2022-01-05T06:14:07","date_gmt":"2022-01-05T06:14:07","guid":{"rendered":"https:\/\/www.headout.com\/blog\/?p=79245"},"modified":"2023-08-23T16:07:11","modified_gmt":"2023-08-23T12:07:11","slug":"west-end-shows-for-kids","status":"publish","type":"post","link":"https:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/","title":{"rendered":"Top West End shows for kids"},"content":{"rendered":"<p>The theatre is a magical place for children. It brings their imagination to life and lets them explore different worlds through exciting visual performances. From the wizarding world of Harry Potter to the endless adventures of Mary Poppins, the vast number of shows for kids in London will entice anyone.It\u2019s never too early to take your kids to the theatre and London has no shortage of shows to offer for children of all ages. Get your kids away from the telly and take them out to a show they\u2019ll never forget. London theatre performances for kids are enjoyable for adults as well with timeless classics like the Lion King or Aladdin bound to enthral everyone. To help parents pick the perfect West End show for their kids, we have created a comprehensive guide of the best plays and musicals on offer.<\/p>\n<h2>Best West End Shows For Kids in London<\/h2>\n<p>[tcb-script src=&#8221;https:\/\/cdn.jsdelivr.net\/npm\/dayjs@1.10.7\/dayjs.min.js&#8221;][\/tcb-script][tcb-script src=&#8221;https:\/\/unpkg.com\/dayjs@1.8.21\/plugin\/isSameOrAfter.js&#8221;][\/tcb-script][tcb-script src=&#8221;https:\/\/unpkg.com\/dayjs@1.8.21\/plugin\/isSameOrBefore.js&#8221;][\/tcb-script]            [tcb-script]    dayjs.extend(window.dayjs_plugin_isSameOrAfter);    dayjs.extend(window.dayjs_plugin_isSameOrBefore);      const compareDates = (      startMonthDate,      endMonthDate,      startTourDate,      endTourDate    ) =&gt; {      return (        startTourDate.isSameOrBefore(startMonthDate, &#8220;month&#8221;) &amp;&amp;        endTourDate.isSameOrAfter(endMonthDate, &#8220;month&#8221;)      );    };      const getTGIDListForMonth = (allTours, displayMonth) =&gt; {      const allToursArray = Object.values(allTours);      const startMonthDate = dayjs(        `${displayMonth}\/01\/${dayjs().year()}`,        &#8220;MMMM\/DD\/YYYY&#8221;      );      const endMonthDate = startMonthDate.add(        startMonthDate.daysInMonth() &#8211; 1,        &#8220;days&#8221;      );      const startMonthNextYearDate = startMonthDate.add(1, &#8220;years&#8221;);      const endMonthNextYearDate = endMonthDate.add(1, &#8220;years&#8221;);        return allToursArray.reduce((accumulator, element) =&gt; {        const endTourDate = dayjs(element[&#8220;Closing Date&#8221;], &#8220;YYYY-MM-DD&#8221;);        const startTourDate = dayjs(element[&#8220;Opening Date&#8221;], &#8220;YYYY-MM-DD&#8221;);        if (          compareDates(            startMonthDate,            endMonthDate,            startTourDate,            endTourDate          ) ||          compareDates(            startMonthNextYearDate,            endMonthNextYearDate,            startTourDate,            endTourDate          )        ) {          return [&#8230;accumulator, element[&#8220;id&#8221;]];        }        return accumulator;      }, []);    };  [\/tcb-script]  [tcb-script]    document.addEventListener(&#8220;DOMContentLoaded&#8221;, function (event) {      \/\/ Listicle Entry Animation      let slideInShows = function (animEleClass, animationClass) {        jQuery(&#8220;.show-wrapper .accBody:visible&#8221;).slideToggle(&#8220;slow&#8221;);        jQuery(&#8220;.show-wrapper .invert&#8221;).removeClass(&#8220;invert&#8221;);        jQuery(&#8220;.show-wrapper&#8221;)          .removeClass(animationClass)          .fadeOut()          .finish()          .promise()          .done(function () {            jQuery(&#8220;.&#8221; + animEleClass).each(function (i) {              jQuery(this)                .addClass(animationClass)                .removeClass(animEleClass)                .delay((i + 1) * 100)                .fadeIn();            });          });      };        \/\/ Loads All Listed Products as in Months Tab      let showTab = function (tabId) {        showTgids = [];        jQuery(&#8220;.show-wrapper&#8221;).removeClass(&#8220;tabbed&#8221;);        jQuery(&#8220;[data-infotab]&#8221;).removeClass(&#8220;active&#8221;);        jQuery(&#8216;[data-infotab=&#8221;broadway musicals&#8221;]&#8217;).addClass(&#8220;active&#8221;);        if (tabId == 0) {          jQuery(&#8220;.show-wrapper&#8221;).addClass(&#8220;prepare tabbed&#8221;);        } else if (typeof tabId === &#8220;string&#8221;) showTgids = tabId?.split(&#8220;,&#8221;);        else showTgids.push(tabId);        for (let i = 0; i &lt; showTgids.length; i++)          jQuery(            &#8220;.show-wrapper[data-tgid=&#8221; + parseInt(showTgids[i]) + &#8220;]&#8221;          ).addClass(&#8220;tabbed prepare&#8221;);        slideInShows(&#8220;prepare&#8221;, &#8220;active&#8221;);      };        const msToTime = (duration) =&gt; {        let milliseconds = parseInt((duration % 1000) \/ 100),          seconds = Math.floor((duration \/ 1000) % 60),          minutes = Math.floor((duration \/ (1000 * 60)) % 60),          hours = Math.floor((duration \/ (1000 * 60 * 60)) % 24);          return hours + &#8221; hrs &#8221; + minutes + &#8221; mins&#8221;;      };        \/\/ HTML Stars Generation      let getStars = function (rating) {        rating = rating &lt; 0 ? 0 : rating;        if (rating &lt; 0.25) return;        let round = Math.floor(rating);        let full = rating &gt; round + 0.5 ? true : false;        let half = rating &gt; round + 0.25 ? true : false;        let template = &#8220;&#8221;;        let i;        \/\/ Populate Complete Stars        for (i = 0; i &lt; round &amp;&amp; i &lt; 5; i++) {          template += &#8220;&lt;span class=&#8217;fas fa-star&#8217;&gt;&lt;\/span&gt;&#8221;;        }        \/\/ Add Partial Star (for floating ratings)        if (full &amp;&amp; i &lt; 5 &amp;&amp; ++i) template += &#8220;&lt;span class=&#8217;fas fa-star&#8217;&gt;&lt;\/span&gt;&#8221;;        else if (half &amp;&amp; i &lt; 5 &amp;&amp; ++i)          template += &#8220;&lt;span class=&#8217;fas fa-star-half-alt&#8217;&gt;&lt;\/span&gt;&#8221;;        \/\/ Populate Remaining With Empty Stars        while (i++ &lt; 5) template += &#8220;&lt;span class=&#8217;far fa-star&#8217;&gt;&lt;\/span&gt;&#8221;;        return template;      };        const getMicroBrandsHighlightsData = (microBrandsHighlight) =&gt; {        const result = {          &#8220;Opening Date&#8221;: &#8220;&#8221;,          &#8220;Closing Date&#8221;: &#8220;&#8221;,          &#8220;Blog Summary&#8221;: &#8220;&#8221;,          &#8220;Seating Plan&#8221;: null,          &#8220;Read More&#8221;: &#8220;&#8221;,          &#8220;Theatre Name&#8221;: null,          &#8220;Getting There&#8221;: null,        };        let currentObject = &#8220;&#8221;;          microBrandsHighlight.forEach((element) =&gt; {          if (            element.type == &#8220;heading6&#8221; &amp;&amp;            element.content.text == &#8220;Opening Date&#8221;          ) {            currentObject = &#8220;Opening Date&#8221;;          } else if (            element.type == &#8220;heading6&#8221; &amp;&amp;            element.content.text == &#8220;Closing Date&#8221;          ) {            currentObject = &#8220;Closing Date&#8221;;          } else if (            element.type == &#8220;heading6&#8221; &amp;&amp;            element.content.text == &#8220;Blog Summary&#8221;          ) {            currentObject = &#8220;Blog Summary&#8221;;          } else if (            element.type == &#8220;heading6&#8221; &amp;&amp;            element.content.text == &#8220;Blog Theatre Seating Plan&#8221;          ) {            currentObject = &#8220;Seating Plan&#8221;;          } else if (            element.type == &#8220;heading6&#8221; &amp;&amp;            element.content.text == &#8220;Blog Show Page&#8221;          ) {            currentObject = &#8220;Read More&#8221;;          } else if (            element.type == &#8220;heading6&#8221; &amp;&amp;            element.content.text == &#8220;Theatre Name&#8221;          ) {            currentObject = &#8220;Theatre Name&#8221;;          } else if (            element.type == &#8220;heading6&#8221; &amp;&amp;            element.content.text == &#8220;Getting There Map Link&#8221;          ) {            currentObject = &#8220;Getting There&#8221;;          } else {            if (currentObject == &#8220;Opening Date&#8221;) {              result[&#8220;Opening Date&#8221;] = element.content.text;            } else if (currentObject == &#8220;Closing Date&#8221;) {              result[&#8220;Closing Date&#8221;] = element.content.text;            } else if (currentObject == &#8220;Blog Summary&#8221;) {              result[&#8220;Blog Summary&#8221;] = element.content.text;            } else if (currentObject == &#8220;Seating Plan&#8221;) {              result[&#8220;Seating Plan&#8221;] = element.content.text;            } else if (currentObject == &#8220;Read More&#8221;) {              result[&#8220;Read More&#8221;] = element.content.spans?.[0]?.data.url;            } else if (currentObject == &#8220;Theatre Name&#8221;) {              result[&#8220;Theatre Name&#8221;] = element.content.text;            } else if (currentObject == &#8220;Getting There&#8221;) {              result[&#8220;Getting There&#8221;] = element.content.text;            }            currentObject = &#8220;&#8221;;          }        });          return result;      };        const monthSubCategoryFilter = jQuery(&#8220;.month-sub-category-filter&#8221;);      const filterEnabled = monthSubCategoryFilter.data(&#8220;filter-enabled&#8221;) == &#8220;1&#8221;;      const categoryNameMap = {};      const filterHeading = monthSubCategoryFilter?.[0].getAttribute(        &#8220;data-filter-heading&#8221;      );      const subCategoryIds = monthSubCategoryFilter?.[0]        .getAttribute(&#8220;data-sub-category-ids&#8221;)        ?.split(&#8220;,&#8221;);      const monthCSV = monthSubCategoryFilter?.[0]        ?.getAttribute(&#8220;data-months&#8221;)        ?.split(&#8220;,&#8221;);      const firstMonth = monthCSV?.[0];      let allTours = [];        const functionsAfterDataUpdate = () =&gt; {        allTours.forEach((tour, index) =&gt; {          const showBody = tour[&#8220;Blog Summary&#8221;] || tour.shortSummary;          const opening = getMicroBrandsHighlightsData(tour.microBrandsHighlight)[&#8220;Opening Date&#8221;];          const mainCard = `&lt;div                                  data-rating=&#8221;${tour.averageRating}&#8221;                                  data-tgid=&#8221;${tour.id}&#8221;                                  data-open=&#8221;${opening}&#8221;&gt;                                  &lt;div data-id=&#8221;${index}&#8221;&gt;                                    &lt;div&gt;                                        &lt;div&gt;                                        &lt;div&gt;                                            &lt;img                                            data-cover-image=&#8221;&#8221;                                            src=&#8221;${                                              tour.imageUrl                                            }?auto=compress&amp;amp;fm=webp&amp;amp;w=1200&amp;amp;h=750&amp;amp;crop=faces&amp;amp;fit=min&#8221;                                            alt=&#8221;${tour.name}&#8221;                                            data-pagespeed-url-hash=&#8221;173998699&#8243;                                            onload=&#8221;pagespeed.CriticalImages.checkImageForCriticality(this);&#8221;                                            title=&#8221;${tour.name}&#8221;                                            \/&gt;                                            &lt;div&gt;${                                              tour.name                                            }&lt;\/div&gt;                                            &lt;div&gt;                                              ${tour.tags                                                .map(                                                  (item) =&gt;                                                    `&lt;div                                                  data-cat=&#8221;${item}&#8221;                                              &gt;                                                  ${categoryNameMap[item]}                                              &lt;\/div&gt;                                                `                                                )                                                .join(&#8221; &#8220;)}                                            &lt;\/div&gt;                                            &lt;div data-show-ratings=&#8221;${                                              tour.averageRating                                            }&#8221;&gt;                                            &lt;\/div&gt;                                            &lt;div&gt;                                              ${                                                showBody                                                  ? `&lt;span&gt;&lt;\/span&gt;`                                                  : &#8220;&#8221;                                              }                                            &lt;\/div&gt;                                            &lt;div&gt;                                            &lt;span&gt;                                                &lt;span&gt;from&lt;\/span&gt;                                                &lt;span&gt;\u00a3${                                                  tour.listingPrice.finalPrice                                                }&lt;\/span&gt;                                            &lt;\/span&gt;                                            &lt;\/div&gt;                                            &lt;div&gt;&lt;\/div&gt;                                            &lt;div&gt;&lt;\/div&gt;                                        &lt;\/div&gt;                                        &lt;\/div&gt;                                    &lt;\/div&gt;                                  &lt;\/div&gt;`;            const htmlObject = `                                ${                                  showBody                                    ? mainCard                                    : `&lt;a href=&#8221;https:\/\/www.headout.com\/tour\/${tour.id}&#8221; target=&#8221;_blank&#8221; style=&#8221;text-decoration: none;&#8221;&gt;${mainCard}&lt;\/a&gt;`                                }                                  ${                                    showBody                                      ? `&lt;div                                    data-id=&#8221;${index}&#8221;                                    &gt;                                    &lt;div&gt;                                        &lt;div&gt;                                        &lt;div&gt;                                          &lt;div&gt;                                            ${tour.microBrandsDescriptor                                              ?.split(&#8220;rn&#8221;)                                              .map((item) =&gt; {                                                item = item.trim();                                                return `&lt;div&gt;${item}&lt;\/div&gt;`;                                              })                                              .join(&#8221; &#8220;)}                                          &lt;\/div&gt;                                            &lt;div&gt;                                            &lt;div&gt;&lt;span&gt;Duration:&lt;\/span&gt; ${msToTime(                                              tour.maxDuration                                            )}&lt;\/div&gt;                                            &lt;\/div&gt;                                        &lt;\/div&gt;                                        &lt;div&gt;                                            ${                                              tour[&#8220;Blog Summary&#8221;] ||                                              tour.shortSummary                                            }                                        &lt;\/div&gt;                                        &lt;div&gt;                                            &lt;div&gt;                                            &lt;div&gt;                                              ${                                                tour[&#8220;Seating Plan&#8221;] ||                                                tour[&#8220;Getting There&#8221;]                                                  ? `&lt;a                                                href=&#8221;${                                                  tour[&#8220;Seating Plan&#8221;] ||                                                  tour[&#8220;Getting There&#8221;]                                                }&#8221;                                                target=&#8221;_blank&#8221;                                                &gt;                                                &lt;div&gt;                                                    &lt;div&gt;                                                    &lt;i&gt;&lt;\/i&gt;                                                    &lt;span&gt;${                                                      tour[&#8220;Theatre Name&#8221;]                                                    }&lt;\/span&gt;                                                    &lt;span&gt;${                                                      tour[&#8220;Seating Plan&#8221;]                                                        ? &#8220;Seating Plan&#8221;                                                        : &#8220;Getting There&#8221;                                                    }&lt;\/span&gt;                                                    &lt;\/div&gt;                                                &lt;\/div&gt;                                                &lt;\/a&gt;`                                                  : &#8220;&#8221;                                              }                                                &lt;a                                                href=&#8221;${                                                  tour[&#8220;Read More&#8221;] ||                                                  `https:\/\/www.headout.com\/tour\/${tour.id}`                                                }&#8221;                                                target=&#8221;_blank&#8221;                                                &gt;                                                &lt;div&gt;READ MORE&lt;\/div&gt;                                                &lt;\/a&gt;                                                &lt;a                                                href=&#8221;https:\/\/www.headout.com\/book\/${                                                  tour.id                                                }\/seatmap-select\/&#8221;                                                target=&#8221;_blank&#8221;                                                &gt;                                                &lt;div&gt;BOOK NOW&lt;\/div&gt;                                                &lt;\/a&gt;                                            &lt;\/div&gt;                                            &lt;\/div&gt;                                        &lt;\/div&gt;                                        &lt;\/div&gt;                                    &lt;\/div&gt;                                    &lt;\/div&gt;`                                      : &#8220;&#8221;                                  }                                  &lt;\/div&gt;`;            jQuery(&#8220;.product-wrapper&#8221;).append(htmlObject);          jQuery(`.show-wrapper[data-tgid=${tour.id}]`)            .find(&#8220;[data-show-ratings]&#8221;)            .html(getStars(tour.averageRating));        });          jQuery(&#8220;.accCtrl&#8221;).on(&#8220;click&#8221;, function (e) {          selEle = jQuery(e.target).closest(&#8220;.show-wrapper&#8221;);          jQuery(selEle).find(&#8220;.listicle-item-arrow&#8221;).toggleClass(&#8220;invert&#8221;);          target = jQuery(selEle).find(&#8220;.accBody&#8221;);          jQuery(target).slideToggle(&#8220;slow&#8221;);        });          filterEnabled &amp;&amp;          monthCSV.forEach((month, index) =&gt; {            const monthName = month.trim();              let htmlObject;            let ids = &#8220;0&#8221;;            if (monthName != &#8220;ALL SHOWS&#8221;) {              ids = getTGIDListForMonth(allTours, monthName).join();            }              if (index == 0) {              htmlObject = `&lt;div data-tab=&#8221;${                index + 1              }&#8221; data-ids=&#8221;${ids}&#8221; data-active=&#8221;1&#8243;&gt;${monthName}&lt;\/div&gt;`;            } else {              htmlObject = `&lt;div data-tab=&#8221;${                index + 1              }&#8221; data-ids=&#8221;${ids}&#8221; data-active=&#8221;0&#8243;&gt;${monthName}&lt;\/div&gt;`;            }              jQuery(&#8220;.shows-filters .tab-wrapper .mobi-text .mobi-wrap&#8221;).append(              htmlObject            );          });          \/\/ Page Init Products List Generation        showTab(          jQuery(&#8220;.tab-item[data-active=&#8217;1&#8242;]&#8221;).addClass(&#8220;active&#8221;).data(&#8220;ids&#8221;)        );          \/\/ Months Tab Change Handler        jQuery(&#8220;.tab-item&#8221;).click(function () {          jQuery(&#8220;.tab-item&#8221;).data(&#8220;active&#8221;, 0).removeClass(&#8220;active&#8221;);          jQuery(this).data(&#8220;active&#8221;, 1).addClass(&#8220;active&#8221;);          jQuery(this)            .closest(&#8220;.mobi-text&#8221;)            .find(&#8220;.text&#8221;)            .text(jQuery(this).text());          showTab(jQuery(this).data(&#8220;ids&#8221;));          jQuery(jQuery(&#8220;input.filter-chckbox:checked&#8221;).prop(&#8220;checked&#8221;, false));          jQuery(&#8220;.cat-filter label:first-child&#8221;).delay(500).trigger(&#8220;click&#8221;);        });          \/\/ On Window Resize Hide Mobile Months Tab.        jQuery(window).resize(function (e) {          if (jQuery(window).width() &gt; 630)            jQuery(&#8220;.mobi-wrap&#8221;).attr(&#8220;style&#8221;, &#8220;&#8221;);        });          \/\/ Mobile Months Tabs Change Handler        jQuery(&#8220;.mobi-text&#8221;).click(function (e) {          if (            jQuery(&#8220;.mobi-wrap&#8221;).is(&#8220;:hidden&#8221;) ||            jQuery(this).hasClass(&#8220;active&#8221;)          )            jQuery(this)              .closest(&#8220;.mobi-text&#8221;)              .toggleClass(&#8220;active&#8221;)              .find(&#8220;.mobi-wrap&#8221;)              .slideToggle(&#8220;slow&#8221;);        });          \/\/ Category Change Handler        jQuery(&#8220;[data-filter-cat]&#8221;).change(function (e) {          jQuery(&#8220;[data-cat]&#8221;).removeClass(&#8220;mobi-active-filter&#8221;);          jQuery(&#8220;[data-infotab].active&#8221;).removeClass(&#8220;active&#8221;);          let catName = jQuery(this).data(&#8220;filter-cat&#8221;);          jQuery(`[data-infotab=&#8217;${catName.toLowerCase()}&#8217;]`).addClass(&#8220;active&#8221;);          jQuery(&#8220;[data-filter-cat]&#8221;).each(function (ele) {            if (jQuery(this).find(&#8220;input&#8221;).is(&#8220;:checked&#8221;)) {              cat = jQuery(this).data(&#8220;filter-cat&#8221;).toLowerCase();              const activeMonth = jQuery(&#8220;.tab-item.active&#8221;).text();              if (                activeMonth !=&#8221;All Shows&#8221; &amp;&amp; (cat == &#8220;new arrivals&#8221; ||                  cat == &#8220;shows reopening&#8221;)              ) {                  const elements = jQuery(&#8220;.show-wrapper.tabbed&#8221;).has(`[data-cat=&#8221;${cat}&#8221;]`);                for(i=0;i&lt;elements.length;i++){                      ele = elements[i];                      const condition = dayjs(jQuery(ele).data(&#8220;open&#8221;),&#8221;MM\/DD\/YYYY&#8221;).format(&#8220;MMMM&#8221;) === activeMonth;                      if(condition){                          jQuery(ele)                      .addClass(&#8220;prepare&#8221;)                      .find(`[data-cat=&#8221;${cat}&#8221;]`)                      .addClass(&#8220;mobi-active-filter&#8221;);                      }                  };              } else {                jQuery(&#8220;.show-wrapper.tabbed&#8221;)                  .has(`[data-cat=&#8221;${cat}&#8221;]`)                  .addClass(&#8220;prepare&#8221;)                  .find(`[data-cat=&#8221;${cat}&#8221;]`)                  .addClass(&#8220;mobi-active-filter&#8221;);              }            }          });          slideInShows(&#8220;prepare&#8221;, &#8220;active&#8221;);        });          \/\/ Page init default Category Handler &amp; Default Open Listicle        filterEnabled &amp;&amp;          setTimeout(function () {            jQuery(&#8220;[data-filter-cat]&#8221;).each(function (ele) {              if (jQuery(this).find(&#8220;input&#8221;).is(&#8220;:checked&#8221;)) {                cat = jQuery(this).data(&#8220;filter-cat&#8221;).toLowerCase();                jQuery(&#8220;.show-wrapper.tabbed&#8221;)                  .has(`[data-cat=&#8221;${cat}&#8221;]`)                  .addClass(&#8220;prepare&#8221;);              }            });            slideInShows(&#8220;prepare&#8221;, &#8220;active&#8221;);            jQuery(&#8220;.cat-filter label:first-child&#8221;).delay(500).trigger(&#8220;click&#8221;);            jQuery(&#8220;.show-wrapper:first-child .accCtrl&#8221;)              .eq(0)              .delay(1000)              .trigger(&#8220;click&#8221;);          }, 300);          \/\/ Lower Case All Data Attributes.        let lowerCaseAll = function (ele) {          jQuery(ele).each(function () {            var $this = jQuery(this),              data = $this.data();            for (var k in data)              $this.attr(&#8220;data-&#8221; + k, data[k].toLowerCase().trim());          });        };        lowerCaseAll(jQuery(&#8220;[data-filter-cat], [data-cat], [data-infotab]&#8221;));        if (!filterEnabled) {          jQuery(&#8220;.show-wrapper&#8221;).each(function (i) {            jQuery(this).addClass(&#8220;active&#8221;).css(&#8220;display&#8221;, &#8220;block&#8221;);          });        }      };        filterEnabled &amp;&amp;        monthSubCategoryFilter.append(`&lt;div&gt;          &lt;div&gt;            &lt;h3&gt;${filterHeading}&lt;\/h3&gt;            &lt;div&gt;             &lt;\/div&gt;          &lt;\/div&gt;        &lt;\/div&gt;`);        filterEnabled &amp;&amp;        monthSubCategoryFilter.prepend(`&lt;div&gt;          &lt;div&gt;            &lt;div&gt;              &lt;div&gt; &lt;span&gt;${firstMonth}&lt;\/span&gt;&lt;span&gt;&lt;\/span&gt;&lt;\/div&gt;              &lt;div&gt;              &lt;\/div&gt;            &lt;\/div&gt;          &lt;\/div&gt;        &lt;\/div&gt;`);        async function getData() {        for (const [index, subCategory] of subCategoryIds.entries()) {          subCategoryId = subCategory.trim();          if (subCategoryId != &#8220;&#8221;) {            await jQuery.get(              {                url: `https:\/\/vivillion.netlify.app\/api\/parsed-tours\/?primarySubCategory=${subCategoryId}&amp;limit=100&amp;city=London`,              },              function (res) {                const displayName = res.subCategory.displayName;                const subCategoryId = res.subCategory.id;                const subCategoryDiscription = monthSubCategoryFilter.data(                  `${subCategoryId.toString()}-des`                );                const subCategoryName = monthSubCategoryFilter.data(                  `${subCategoryId.toString()}-name`                );                categoryNameMap[displayName] = subCategoryName                  ? subCategoryName                  : displayName;                  res.pageData.items.forEach((item) =&gt; {                  item.tags = [displayName];                    if (allTours.filter((x) =&gt; x.id === item.id).length === 0) {                    allTours.push(item);                  } else {                    allTours                      .filter((x) =&gt; x.id === item.id)[0]                      .tags.push(displayName);                  }                });                  jQuery(&#8220;.filter-combo .new-filters .cat-filter&#8221;)                  .append(`&lt;label data-filter-cat=&#8221;${displayName.toLowerCase()}&#8221; data-filtercat=&#8221;${displayName.toLowerCase()}&#8221;&gt; &lt;input type=&#8221;radio&#8221; name=&#8221;cat&#8221;&gt;                  &lt;div&gt;&lt;span&gt;&lt;\/span&gt;${                    categoryNameMap[displayName]                  }&lt;\/div&gt;                &lt;\/label&gt; `);                  jQuery(&#8220;.info-tab&#8221;).append(                  `&lt;div data-infotab=&#8221;${displayName}&#8221;&gt;                    &lt;h2&gt;${displayName}&lt;\/h2&gt;                    &lt;p&gt;${subCategoryDiscription}&lt;\/p&gt;                  &lt;\/div&gt;`                );                if (index == subCategoryIds.length &#8211; 1) {                  allTours = allTours.map((tour) =&gt; {                    const result = getMicroBrandsHighlightsData(                      tour.microBrandsHighlight                    );                    return {                      &#8230;result,                      &#8230;tour,                    };                  });                  functionsAfterDataUpdate();                }              }            );          }        }      }      getData();    });  [\/tcb-script][tcb-script]    document.addEventListener(&#8220;DOMContentLoaded&#8221;, function(event) {        let getStars = function(rating) {            \/\/console.log(rating)            rating = rating &lt; 0 ? 0 : rating;            if (rating &lt; .25)                return;            let round = Math.floor(rating);            let full = (rating &gt; (round + .5)) ? true : false;            let half = (rating &gt; (round + .25)) ? true : false;            let template = &#8221;;            let i;            \/\/ Populate Complete Stars            for (i = 0; i &lt; round &amp;&amp; i &lt; 5; i++) {                template += &#8220;&lt;span class=&#8217;fas fa-star&#8217;&gt;&lt;\/span&gt;&#8221;;            }            \/\/ Add Partial Star (for floating ratings)            if (full &amp;&amp; i &lt; 5 &amp;&amp; ++i)                template += &#8220;&lt;span class=&#8217;fas fa-star&#8217;&gt;&lt;\/span&gt;&#8221;            else if (half &amp;&amp; i &lt; 5 &amp;&amp; ++i)                template += &#8220;&lt;span class=&#8217;fas fa-star-half-alt&#8217;&gt;&lt;\/span&gt;&#8221;            \/\/ Populate Remaining With Empty Stars            while (i++ &lt; 5)                template += &#8220;&lt;span class=&#8217;far fa-star&#8217;&gt;&lt;\/span&gt;&#8221;            return template;        }        \/\/ On Window Resize Hide Mobile Months Tab.        jQuery(window).resize(function(e) {            \/\/console.log(e);            if (jQuery(window).width() &gt; 630)                jQuery(&#8216;.mobi-wrap&#8217;).attr(&#8220;style&#8221;, &#8221;)        });        let thisEle = [];        let i = 0;        \/\/ Populating API Data        jQuery(&#8220;.show-wrapper[data-tgid]&#8221;).each(function() {            let pgid = jQuery(this).data(&#8220;tgid&#8221;);            thisEle.push(this);            if (parseInt(pgid) &amp;&amp; pgid != &#8221;) {                jQuery.get(&#8220;https:\/\/api.headout.com\/api\/v5\/tour-group\/get\/&#8221; + pgid, function(res) {                    \/\/ console.log(res);                    if (res.currency)                        symb = res.currency.localSymbol;                    uEle = `.show-wrapper[data-tgid=${res.id}]`;                    jQuery(uEle).find(&#8220;[data-show-ratings]&#8221;).html(getStars(jQuery(uEle).data(&#8216;rating&#8217;)));                    jQuery(uEle).find(&#8220;.review-count&#8221;).text(res.reviewCount);                    \/\/jQuery(uEle).find(&#8220;.himage&#8221;).attr(&#8216;src&#8217;, &#8220;https:&#8221; + res.imageUploads[0].url + &#8220;?auto=compress&amp;crop=faces&amp;fm=pjpg&amp;w=720&amp;h=500&amp;q=30&#8221;);                    jQuery(uEle).find(&#8220;.himage&#8221;).attr(&#8216;alt&#8217;, res.imageUploads[0].alt);                    jQuery(uEle).find(&#8220;.himage&#8221;).attr(&#8216;title&#8217;, res.imageUploads[0].title);                    \/\/jQuery(uEle).find(&#8220;.listicle-item-name&#8221;).text(res.name);                    if (res.listingPrice) {                        console.log(&#8220;here&#8221;)                        jQuery(uEle).find(&#8220;.price sup&#8221;).text(symb + res.listingPrice.originalPrice);                        jQuery(uEle).find(&#8220;.price .current&#8221;).text(symb + res.listingPrice.finalPrice);                    }                    jQuery(uEle).find(&#8220;.listicle-item-product-image img&#8221;).attr(&#8216;src&#8217;, res.imageUploads[Math.ceil(Math.random() * res.imageUploads.length &#8211; 1)].url);                })            }        });        \/\/ Generating Stars        jQuery(&#8220;[data-show-ratings]&#8221;).each(function(n, ele) {            jQuery(this).append(getStars(jQuery(jQuery(ele).closest(&#8220;.show-wrapper&#8221;)).data(&#8220;rating&#8221;)))        })        \/\/ Loads All Listed Products as in Months Tab        let showTab = function(tabId) {            \/\/ console.log(tabId)            showTgids = [];            jQuery(&#8220;.show-wrapper&#8221;).removeClass(&#8220;tabbed&#8221;)            jQuery(&#8216;[data-infotab]&#8217;).removeClass(&#8220;active&#8221;);            jQuery(&#8216;[data-infotab=&#8221;broadway musicals&#8221;]&#8217;).addClass(&#8220;active&#8221;);            if (tabId == 0) {                jQuery(&#8220;.show-wrapper&#8221;).addClass(&#8220;prepare tabbed&#8221;)            } else if (typeof tabId === &#8220;string&#8221;)                showTgids = tabId.split(&#8220;,&#8221;);            else                showTgids.push(tabId)            for (let i = 0; i &lt; showTgids.length; i++)                jQuery(&#8220;.show-wrapper[data-tgid=&#8221; + parseInt(showTgids[i]) + &#8220;]&#8221;).addClass(&#8220;tabbed prepare&#8221;)            slideInShows(&#8220;prepare&#8221;, &#8220;active&#8221;);        }        \/\/ Open Tab On Click Handler.        jQuery(&#8220;.accCtrl&#8221;).on(&#8220;click&#8221;, function(e) {            selEle = jQuery(e.target).closest(&#8220;.show-wrapper&#8221;);            jQuery(selEle).find(&#8220;.listicle-item-arrow&#8221;).toggleClass(&#8220;invert&#8221;)            target = jQuery(selEle).find(&#8220;.accBody&#8221;)            jQuery(target).slideToggle(&#8220;slow&#8221;);        })        \/\/ Listicle Entry Animation        let slideInShows = function(animEleClass, animationClass) {            jQuery(&#8220;.show-wrapper .accBody:visible&#8221;).slideToggle(&#8220;slow&#8221;)            jQuery(&#8220;.show-wrapper .invert&#8221;).removeClass(&#8220;invert&#8221;)            jQuery(&#8220;.show-wrapper&#8221;).removeClass(animationClass).fadeOut().finish().promise().done(function() {                jQuery(&#8220;.&#8221; + animEleClass).each(function(i) {                    jQuery(this).addClass(animationClass).removeClass(animEleClass).delay((i + 1) * 100).fadeIn();                })            });        }        \/\/ Lower Case All Data Attributes.        let lowerCaseAll = function(ele) {            jQuery(ele).each(function() {                var $this = jQuery(this)                  , data = $this.data();                for (var k in data)                    $this.attr(&#8220;data-&#8221; + k, data[k].toLowerCase().trim());            });        }        lowerCaseAll(jQuery(&#8220;[data-filter-cat], [data-cat], [data-infotab]&#8221;));    });[\/tcb-script]<\/p>\n<h2>London Theatre for Toddlers<\/h2>\n<p>You might think that toddlers from the age of 2-3 years are too young for West End, but there are plenty of cute, friendly shows for the little ones. These shows for kids in London are a great way to keep your toddlers entertained and happy while fueling their imagination.<\/p>\n<h2>Best West End Shows for Tweens<\/h2>\n<p>Tweens or pre-adolescents are 9 to 12 years old. These children are energetic, crave entertainment, and constantly on the lookout for new things. There is no better way to fulfil all those needs than the London theatre for kids. These plays or musicals often teach valuable life lessons while still being entertaining and fun. Some of the most acclaimed theatre shows for tweens are Lion King, Wicked, and Mamma Mia. Here are some West End shows for tweens:<\/p>\n<ul>\n<li>Lion King<\/li>\n<li>Harry Potter and the Cursed Child<\/li>\n<li>Matilda<\/li>\n<li>Mamma Mia!<\/li>\n<li>Wicked<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1761\" height=\"297\" style=\"width: 1761px;\" data-pagespeed-url-hash=\"1236778697\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\" src=\"https:\/\/cdn-imgix.headout.com\/tour\/4746\/TOUR-IMAGE\/3164361e-a521-4451-9d35-a6988a3af372-WICKED-3.JPG?auto=compress&amp;fm=pjpg&amp;w=1920&amp;h=1150&amp;fit=min&amp;q=80&amp;crop=faces\" alt=\"Best West End Shows for kids\"><\/p>\n<h2>Kids Week London<\/h2>\n<p>One of the best ways to explore London theatre for kids is through Kids Week. This event is held in August every year and allows every child aged 16 or under to watch participating shows for free with an accompanying adult. Parents have to pay for their tickets and can buy two extra children\u2019s tickets at half price and without booking fees.Although West End shows for Kids Week are yet to be announced, long-running West End plays and musicals such as The Lion King, Mamma Mia, Matilda, and Wicked are expected to participate in the event. Children of all ages and their parents are guaranteed a fun time with theatre shows and other activities.<\/p>\n<h2>Parents Guide To London Theatre Shows<\/h2>\n<ul>\n<li>West End shows for kids in London often have their separate websites and parents must go through them to find out if their children or babies will be allowed in the theatre. Most theatres do not allow babies, while some do not allow children below the recommended age range.<\/li>\n<li>Parents should also look through websites for any cautionary warnings such as blackouts that are part of the show, any noises that may be too loud for some children etc.<\/li>\n<li>Make sure children are well fed and have all their basic needs taken care of before a show. A restless child throwing a tantrum will disrupt everyone\u2019s experience. Most London theatres for kids offer necessary child-care facilities.<\/li>\n<li>If you are taking your child to the theatre for the first time, make an experience out of it. Grab a program, read about the play, and build games around it. Make them anticipate the play or musical, so they\u2019re more likely to get entranced the minute the show starts.<\/li>\n<li>Explain the rules of the theatre to children before their visit. Rules such as being quiet once the show starts, not leaving their seats before the interval, etc. should be taught. For younger children, it\u2019s easier to make a game out of it, so they abide by the rules and have a pleasant experience.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1761\" height=\"297\" style=\"width: 1761px;\" data-pagespeed-url-hash=\"1236778697\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\" src=\"https:\/\/cdn-imgix.headout.com\/tour\/4717\/TOUR-IMAGE\/451dee65-853c-4258-a802-616b8c072854-21-MAT-April-2018.jpg?auto=compress&amp;fm=pjpg&amp;w=1920&amp;h=1150&amp;fit=min&amp;q=80&amp;crop=faces\" alt=\"Best West End Shows for kids\"><\/p>\n<h2>Attending London Theatre Shows With Kids &#8211; Tips &amp; Hacks<\/h2>\n<ul>\n<li>Ensure you pick the right West End show for your kids. Do your research and choose one that is likely to ensure a fun time. Your children might not enjoy the show simply because it is popular or has good reviews.<\/li>\n<li>Always check the show you have booked is appropriate for your child. Some children are scared of loud noises or fear the dark &#8211; keep this in mind when booking.<\/li>\n<li>To make the entire experience more enjoyable, consider taking other kids along, so your children have someone their age to share their excitement with.<\/li>\n<li>Find a synopsis of the show before you attend it and read it out to your kids before the performance. Adults like surprises, children might not. It\u2019ll also help build up excitement before the show.<\/li>\n<li>If you\u2019re taking your children to a musical, then buy the album and play the songs beforehand.<\/li>\n<li>Book the central seats whenever possible. If the tickets you booked are at the back, talk to the house staff and ask for booster seats.<\/li>\n<li>Meet house staff before the show starts and find out where the bathrooms are. Make your kids use the loo before the show.<\/li>\n<\/ul>\n<h3>Top trending London theatre shows for kids<\/h3>\n<p>London theatre shows can be an exciting, enlightening, and enjoyable experience for kids and adults. With a wide host of plays and musicals to choose from, you will never run out of options when it comes to West End shows for kids in London. Parents and guardians can relive nostalgic classics like the Lion King, Aladdin, and Mary Poppins while children experience the thrill of watching it for the first time. Whether you\u2019re a local or tourist, the quality and quantity of shows for kids in London will blow your mind.<\/p>\n<p><!--5\n\n\n<h2>A Christmas Carol<\/h2>\n\n\nWest End Play\n\n\n<p style=\"display:block;\">\n\n <img decoding=\"async\" src=\"https:\/\/cdn-imgix-open.headout.com\/blog\/calendar-01.png?w=20&amp;h=20\" style=\"padding-right: 5px;\" alt=\"Run Time\" data-pagespeed-url-hash=\"824346880\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\" draggable=\"false\">Nov 23, 2019 - Jan 18, 2020<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/img.icons8.com\/ios\/50\/000000\/clock.png?w=20&amp;h=20\" style=\"padding-right: 5px; padding-left: 10px;\" alt=\"Duration\" data-pagespeed-url-hash=\"1716444243\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\" draggable=\"false\">2 Hours 5 Minutes\n\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cdn-imgix.headout.com\/tour\/17582\/TOUR-IMAGE\/8a26fee1-6ba7-4af4-aa1a-e07f992ada85-9708-london-a-christmas-carol-03.jpg?q=60\" width=\"668\" height=\"223\" style=\"width: 1668px;\" alt=\"London Christmas Shows\" data-pagespeed-url-hash=\"1961240170\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\" draggable=\"false\"> Witness the transformation of Miserly Uncle Scrooge as he embarks on spiritual journeys with Ghosts of Christmas Past, Present, and Future and realizes the consequences of his ways. Among Charles Dickens\u2019 most exceptional works, A Christmas Carol is brought to life in a beautiful setting with just the right tones of music that are eerie when needed, and hopeful at the same time. Come witness the epic performance directed by Matthew Warchus and starring Paterson Joseph as the protagonist Scrooge in this critically acclaimed saga that portrays a realistic take on redemption and hope with a heart-warming message.\n\n<b>Director<\/b>:  Matthew Warchus\n\n<strong>Good for<\/strong> <span>Family <\/span> <span>First time West End experience<\/span> <span>Festive plays<\/span>\n\n<span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cdn-imgix-open.headout.com\/blog\/location-01.png?auto=compress&amp;fm=pjpg&amp;w=80&amp;h=80&amp;fit=min&amp;crop=faces\" style=\"padding-right: 5px; width: 25px;\" width=\"20\" height=\"20\" alt=\"Location\" data-pagespeed-url-hash=\"1470689023\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\" draggable=\"false\"><\/span>\n\n\n<p style=\"line-height: 16px !important; font-size: 16px !important;\">Old Vic Theatre <a href=\"https:\/\/www.headout.com\/blog\/old-vic-theatre-seating-plan\/\" target=\"_blank\" style=\"color: #00247d !important\" draggable=\"false\" rel=\"noopener\">Seating Plan<\/a><\/p>\n\n\n\n<a href=\"https:\/\/www.headout.com\/london-theatre-tickets\/a-christmas-carol-e-10553\/\" target=\"_blank\" draggable=\"false\" rel=\"noopener\">Read More <\/a> <a href=\"https:\/\/www.headout.com\/book\/10553\" target=\"_blank\" draggable=\"false\" rel=\"noopener\">Book Now <\/a>--><!--6\n\n\n<h2>Nativity! The Musical<\/h2>\n\n\nWest End Musical\n\n\n<p style=\"display:block;\">\n\n <img decoding=\"async\" src=\"https:\/\/cdn-imgix-open.headout.com\/blog\/calendar-01.png?w=20&amp;h=20\" style=\"padding-right: 5px;\" alt=\"Run Time\" data-pagespeed-url-hash=\"824346880\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\" draggable=\"false\">Dec 11 - 29, 2019<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/img.icons8.com\/ios\/50\/000000\/clock.png?w=20&amp;h=20\" style=\"padding-right: 5px; padding-left: 10px;\" alt=\"Duration\" data-pagespeed-url-hash=\"1716444243\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\" draggable=\"false\">2 Hours 20 Minutes\n\n<img loading=\"lazy\" decoding=\"async\" src=\"\/\/cdn-imgix.headout.com\/tour\/21217\/TOUR-IMAGE\/8bc2d715-b361-49d0-8d06-baa011d8bb12-11209-london-nativity--the-musical-04?q=40\" width=\"668\" height=\"223\" style=\"width: 1668px;\" alt=\"London Christmas Shows\" data-pagespeed-url-hash=\"1961240170\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\" draggable=\"false\"> A stage adaptation of the famous 2009 movie of the same name, Nativity The Musical! tells the story of a Coventry school organizing a nativity play and how the events leading to it blow out of proportion. The show features stellar direction by Debbie Isitt, choreography by Andrew Wright, lighting design by Tim Mitchell and compositions by Isitt herself and Nicky Ager. The show's cast also features well-known names in the West End theatre scene such as Danny Dyer, Sharon Osbourne, Dani Dyer, Simon Lipkin, Rylan Clark-Neal, and more. Perk up the Christmas season by watching the hilarious exploits of Mr. Maddens and Mr. Poppy.\n\n<b>Director<\/b>:  Debbie Isitt\n\n<strong>Good for<\/strong> <span>Family <\/span> <span>First time West End experience<\/span> <span>Festive musicals<\/span>\n\n<span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cdn-imgix-open.headout.com\/blog\/location-01.png?auto=compress&amp;fm=pjpg&amp;w=80&amp;h=80&amp;fit=min&amp;crop=faces\" style=\"padding-right: 5px; width: 25px;\" width=\"20\" height=\"20\" alt=\"Location\" data-pagespeed-url-hash=\"1470689023\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\" draggable=\"false\"><\/span>\n\n\n<p style=\"line-height: 16px !important; font-size: 16px !important;\">Eventim Apollo <a href=\"https:\/\/www.google.com\/maps\/place\/Eventim+Apollo\/@51.4908625,-0.226769,17z\/data=!3m1!4b1!4m5!3m4!1s0x48760fb775795673:0xf42b73f2887ea294!8m2!3d51.4908625!4d-0.2245803\" target=\"_blank\" style=\"color: #00247d !important\" draggable=\"false\" rel=\"noopener\">Getting There<\/a><\/p>\n\n\n\n<a href=\"https:\/\/www.headout.com\/london-theatre-tickets\/nativity-the-musical-e-11209\/\" target=\"_blank\" draggable=\"false\" rel=\"noopener\">Read More <\/a> <a href=\"https:\/\/www.headout.com\/book\/11209\" target=\"_blank\" draggable=\"false\" rel=\"noopener\">Book Now <\/a>--><!--7\n\n\n<h2>Snowflake<\/h2>\n\n\nWest End Play\n\n\n<p style=\"display:block;\">\n\n <img decoding=\"async\" src=\"https:\/\/cdn-imgix-open.headout.com\/blog\/calendar-01.png?w=20&amp;h=20\" style=\"padding-right: 5px;\" alt=\"Run Time\" data-pagespeed-url-hash=\"824346880\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\" draggable=\"false\">Dec 10, 2019 - Jan 18, 2020<\/p>\n\n\n\n<img decoding=\"async\" src=\"https:\/\/img.icons8.com\/ios\/50\/000000\/clock.png?w=20&amp;h=20\" style=\"padding-right: 5px; padding-left: 10px;\" alt=\"Duration\" data-pagespeed-url-hash=\"1716444243\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\" draggable=\"false\">TBC\n\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cdn-imgix.headout.com\/tour\/21179\/TOUR-IMAGE\/ac5c17c1-9fc9-4161-a79e-c3993afb27eb-11189-london-snowflake-01?q=30\" width=\"668\" height=\"223\" style=\"width: 1668px;\" alt=\"London Christmas Shows\" data-pagespeed-url-hash=\"1961240170\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\" draggable=\"false\"> Snowflake is a evocative exploration of present-day Britain told from the perspective of a generational clash. Mike Bartlett, who is best known for 2015's Doctor Foster, has written the play. Clare Lizzimore is in charge of directorial duties, and the show also features sound design by Jessica Hung Han Yun, sound design by Elena Pe\u00f1a, and theatre design by Jeremy Herbert. Snowflake tells the story of Andy, a 43-year old, has hired a village hall in Oxfordshire in anticipation of the arrival of his daughter, the 21-year old daughter Maya, for the Christmas holidays. The father and daughter haven't spoken for 3 years and tensions still persist between them. Find out what transpires by catching this heartwarming Christmas play.\n\n<b>Director<\/b>: Clare Lizzimore\n\n<strong>Good for<\/strong> <span>First time West End experience<\/span> <span>Festive plays<\/span>\n\n<span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cdn-imgix-open.headout.com\/blog\/location-01.png?auto=compress&amp;fm=pjpg&amp;w=80&amp;h=80&amp;fit=min&amp;crop=faces\" style=\"padding-right: 5px; width: 25px;\" width=\"20\" height=\"20\" alt=\"Location\" data-pagespeed-url-hash=\"1470689023\" onload=\"pagespeed.CriticalImages.checkImageForCriticality(this);\" draggable=\"false\"><\/span>\n\n\n<p style=\"line-height: 16px !important; font-size: 16px !important;\">Kiln Theatre <a href=\"https:\/\/www.google.com\/maps\/place\/Kiln+Theatre\/@51.5433231,-0.2021935,17z\/data=!3m1!4b1!4m5!3m4!1s0x4876106e2cf4a339:0x22d0132d8deda915!8m2!3d51.5433231!4d-0.2000048\" target=\"_blank\" style=\"color: #00247d !important\" draggable=\"false\" rel=\"noopener\">Getting There<\/a><\/p>\n\n\n\n<a href=\"https:\/\/www.headout.com\/plays-in-london\/snowflake-e-11189\/\" target=\"_blank\" draggable=\"false\" rel=\"noopener\">Read More <\/a> <a href=\"https:\/\/www.headout.com\/book\/11189\" target=\"_blank\" draggable=\"false\" rel=\"noopener\">Book Now <\/a>-->[tcb-script]     &lt;style&gt;header{width:100vw!important}@media screen and (max-width:1025px){.subscribe-footer{width:calc(100% &#8211; 32px)}.subscribe-footer .bg-image img,.subscribe-footer .content-wrapper{width:100%}}#summaryList li a{cursor:pointer;margin-right:10px;transition:none;font-family:&#8221;Graphik&#8221;,&#8221;Proxima Nova&#8221;,&#8221;Helvetica Neue&#8221;,Helvetica,Arial,sans-serif;transition:box-shadow .3s ease , color .3s ease;font-weight:300}#summary-mobile-ul,#summaryList{scroll-behavior:smooth}#summary-mobile-ul li a{color:#080808!important;font-family:&#8221;Graphik&#8221;,&#8221;Proxima Nova&#8221;,&#8221;Helvetica Neue&#8221;,Helvetica,Arial,sans-serif;transition:box-shadow .3s ease , color .3s ease;font-weight:300}#summaryList li a.active,#summaryList li a:hover{color:#8000FF!important}#summary-mobile-ul li a.active,#summary-mobile-ul li a:hover{color:#8000FF!important}.row.post-width{margin:0 auto;display:flex;padding:30px 0 30px 0;-webkit-box-pack:justify;justify-content:space-between}.small-12.medium-11.medium-centered.columns{max-width:940px;width:100%;margin:0;padding:0;padding-right:50px}.right-wrapper{-webkit-box-flex:0;flex:0 0 260px;position:relative;margin-right:20px}.category-title .title-text{line-height:1.5;font-size:16px;font-weight:bold;padding-left:0;text-align:left;font-family:&#8221;Graphik&#8221;,&#8221;Proxima Nova&#8221;,&#8221;Helvetica Neue&#8221;,Helvetica,Arial,sans-serif;color:#080808!important}.category-title .underline{height:3px;background:#333}#summary-list-wrapper{margin-top:50px;z-index:9;max-width:260px}#summary-list-wrapper ul{max-height:400px;overflow-y:scroll;margin:16px 0;width:240px;padding:0 0 0 20px;list-style-position:outside}#summary-list-wrapper ul::-webkit-scrollbar{background:#fff;width:6px}#summary-list-wrapper ul::-webkit-scrollbar-thumb{border-radius:6px;background:#e0e0e0}.open-summary-mobile-wrapper{display:none}.open-summary-mobile{cursor:pointer;color:#8000FF!important}#summary-wrapper-mobile{display:none;position:fixed;top:0;bottom:0;left:0;z-index:99;width:100vw;height:100%;background-color:rgba(0,0,0,.4)}.summary-wrapper-mobile-content{left:95px;width:calc(100% &#8211; 95px);height:100%;background-color:#fff;position:fixed}.summary-wrapper-mobile-content ul{padding:0 16px 30px 16px!important;list-style-type:none;max-height:calc(100% &#8211; 30px);overflow:scroll;margin:0!important}.summary-wrapper-mobile-content .title-text{margin-top:7px;padding-left:10px!important}.summary-wrapper-mobile-content ul li{padding:8px 0;line-height:1.5;box-shadow: inset 0 -0.5px 0 0 rgb(0 0 0 \/ 12%);cursor:pointer}@media screen and (min-width:765px){.row.post-width{max-width:1200px;padding-top:60px;margin:0 auto;display:flex;-webkit-box-pack:justify;justify-content:space-between}}@media screen and (max-width:765px){.row.post-width{display:block}.right-wrapper{display:none}.open-summary-mobile-wrapper{position:fixed;right:0;bottom:80px;font-size:1rem;height:2rem;border-radius:1.2rem 0 0 1.2rem;padding:.16rem .16rem .16rem 1rem;box-shadow: 0 0 4px 0 rgb(0 0 0 \/ 12%);-webkit-box-align:center;align-items:center;background-color:#fff;z-index:12;cursor:pointer;display:flex}.small-12.medium-11.medium-centered.columns{padding-left:.9375em;padding-right:.9375em}}&lt;\/style&gt;&lt;\/div&gt;&lt;div style=&#8221;&#8221;&gt;&lt;div&gt;&lt;div&gt;&lt;p&gt;See more London. Save more money.&lt;\/p&gt;&lt;p&gt; Save &lt;strong&gt;\u00a37&lt;\/strong&gt; on your first booking with Headout when you use promo code &lt;strong&gt;&#8217;GOLDN'&lt;\/strong&gt;!&lt;\/p&gt;&lt;\/div&gt; &lt;a href=&#8221;https:\/\/www.headout.com\/best-christmas-shows-in-london-c-1129\/&#8221; target=&#8221;_blank&#8221; style=&#8221;text-decoration: none !important;&#8221;&gt;&lt;div&gt;&lt;p style=&#8221;padding-top: 10px; color: #00247d !important;&#8221;&gt;EXPLORE NOW&lt;\/p&gt;&lt;\/div&gt; &lt;\/a&gt;&lt;\/div&gt;&lt;\/div&gt;&lt;\/div&gt;[\/tcb-script][tcb-script src=&#8221;https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jquery\/3.5.1\/jquery.min.js&#8221; integrity=&#8221;sha512-bLT0Qm9VnAYZDflyKcBaQ2gg0hSYNQrJ8RilYldYQ1FxQYoCLtUjuuRuZo+fjqhx\/qtq\/1itJ0C2ejDxltZVFg==&#8221; crossorigin=&#8221;anonymous&#8221;][\/tcb-script]            <a>             Summary        <\/a>                                                               Best West End Shows for Kids<\/p>\n<ul id=\"summary-mobile-ul\"><\/ul>\n<p>[tcb-script]        jQuery(document).ready(function () {            jQuery(&#8220;.row.post-width&#8221;).prepend(`&lt;div&gt;                    &lt;div id=&#8221;summary-list-wrapper&#8221;&gt;                        &lt;div&gt;                            &lt;div&gt;                               Best West End Shows for Kids                            &lt;\/div&gt;                            &lt;div&gt;&lt;\/div&gt;                        &lt;\/div&gt;                        &lt;ul id=&#8221;summaryList&#8221;&gt;                        &lt;\/ul&gt;                    &lt;\/div&gt;                &lt;\/div&gt;`);            let allH2 = document.querySelectorAll(&#8220;h2.add-to-summary&#8221;);            for (i = 0; i &lt; allH2.length; i++) {                jQuery(&#8220;#summaryList&#8221;).append(`&lt;li&gt;&lt;a&gt;${allH2[i].innerHTML}&lt;\/a&gt;&lt;\/li&gt;`);                jQuery(&#8220;#summary-mobile-ul&#8221;).append(`&lt;li&gt;&lt;a&gt;${allH2[i].innerHTML}&lt;\/a&gt;&lt;\/li&gt;`);            }            let allA = document.querySelectorAll(&#8220;#summaryList li a&#8221;);            let header = jQuery(document.getElementsByTagName(&#8220;header&#8221;)[0])            let isMobile = false;            if(jQuery(window).width()&lt;=765){                allA = document.querySelectorAll(&#8220;#summary-mobile-ul li a&#8221;);                isMobile = true;            }            let modal = document.getElementById(&#8220;summary-wrapper-mobile&#8221;);            function findH2WithThisTag(text) {                if(isMobile){                    header.css(&#8220;display&#8221;,&#8221;block&#8221;);                    modal.style.display = &#8220;none&#8221;;                }                for (i = 0; i &lt; allH2.length; i++) {                    if (allH2[i].innerHTML == text) {                        jQuery(&#8220;html, body&#8221;).animate(                            {                                scrollTop: jQuery(allH2[i]).offset().top &#8211; 100,                            },                            1000);                        break;                    }                }            }            for (i = 0; i &lt; allA.length; i++) {                allA[i].addEventListener(&#8220;click&#8221;, function (data) {                    findH2WithThisTag(data.target.innerHTML);                }, false);            }            jQuery(&#8220;.open-summary-mobile&#8221;)[0].addEventListener(&#8220;click&#8221;, function () {                modal.style.display = &#8220;block&#8221;;                header.css(&#8220;display&#8221;,&#8221;none&#8221;);            }, false);            window.onclick = function (event) {                if (event.target == modal) {                    modal.style.display = &#8220;none&#8221;;                    header.css(&#8220;display&#8221;,&#8221;block&#8221;);                }            }           function scrollUl(i){                \/\/ if(i&gt;=1){                \/\/     offset = jQuery(allA[i-1])[0].offsetTop &#8211; jQuery(allA[0])[0].offsetTop;                \/\/ }                let offset = jQuery(allA[i])[0].offsetTop &#8211; jQuery(allA[0])[0].offsetTop;                  if(isMobile){                    \/\/ if(Math.abs(jQuery(&#8216;#summary-mobile-ul&#8217;)[0].scrollTop &#8211; offset) &gt;= 10){                    \/\/     jQuery(&#8216;#summary-mobile-ul&#8217;).animate({scrollTop: offset},1);                    \/\/ }                    let height = jQuery(window).height() &#8211; 45;                         let offsettop = parseInt((jQuery(allA[i])[0].offsetTop &#8211; jQuery(allA[0])[0].offsetTop) \/ height);                    let offsetbottom = parseInt((jQuery(allA[i])[0].offsetHeight &#8211; jQuery(allA[0])[0].offsetTop + jQuery(allA[i])[0].offsetTop)\/ height);                    if(offsettop==0 &amp;&amp; offsetbottom == 0){                        jQuery(&#8216;#summary-mobile-ul&#8217;).animate({scrollTop: 0},1);                    }else{                        jQuery(&#8216;#summary-mobile-ul&#8217;).animate({scrollTop: height*offsettop},1);                    }                }else{                    \/\/ if(Math.abs(jQuery(&#8216;#summaryList&#8217;)[0].scrollTop &#8211; offset) &gt;= 10){                    \/\/     jQuery(&#8216;#summaryList&#8217;).animate({scrollTop: offset},1);                    \/\/ }                    let offsettop = parseInt((jQuery(allA[i])[0].offsetTop &#8211; jQuery(allA[0])[0].offsetTop) \/ 400);                    let offsetbottom = parseInt((jQuery(allA[i])[0].offsetHeight &#8211; jQuery(allA[0])[0].offsetTop + jQuery(allA[i])[0].offsetTop)\/ 400);                    if(offsettop!=offsetbottom){                        jQuery(&#8216;#summaryList&#8217;).animate({scrollTop: offset},1);                    }else{                        jQuery(&#8216;#summaryList&#8217;).animate({scrollTop: 400*offsettop},1);                    }                }            }            document.body.onscroll = function (e) {                let topPosition = jQuery(window).scrollTop();                for (i = 0; i &lt; allA.length; i++) {                    jQuery(allA[i]).removeClass(&#8220;active&#8221;);                }                for (i = 0; i &lt; allH2.length; i++) {                    if (i == allH2.length &#8211; 1 &amp;&amp; allH2[i].offsetTop &lt;= topPosition &amp;&amp; !jQuery(allA[i]).hasClass(&#8220;active&#8221;)) {                        jQuery(allA[i]).addClass(&#8220;active&#8221;);                        scrollUl(i);                        break;                    } else if (i &lt; allH2.length &#8211; 1 &amp;&amp; allH2[i].offsetTop &lt;= topPosition &amp;&amp; allH2[i + 1].offsetTop &gt; topPosition &amp;&amp; !jQuery(allA[i]).hasClass(&#8220;active&#8221;)) {                        jQuery(allA[i]).addClass(&#8220;active&#8221;);                        scrollUl(i);                        break;                    }                }                let TextHeight = jQuery(&#8220;.small-12.medium-11.medium-centered.columns&#8221;)[0].offsetHeight + jQuery(&#8220;.small-12.medium-11.medium-centered.columns&#8221;)[0].offsetTop;                let summaryWrapperTop = jQuery(&#8220;#summary-list-wrapper&#8221;)[0].offsetTop;                let offsetTopPostWidth = jQuery(&#8220;.row.post-width&#8221;)[0].offsetTop;                if (summaryWrapperTop &lt; topPosition &#8211; 35 &#8211; offsetTopPostWidth &amp;&amp; TextHeight &gt; topPosition + jQuery(&#8220;#summary-list-wrapper&#8221;)[0].offsetHeight +30 ) {                    jQuery(&#8220;#summary-list-wrapper&#8221;).css(&#8220;position&#8221;, &#8220;fixed&#8221;);                    jQuery(&#8220;#summary-list-wrapper&#8221;).css(&#8220;top&#8221;, &#8220;25px&#8221;);                } else{                    jQuery(&#8220;#summary-list-wrapper&#8221;).css(&#8220;position&#8221;, &#8220;absolute&#8221;);                    jQuery(&#8220;#summary-list-wrapper&#8221;).css(&#8220;top&#8221;, &#8220;25px&#8221;);                }            }        });[\/tcb-script]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The theatre is a magical place for children. It brings their imagination to life and lets them explore different worlds through exciting visual performances. From the wizarding world of Harry Potter to the endless adventures of Mary Poppins, the vast number of shows for kids in London will entice anyone.It\u2019s never too early to take [&hellip;]<\/p>\n","protected":false},"author":30,"featured_media":85495,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[820,779],"tags":[6745,6994,7004,6990,6284,7120],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Top West End Shows for Kids | Headout<\/title>\n<meta name=\"description\" content=\"Planning to catch West End shows for kids? Look no further than our comprehensive guide for tips, cheap tickets and more!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Top West End Shows for Kids | Headout\" \/>\n<meta property=\"og:description\" content=\"Planning to catch West End shows for kids? Look no further than our comprehensive guide for tips, cheap tickets and more!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/\" \/>\n<meta property=\"og:site_name\" content=\"Headout Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-01-05T06:14:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-23T12:07:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn-imgix.headout.com\/tour\/4700\/TOUR-IMAGE\/cd75fc62-020d-4c24-aa04-0ba0c50229b4-3023-london-the-lion-king-03.jpg\" \/>\n<meta name=\"author\" content=\"Lakshmi Menon\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/cdn-imgix.headout.com\/tour\/4700\/TOUR-IMAGE\/cd75fc62-020d-4c24-aa04-0ba0c50229b4-3023-london-the-lion-king-03.jpg\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lakshmi Menon\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Top West End Shows for Kids | Headout","description":"Planning to catch West End shows for kids? Look no further than our comprehensive guide for tips, cheap tickets and more!","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:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/","og_locale":"en_US","og_type":"article","og_title":"Top West End Shows for Kids | Headout","og_description":"Planning to catch West End shows for kids? Look no further than our comprehensive guide for tips, cheap tickets and more!","og_url":"https:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/","og_site_name":"Headout Blog","article_published_time":"2022-01-05T06:14:07+00:00","article_modified_time":"2023-08-23T12:07:11+00:00","og_image":[{"url":"https:\/\/cdn-imgix.headout.com\/tour\/4700\/TOUR-IMAGE\/cd75fc62-020d-4c24-aa04-0ba0c50229b4-3023-london-the-lion-king-03.jpg"}],"author":"Lakshmi Menon","twitter_card":"summary_large_image","twitter_image":"https:\/\/cdn-imgix.headout.com\/tour\/4700\/TOUR-IMAGE\/cd75fc62-020d-4c24-aa04-0ba0c50229b4-3023-london-the-lion-king-03.jpg","twitter_misc":{"Written by":"Lakshmi Menon","Est. reading time":"18 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/#article","isPartOf":{"@id":"https:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/"},"author":{"name":"Lakshmi Menon","@id":"https:\/\/www.headout.com\/blog\/#\/schema\/person\/fe80bf96115b325c05ea56f8a6e0a2f7"},"headline":"Top West End shows for kids","datePublished":"2022-01-05T06:14:07+00:00","dateModified":"2023-08-23T12:07:11+00:00","mainEntityOfPage":{"@id":"https:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/"},"wordCount":4287,"commentCount":0,"publisher":{"@id":"https:\/\/www.headout.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn-imgix.headout.com\/tour\/4700\/TOUR-IMAGE\/cd75fc62-020d-4c24-aa04-0ba0c50229b4-3023-london-the-lion-king-03.jpg","keywords":["c-167","Entertainment","Family Shows","Listicle","London","United Kingdom"],"articleSection":["London Theatre Guide","London Theatre Tickets"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/","url":"https:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/","name":"Top West End Shows for Kids | Headout","isPartOf":{"@id":"https:\/\/www.headout.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/#primaryimage"},"image":{"@id":"https:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn-imgix.headout.com\/tour\/4700\/TOUR-IMAGE\/cd75fc62-020d-4c24-aa04-0ba0c50229b4-3023-london-the-lion-king-03.jpg","datePublished":"2022-01-05T06:14:07+00:00","dateModified":"2023-08-23T12:07:11+00:00","description":"Planning to catch West End shows for kids? Look no further than our comprehensive guide for tips, cheap tickets and more!","breadcrumb":{"@id":"https:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/#primaryimage","url":"https:\/\/cdn-imgix.headout.com\/tour\/4700\/TOUR-IMAGE\/cd75fc62-020d-4c24-aa04-0ba0c50229b4-3023-london-the-lion-king-03.jpg","contentUrl":"https:\/\/cdn-imgix.headout.com\/tour\/4700\/TOUR-IMAGE\/cd75fc62-020d-4c24-aa04-0ba0c50229b4-3023-london-the-lion-king-03.jpg","width":"1600","height":"1000","caption":"West End Shows For Kids"},{"@type":"BreadcrumbList","@id":"https:\/\/www.headout.com\/blog\/west-end-shows-for-kids\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Things to do in London","item":"https:\/\/www.headout.com\/things-to-do-city-london\/"},{"@type":"ListItem","position":2,"name":"London Theatre Tickets","item":"https:\/\/www.headout.com\/london-theatre-tickets-c-167\/"},{"@type":"ListItem","position":3,"name":"London Theatre Guide","item":"https:\/\/www.headout.com\/blog\/london-theatre-guide\/"},{"@type":"ListItem","position":4,"name":"Best West Shows For Kids"}]},{"@type":"WebSite","@id":"https:\/\/www.headout.com\/blog\/#website","url":"https:\/\/www.headout.com\/blog\/","name":"Headout Blog","description":"Where will you go next?","publisher":{"@id":"https:\/\/www.headout.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.headout.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.headout.com\/blog\/#organization","name":"Headout","url":"https:\/\/www.headout.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.headout.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.headout.com\/blog\/wp-content\/uploads\/2016\/07\/headout-logo.png","contentUrl":"https:\/\/www.headout.com\/blog\/wp-content\/uploads\/2016\/07\/headout-logo.png","width":550,"height":84,"caption":"Headout"},"image":{"@id":"https:\/\/www.headout.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.headout.com\/blog\/#\/schema\/person\/fe80bf96115b325c05ea56f8a6e0a2f7","name":"Lakshmi Menon","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.headout.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/47293d4b1b985cc456d8d147bb654bc4?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/47293d4b1b985cc456d8d147bb654bc4?s=96&r=g","caption":"Lakshmi Menon"},"description":"Born to parents bit by the wander bug, Lakshmi calls her love for travel \"hereditary and habitual\". Perpetually ensconced with a book in her hand and a mug of coffee in the other, she has been to over 15 countries in her 23 years of existence and is currently saving miles and money for her solo trip to Iceland. Always hustling towards the least trodden path, she has encountered some wonderful people during her escapades and if you ever meet her, she won't stop gushing about them.","url":"https:\/\/www.headout.com\/blog\/author\/lakshmi-menon\/"}]}},"_links":{"self":[{"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/posts\/79245"}],"collection":[{"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/users\/30"}],"replies":[{"embeddable":true,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/comments?post=79245"}],"version-history":[{"count":24,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/posts\/79245\/revisions"}],"predecessor-version":[{"id":141380,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/posts\/79245\/revisions\/141380"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/media\/85495"}],"wp:attachment":[{"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/media?parent=79245"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/categories?post=79245"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/tags?post=79245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}