{"product_id":"used-taylormade-p-dhy-single-utility-4-iron-right-handed-stiff-flex-1","title":"Used TaylorMade P-DHY Single Utility 4-Iron - Right-Handed - Stiff Flex","description":"\u003cstyle\u003e\n\/* Force a real 2-column grid on THIS list only, overriding the theme *\/\n#product-desc-list{\n  display:grid !important;\n  grid-template-columns:1fr 1fr;\n  gap:0;\n  list-style:none;\n  margin:0 0 16px 0;\n  padding:0;\n  column-count:initial !important; \/* kill multi-column layout *\/\n}\n#product-desc-list \u003e li{\n  margin:0 !important;\n  padding:6px !important;\n  border-bottom:1px solid #d9d9d9 !important;\n  float:none !important;          \/* kill float layouts *\/\n  width:auto !important;          \/* kill width:50% rules *\/\n}\n#product-desc-list \u003e li._left { border-right:1px solid #d9d9d9 !important; }\n\u003c\/style\u003e\n\n\u003cul id=\"product-desc-list\" style=\"visibility:hidden\"\u003e\n    \u003cli\u003e\n\u003cb\u003eClub Condition:\u003c\/b\u003e Excellent\u003c\/li\u003e\n    \u003cli\u003e\n\u003cb\u003eClub Number:\u003c\/b\u003e 4-Iron\u003c\/li\u003e\n    \u003cli\u003e\n\u003cb\u003eLoft:\u003c\/b\u003e 22°\u003c\/li\u003e\n    \u003cli\u003e\n\u003cb\u003eLie Angle Color:\u003c\/b\u003e Not Specified\u003c\/li\u003e\n    \u003cli\u003e\n\u003cb\u003eHandedness:\u003c\/b\u003e Right-Handed\u003c\/li\u003e\n\n\n\n\u003cli\u003e\n\u003cb\u003eLength:\u003c\/b\u003e\n  \u003ca href=\"#\" onclick=\"document.getElementById('lengthChartModal').showModal();return false;\"\u003e\n    38.5 in\n  \u003c\/a\u003e\n\u003c\/li\u003e\n\n\u003cdialog id=\"lengthChartModal\" class=\"length-modal\" onclick=\"if(event.target===this) this.close();\"\u003e\n  \u003cdiv class=\"length-card\"\u003e\n    \u003cbutton type=\"button\" class=\"length-close\" aria-label=\"Close\" onclick=\"this.closest('dialog').close()\"\u003e✕\u003c\/button\u003e\n    \u003cimg id=\"chart-img\" src=\"\/\/nextroundgolf.com\/cdn\/shop\/files\/Iron_Standard_Lengths.png?v=1740173616\u0026amp;width=1640\" alt=\"Iron Standard Lengths\"\u003e\n  \u003c\/div\u003e\n\u003c\/dialog\u003e\n\n\u003cstyle\u003e\n  \/* Force true centering and sit above theme layers *\/\n  #lengthChartModal.length-modal{\n    position: fixed !important;\n    inset: 50% auto auto 50% !important;\n    transform: translate(-50%, -50%) !important;\n    margin: 0 !important; padding: 0 !important; border: none !important;\n    background: transparent !important;\n    z-index: 999999 !important;\n  }\n  #lengthChartModal::backdrop{ background: rgba(0,0,0,.65); }\n\n  \/* The visible card (bigger + scroll-safe) *\/\n  #lengthChartModal .length-card{\n    position: relative;\n    width: min(90vw, 600px);     \/* \u003c- adjust this for desktop width *\/\n    max-height: 80vh;\n    background: #fff; border-radius: 12px;\n    box-shadow: 0 10px 30px rgba(0,0,0,.35);\n    overflow: hidden;\n  }\n\n  \/* Make image fill card; ignore any width\/height attrs *\/\n  #lengthChartModal img{\n    display: block;\n    width: 100% !important;\n    height: auto !important;\n    max-height: 80vh !important;\n    object-fit: contain;\n  }\n\n  \/* Close button INSIDE the card so it can’t be clipped *\/\n  #lengthChartModal .length-close{\n    position: absolute;\n    top: 8px; right: 8px;\n    width: 36px; height: 36px; border-radius: 999px;\n    border: 2px solid rgba(0,0,0,.2);\n    background: #fff; font-size: 20px; line-height: 1; cursor: pointer;\n    box-shadow: 0 2px 8px rgba(0,0,0,.15);\n  }\n\u003c\/style\u003e\n\n\n\n\n    \u003cli\u003e\n\u003cb\u003eShaft Flex:\u003c\/b\u003e Stiff\u003c\/li\u003e\n    \u003cli\u003e\n\u003cb\u003eShaft Brand:\u003c\/b\u003e True Temper\u003c\/li\u003e\n    \u003cli\u003e\n\u003cb\u003eShaft Model:\u003c\/b\u003e Dynamic Gold Tour Issue\u003c\/li\u003e\n    \u003cli\u003e\n\u003cb\u003eShaft Material:\u003c\/b\u003e Steel\u003c\/li\u003e\n    \u003cli\u003e\n\u003cb\u003eShaft Weight:\u003c\/b\u003e 132g\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cscript\u003e\n(function () {\n  \/\/ --- NEW LOGIC START ---\n  \/\/ 1. Capture the department variable\n  const department = \"Not Specified\"; \n  \n  \/\/ 2. Identify the image element\n  const chartImg = document.getElementById('chart-img');\n  \n  \/\/ 3. Define the Women's Chart URL (from your eighth link)\n  const womenChartUrl = \"https:\/\/cdn.shopify.com\/s\/files\/1\/0601\/0165\/6746\/files\/Women_s_Iron_Standard_Lengths.png?v=1771424027\u0026width=1640\";\n\n  \/\/ 4. If the department is exactly \"Women\", swap the source\n  if (chartImg \u0026\u0026 department.trim() === 'Women') {\n    chartImg.src = womenChartUrl;\n    chartImg.alt = \"Women's Iron Standard Lengths\";\n  }\n  \/\/ --- NEW LOGIC END ---\n\n  const ul = document.getElementById('product-desc-list');\n  if (!ul) return;\n\n  function pruneAndLayout(){\n    \/\/ Remove empty\/unspecified rows instead of hiding them\n    const items = Array.from(ul.querySelectorAll('li'));\n    let kept = [];\n    items.forEach(li =\u003e {\n      const label = li.querySelector('b');\n      const labelText = label ? label.textContent : '';\n      const valueOnly = label\n        ? li.textContent.replace(labelText, '').trim()\n        : li.textContent.trim();\n\n      const emptyish =\n        valueOnly === '' ||\n        valueOnly === '°' ||\n        \/^(Not Specified|Not Specified°|Unspecified|Not Applicable|N\\\/A|NA)$\/i.test(valueOnly);\n\n      if (emptyish) li.remove();\n      else kept.push(li);\n    });\n\n    \/\/ Re-mark visible items as left\/right cells so borders line up\n    kept = Array.from(ul.querySelectorAll('li')); \/\/ in case we removed some\n    kept.forEach((li, i) =\u003e {\n      li.classList.toggle('_left',  i % 2 === 0);\n      li.classList.toggle('_right', i % 2 === 1);\n    });\n\n    \/\/ If odd count, add a blank cell so the last row closes cleanly\n    if (kept.length % 2 === 1) {\n      const filler = document.createElement('li');\n      filler.innerHTML = '';\n      ul.appendChild(filler);\n      filler.classList.add('_right');\n    }\n\n    \/\/ Show after we’re done so there’s no flash\n    ul.style.visibility = 'visible';\n  }\n\n  \/\/ Run immediately (before most theme scripts finish)\n  pruneAndLayout();\n\n  \/\/ Guard: if the theme reflows\/rewrites after our run, fix it again\n  const mo = new MutationObserver(() =\u003e pruneAndLayout());\n  mo.observe(ul, { childList: true, subtree: false, attributes: false });\n})();\n\u003c\/script\u003e\n\n\n\n\u003cstyle\u003e\n  \/*\n   * The theme duplicates the description for desktop tabs and\n   * mobile accordions. Hide empty copies and show every copy that\n   * actually contains a video iframe.\n   *\/\n  .nr-product-video {\n    display: none;\n    margin: 4px 0 32px;\n  }\n\n  .nr-product-video:has(iframe),\n  .nr-product-video.is-ready {\n    display: block !important;\n  }\n\n  .nr-product-video__title {\n    margin: 0 0 14px;\n    text-align: left;\n    color: inherit;\n    font-size: inherit;\n    font-weight: inherit;\n    line-height: inherit;\n  }\n\n  .nr-product-video__frame {\n    position: relative;\n    width: 100%;\n    max-width: 720px;\n    margin: 0;\n    overflow: hidden;\n    aspect-ratio: 16 \/ 9;\n    border-radius: 12px;\n    background: #000000;\n  }\n\n  .nr-product-video__frame iframe {\n    position: absolute !important;\n    inset: 0 !important;\n    display: block !important;\n    width: 100% !important;\n    height: 100% !important;\n    max-width: none !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    border: 0 !important;\n  }\n\n  @media screen and (max-width: 749px) {\n    .nr-product-video {\n      margin: 4px 0 24px;\n    }\n\n    .nr-product-video__title {\n      margin-bottom: 12px;\n      font-size: inherit;\n    }\n\n    .nr-product-video__frame {\n      max-width: 100%;\n      border-radius: 10px;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"nr-desc\"\u003e\n  \u003cdiv class=\"section hide-if-empty\" data-val=\"The TaylorMade P-DHY Utility Iron blends the look of a traditional iron with the forgiveness and distance of a hybrid. Its hollow body construction and thin, forged face deliver fast ball speeds and high launch, while the wider sole improves playability from all lies. Designed for mid-handicap golfers who want an easy-to-hit long iron replacement, it excels on tee shots, tight fairways, or long approaches. Perfect for players seeking confidence and consistency in their long game.\"\u003e\n    The TaylorMade P-DHY Utility Iron blends the look of a traditional iron with the forgiveness and distance of a hybrid. Its hollow body construction and thin, forged face deliver fast ball speeds and high launch, while the wider sole improves playability from all lies. Designed for mid-handicap golfers who want an easy-to-hit long iron replacement, it excels on tee shots, tight fairways, or long approaches. Perfect for players seeking confidence and consistency in their long game.\u003cbr\u003e\u003cbr\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"section hide-if-empty\" data-val=\"This utility iron shows light face and groove wear along with slight sole wear, indicating it has been used but is still in excellent condition overall. It remains fully functional and ready for play.\"\u003e\n    This utility iron shows light face and groove wear along with slight sole wear, indicating it has been used but is still in excellent condition overall. It remains fully functional and ready for play.\u003cbr\u003e\u003cbr\u003e\n  \u003c\/div\u003e\n\n\u003cdiv class=\"nr-product-video\"\u003e\n    \u003cdiv class=\"nr-product-video__title\"\u003e\n      \u003cb\u003e\u003cu\u003eClub Model Overview\u003c\/u\u003e\u003c\/b\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"nr-product-video__frame\"\u003e\n      \n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cstyle\u003e\n  .pured-shaft-section { display: none; }\n  .pured-shaft-section[data-pured^=\"Yes\" i] { display: block; }\n\u003c\/style\u003e\n\u003cdiv class=\"pured-shaft-section section\" data-pured=\"No\"\u003e\n  \u003cb\u003e\u003cu\u003ePured Shaft Upgrade\u003c\/u\u003e\u003c\/b\u003e\u003cbr\u003e\n  This shaft has been pured through computerized analysis to identify its most stable, consistent bending plane, optimizing performance, increasing distance, tightening dispersion, and reducing natural structural irregularities.\u003cbr\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\n  \u003cdiv class=\"section hide-if-empty\" data-val=\"Our Experts at Next Round Recommend the TaylorMade P-DHY Utility Iron for golfers who want the look of an iron with the massive forgiveness of a hybrid. Released in 2024, the P-DHY (Driving Hybrid) is designed with a wider sole and a lower Center of Gravity (CG) than the P-UDI, making it significantly easier to launch the ball high into the air from both the tee and the fairway.\"\u003e\n    \u003cb\u003e\u003cu\u003eOur Recommendation\u003c\/u\u003e\u003c\/b\u003e\u003cbr\u003e\n    Our Experts at Next Round Recommend the TaylorMade P-DHY Utility Iron for golfers who want the look of an iron with the massive forgiveness of a hybrid. Released in 2024, the P-DHY (Driving Hybrid) is designed with a wider sole and a lower Center of Gravity (CG) than the P-UDI, making it significantly easier to launch the ball high into the air from both the tee and the fairway.\u003cbr\u003e\u003cbr\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"section hide-if-empty\" data-val=\"TaylorMade is a powerhouse brand known for breakthrough driver technologies like Twist Face and Speed Pocket. From the Stealth series to P-Series irons, TaylorMade gear blends speed, forgiveness, and innovation for all skill levels.\"\u003e\n    \u003cb\u003e\u003cu\u003eAbout TaylorMade\u003c\/u\u003e\u003c\/b\u003e\u003cbr\u003e\n    TaylorMade is a powerhouse brand known for breakthrough driver technologies like Twist Face and Speed Pocket. From the Stealth series to P-Series irons, TaylorMade gear blends speed, forgiveness, and innovation for all skill levels.\u003cbr\u003e\u003cbr\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"section\"\u003e\n    \u003cb\u003e\u003cu\u003ePlaying It Forward\u003c\/u\u003e\u003c\/b\u003e\u003cbr\u003e\n    By choosing this premium used utility iron, you're not only investing in your own game but also contributing to Next Round Golf's mission of making golf more affordable and accessible for enthusiasts at every skill level. You’re joining a passionate community dedicated to sustainability, continuous improvement, and the shared joy of discovering new potential on the course.\u003cbr\u003e\u003cbr\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"section\"\u003e\n    \u003cb\u003e\u003cu\u003eNext Round Guarantee\u003c\/u\u003e\u003c\/b\u003e\u003cbr\u003e\n    With over 18,000 five star reviews and a 30 day money back guarantee, you can trust Next Round Golf for high-quality used TaylorMade golf clubs.\u003cbr\u003e\u003cbr\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"section\"\u003eStock # S2026-08-11-420590\u003c\/div\u003e\n  \u003cdiv class=\"section\"\u003eMaster SKU # 1017432\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  (function () {\n    function normalizeYouTubeUrl(source) {\n      if (!source) {\n        return source;\n      }\n\n      try {\n        var url = new URL(source, window.location.href);\n        var hostname = url.hostname\n          .toLowerCase()\n          .replace(\/^www\\.\/, \"\");\n        var videoId = \"\";\n\n        if (hostname === \"youtu.be\") {\n          videoId =\n            url.pathname.split(\"\/\").filter(Boolean)[0] || \"\";\n        } else if (\n          hostname === \"youtube.com\" ||\n          hostname === \"m.youtube.com\" ||\n          hostname === \"music.youtube.com\" ||\n          hostname === \"youtube-nocookie.com\"\n        ) {\n          if (url.pathname.indexOf(\"\/embed\/\") === 0) {\n            videoId =\n              url.pathname.replace(\"\/embed\/\", \"\").split(\"\/\")[0];\n          } else if (url.pathname === \"\/watch\") {\n            videoId = url.searchParams.get(\"v\") || \"\";\n          } else if (url.pathname.indexOf(\"\/shorts\/\") === 0) {\n            videoId =\n              url.pathname.replace(\"\/shorts\/\", \"\").split(\"\/\")[0];\n          } else if (url.pathname.indexOf(\"\/live\/\") === 0) {\n            videoId =\n              url.pathname.replace(\"\/live\/\", \"\").split(\"\/\")[0];\n          }\n        }\n\n        if (\n          !videoId ||\n          !\/^[A-Za-z0-9_-]{6,}$\/.test(videoId)\n        ) {\n          return source;\n        }\n\n        var parameters = new URLSearchParams(url.search);\n        parameters.delete(\"v\");\n        parameters.set(\"playsinline\", \"1\");\n\n        var queryString = parameters.toString();\n\n        return (\n          \"https:\/\/www.youtube.com\/embed\/\" +\n          encodeURIComponent(videoId) +\n          (queryString ? \"?\" + queryString : \"\")\n        );\n      } catch (error) {\n        return source;\n      }\n    }\n\n    function prepareVideoBlock(videoBlock) {\n      if (\n        !videoBlock ||\n        videoBlock.getAttribute(\"data-nr-video-ready\") === \"true\"\n      ) {\n        return;\n      }\n\n      var videoFrame = videoBlock.querySelector(\n        \".nr-product-video__frame\"\n      );\n\n      if (!videoFrame) {\n        return;\n      }\n\n      var iframe = videoFrame.querySelector(\"iframe\");\n\n      \/*\n       * Empty copies remain hidden through CSS. Do not remove them,\n       * because the theme can create and populate copies later.\n       *\/\n      if (!iframe) {\n        return;\n      }\n\n      var originalSource = iframe.getAttribute(\"src\") || \"\";\n      var normalizedSource = normalizeYouTubeUrl(originalSource);\n\n      if (\n        normalizedSource \u0026\u0026\n        normalizedSource !== originalSource\n      ) {\n        iframe.setAttribute(\"src\", normalizedSource);\n      }\n\n      iframe.removeAttribute(\"width\");\n      iframe.removeAttribute(\"height\");\n      iframe.removeAttribute(\"frameborder\");\n\n      iframe.setAttribute(\"loading\", \"lazy\");\n      iframe.setAttribute(\"allowfullscreen\", \"\");\n      iframe.setAttribute(\n        \"allow\",\n        \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n      );\n      iframe.setAttribute(\n        \"referrerpolicy\",\n        \"strict-origin-when-cross-origin\"\n      );\n\n      if (\n        !iframe.getAttribute(\"title\") ||\n        iframe.getAttribute(\"title\") === \"YouTube video player\"\n      ) {\n        iframe.setAttribute(\n          \"title\",\n          \"Golf club model overview video\"\n        );\n      }\n\n      videoBlock.setAttribute(\n        \"data-nr-video-ready\",\n        \"true\"\n      );\n      videoBlock.classList.add(\"is-ready\");\n    }\n\n    function initializeProductVideos(root) {\n      if (!root) {\n        return;\n      }\n\n      if (\n        root.nodeType === 1 \u0026\u0026\n        root.matches \u0026\u0026\n        root.matches(\".nr-product-video\")\n      ) {\n        prepareVideoBlock(root);\n      }\n\n      if (!root.querySelectorAll) {\n        return;\n      }\n\n      var videoBlocks = root.querySelectorAll(\n        \".nr-product-video\"\n      );\n\n      Array.prototype.forEach.call(\n        videoBlocks,\n        function (videoBlock) {\n          prepareVideoBlock(videoBlock);\n        }\n      );\n    }\n\n    if (window.nrInitializeProductVideos) {\n      window.nrInitializeProductVideos(document);\n      return;\n    }\n\n    window.nrInitializeProductVideos =\n      initializeProductVideos;\n\n    initializeProductVideos(document);\n\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\n        \"DOMContentLoaded\",\n        function () {\n          initializeProductVideos(document);\n        },\n        { once: true }\n      );\n    }\n\n    \/*\n     * Process description copies created by the theme after the\n     * original Sellbrite description has rendered.\n     *\/\n    var videoObserver = new MutationObserver(\n      function (mutations) {\n        mutations.forEach(function (mutation) {\n          Array.prototype.forEach.call(\n            mutation.addedNodes,\n            function (addedNode) {\n              initializeProductVideos(addedNode);\n            }\n          );\n        });\n      }\n    );\n\n    if (document.documentElement) {\n      videoObserver.observe(document.documentElement, {\n        childList: true,\n        subtree: true\n      });\n    }\n\n    window.setTimeout(function () {\n      initializeProductVideos(document);\n      videoObserver.disconnect();\n    }, 10000);\n  })();\n\u003c\/script\u003e","brand":"TaylorMade","offers":[{"title":"Default Title","offer_id":53625808257300,"sku":"S2026-08-11-420590","price":212.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0601\/0165\/6746\/files\/eb81072b-b76a-51ff-ac47-6353bf4ce8ae.jpg?v=1786484491","url":"https:\/\/nextroundgolf.com\/products\/used-taylormade-p-dhy-single-utility-4-iron-right-handed-stiff-flex-1","provider":"Next Round","version":"1.0","type":"link"}