{"id":90069,"date":"2022-05-27T08:33:34","date_gmt":"2022-05-27T08:33:34","guid":{"rendered":"https:\/\/www.headout.com\/blog\/?p=90069"},"modified":"2023-08-10T21:28:30","modified_gmt":"2023-08-10T17:28:30","slug":"best-broadway-shows-in-august","status":"publish","type":"post","link":"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-august\/","title":{"rendered":"Best Broadway shows in August, a New York theatre guide"},"content":{"rendered":"<p>There\u2019s so much more to New York&#8217;s cultural district than neon lights and famous faces. Catch some of the best plays and musicals the world has seen at Broadway and sign up for a once-in-a-lifetime kind of live entertainment experience. Here are the top selling shows running in Broadway this August.<\/p>\n<h2>Best Broadway Shows in August<\/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 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,&#8221;years&#8221;);      const endMonthNextYearDate = endMonthDate.add(1,&#8221;years&#8221;);        return allToursArray.reduce((accumulator,element) =&gt; {        const endTourDate = dayjs(element[&#8220;Closing Date&#8221;],&#8221;YYYY-MM-DD&#8221;);        const startTourDate = dayjs(element[&#8220;Opening Date&#8221;],&#8221;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;,&#8221;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;) === 1;          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;)?.filter(d =&gt; d !== &#8221;);          const firstMonth = monthCSV?.[0];          let allTours = [];            const functionsAfterDataUpdate = () =&gt; {              allTours.forEach((tour,index) =&gt; {                  if(tour.listingPrice){                  const showBody = tour[&#8220;Blog Summary&#8221;] || tour.shortSummary;                  const opening = getMicroBrandsHighlightsData(tour.microBrandsHighlight)[&#8220;Opening Date&#8221;];                  const tourImageUrl = `${tour.imageUrl                      }?auto=compress&amp;w=500&amp;h=250&amp;crop=faces&amp;fit=min`                  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;picture&gt;                                                      &lt;source type=&#8221;image\/webp&#8221; data-srcset=&#8221;${tourImageUrl}&amp;fm=webp&#8221;&gt;                                                      &lt;img data-src=&#8221;${tourImageUrl}&amp;fm=pjpg&#8221; data-sizes=&#8221;auto&#8221; data-cover-image=&#8221;&#8221; alt=${tour.name}&#8221; title=&#8221;${tour.name}&#8221;&gt;                                                  &lt;\/picture&gt;                                                  &lt;div 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;$${tour.listingPrice ? tour.listingPrice.finalPrice : &#8220;&#8221;}&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; (`&lt;div&gt;${item?.trim()}&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;`                          : &#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;);                  console.log(target)                  jQuery(target).slideToggle(&#8220;slow&#8221;);              });                filterEnabled &amp;&amp;                  monthCSV.forEach((month,index) =&gt; {                      const monthName = month.trim();                      const isSingleMonth = monthCSV?.length === 1;                      console.log(isSingleMonth)                      let htmlObject;                      let ids = &#8220;0&#8221;;                      if (monthName != &#8220;ALL SHOWS&#8221;) {                          ids = getTGIDListForMonth(allTours,monthName).join();                      }                        if (index == 0) {                          htmlObject = `&lt;div&#8221;}&#8221; 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;,&#8221;&#8221;);              });                if (monthCSV?.length === 1) {                  jQuery(&#8220;.mobi-text&#8221;).addClass(&#8220;hide-tab&#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 != &#8220;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;,&#8221;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;,&#8221;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;,&#8221;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=New York`,                          },                          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]<\/p>\n<h2>Best Broadway Shows &#8211; Month on Month Guide <\/h2>\n<p>Wondering what are the <a href=\"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-new-york\/\" target=\"_blank\" rel=\"noopener\">best Broadway shows currently running<\/a> in theatres? Our guides have you covered. <\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-broadway-shows-january\/\" target=\"_blank\" rel=\"noopener\">Best Broadway Shows in January<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-february\/\" target=\"_blank\" rel=\"noopener\">Best Broadway Shows in February<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-march\/\" target=\"_blank\" rel=\"noopener\">Best Broadway Shows in March<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-april\/\" target=\"_blank\" rel=\"noopener\">Best Broadway Shows in April<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-may\/\" target=\"_blank\" rel=\"noopener\">Best Broadway Shows in May<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-june\/\" target=\"_blank\" rel=\"noopener\">Best Broadway Shows in June<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-july\/\" target=\"_blank\" rel=\"noopener\">Best Broadway Shows in July<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-august\/\" target=\"_blank\" rel=\"noopener\">Best Broadway Shows in August<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-september\/\" target=\"_blank\" rel=\"noopener\">Best Broadway Shows in September<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-october\/\" target=\"_blank\" rel=\"noopener\">Best Broadway Shows in October<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-november\/\" target=\"_blank\" rel=\"noopener\">Best Broadway Shows in November<\/a><\/p>\n<p><a href=\"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-december\/\" target=\"_blank\" rel=\"noopener\">Best Broadway Shows in December<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>There\u2019s so much more to New York&#8217;s cultural district than neon lights and famous faces. Catch some of the best plays and musicals the world has seen at Broadway and sign up for a once-in-a-lifetime kind of live entertainment experience. Here are the top selling shows running in Broadway this August. Best Broadway Shows in [&hellip;]<\/p>\n","protected":false},"author":95,"featured_media":96513,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[760,501,534,19],"tags":[6800,6994,6990,6291,6453,6282],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Best Broadway Shows in August 2026 New York Theatre Guide | Headout<\/title>\n<meta name=\"description\" content=\"Browse our Broadway Theatre 2026 calendar and book your tickets for Broadway shows, musicals &amp; plays running in January 2026.\" \/>\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\/best-broadway-shows-in-august\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Best Broadway Shows in August 2026 New York Theatre Guide | Headout\" \/>\n<meta property=\"og:description\" content=\"Browse our Broadway Theatre 2026 calendar and book your tickets for Broadway shows, musicals &amp; plays running in January 2026.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-august\/\" \/>\n<meta property=\"og:site_name\" content=\"Headout Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-27T08:33:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-10T17:28:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn-imgix.headout.com\/blog-banner\/image\/94170a3a2480ab35cb786fb5c6ae8576-Theatre-Shows-August.jpg\" \/>\n<meta name=\"author\" content=\"Maitray Oberoi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/cdn-imgix.headout.com\/blog-banner\/image\/94170a3a2480ab35cb786fb5c6ae8576-Theatre-Shows-August.jpg\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Maitray Oberoi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Best Broadway Shows in August 2026 New York Theatre Guide | Headout","description":"Browse our Broadway Theatre 2026 calendar and book your tickets for Broadway shows, musicals & plays running in January 2026.","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\/best-broadway-shows-in-august\/","og_locale":"en_US","og_type":"article","og_title":"Best Broadway Shows in August 2026 New York Theatre Guide | Headout","og_description":"Browse our Broadway Theatre 2026 calendar and book your tickets for Broadway shows, musicals & plays running in January 2026.","og_url":"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-august\/","og_site_name":"Headout Blog","article_published_time":"2022-05-27T08:33:34+00:00","article_modified_time":"2023-08-10T17:28:30+00:00","og_image":[{"url":"https:\/\/cdn-imgix.headout.com\/blog-banner\/image\/94170a3a2480ab35cb786fb5c6ae8576-Theatre-Shows-August.jpg"}],"author":"Maitray Oberoi","twitter_card":"summary_large_image","twitter_image":"https:\/\/cdn-imgix.headout.com\/blog-banner\/image\/94170a3a2480ab35cb786fb5c6ae8576-Theatre-Shows-August.jpg","twitter_misc":{"Written by":"Maitray Oberoi","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-august\/#article","isPartOf":{"@id":"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-august\/"},"author":{"name":"Maitray Oberoi","@id":"https:\/\/www.headout.com\/blog\/#\/schema\/person\/d8cb52afc3ae4a38e4a1b29d0273f385"},"headline":"Best Broadway shows in August, a New York theatre guide","datePublished":"2022-05-27T08:33:34+00:00","dateModified":"2023-08-10T17:28:30+00:00","mainEntityOfPage":{"@id":"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-august\/"},"wordCount":1967,"publisher":{"@id":"https:\/\/www.headout.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-august\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn-imgix.headout.com\/blog-banner\/image\/94170a3a2480ab35cb786fb5c6ae8576-Theatre-Shows-August.jpg","keywords":["c-24","Entertainment","Listicle","New York","Summer Blogs","United States"],"articleSection":["Best of Broadway","Broadway","Broadway Show Tickets","Things to do in New York"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-august\/","url":"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-august\/","name":"Best Broadway Shows in August 2026 New York Theatre Guide | Headout","isPartOf":{"@id":"https:\/\/www.headout.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-august\/#primaryimage"},"image":{"@id":"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-august\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn-imgix.headout.com\/blog-banner\/image\/94170a3a2480ab35cb786fb5c6ae8576-Theatre-Shows-August.jpg","datePublished":"2022-05-27T08:33:34+00:00","dateModified":"2023-08-10T17:28:30+00:00","description":"Browse our Broadway Theatre 2026 calendar and book your tickets for Broadway shows, musicals & plays running in January 2026.","breadcrumb":{"@id":"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-august\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.headout.com\/blog\/best-broadway-shows-in-august\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-august\/#primaryimage","url":"https:\/\/cdn-imgix.headout.com\/blog-banner\/image\/94170a3a2480ab35cb786fb5c6ae8576-Theatre-Shows-August.jpg","contentUrl":"https:\/\/cdn-imgix.headout.com\/blog-banner\/image\/94170a3a2480ab35cb786fb5c6ae8576-Theatre-Shows-August.jpg","width":"2400","height":"1600","caption":"best-broadway-shows-august"},{"@type":"BreadcrumbList","@id":"https:\/\/www.headout.com\/blog\/best-broadway-shows-in-august\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Things to do in New York","item":"https:\/\/www.headout.com\/things-to-do-city-new-york\/"},{"@type":"ListItem","position":2,"name":"Broadway","item":"https:\/\/www.headout.com\/broadway-tickets-c-24\/"},{"@type":"ListItem","position":3,"name":"Broadway Show Tickets","item":"https:\/\/www.headout.com\/blog\/category\/things-to-do-city-new-york\/broadway-tickets-c-24\/wcp-broadway-show-tickets-category\/"},{"@type":"ListItem","position":4,"name":"Shows in August"}]},{"@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\/d8cb52afc3ae4a38e4a1b29d0273f385","name":"Maitray Oberoi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.headout.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/fe9e3565610654aaecefbd37bf913b05?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fe9e3565610654aaecefbd37bf913b05?s=96&r=g","caption":"Maitray Oberoi"},"url":"https:\/\/www.headout.com\/blog\/author\/maitray-oberoiheadout-com\/"}]}},"_links":{"self":[{"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/posts\/90069"}],"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\/95"}],"replies":[{"embeddable":true,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/comments?post=90069"}],"version-history":[{"count":25,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/posts\/90069\/revisions"}],"predecessor-version":[{"id":140166,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/posts\/90069\/revisions\/140166"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/media\/96513"}],"wp:attachment":[{"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/media?parent=90069"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/categories?post=90069"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.headout.com\/blog\/wp-json\/wp\/v2\/tags?post=90069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}