{"id":810,"date":"2026-03-21T12:28:29","date_gmt":"2026-03-21T12:28:29","guid":{"rendered":"https:\/\/topsoiltippers.co.za\/?post_type=product&#038;p=810"},"modified":"2026-04-25T19:47:59","modified_gmt":"2026-04-25T19:47:59","slug":"kraal-manure","status":"publish","type":"product","link":"https:\/\/topsoiltippers.co.za\/af\/shop\/kraal-manure\/","title":{"rendered":"Gehalte Gekomposteerde Kraalmis"},"content":{"rendered":"<h1 data-path-to-node=\"3\"><b data-path-to-node=\"3\" data-index-in-node=\"0\">Revitalise your garden and boost plant health with our high-quality, fully composted Kraal Manure.<\/b><\/h1>\n<p data-path-to-node=\"4\">At Topsoil Tippers, we understand that the secret to a flourishing garden lies in the health of its soil. Our Kraal Manure is a premium organic soil conditioner derived from well-composted livestock matter. It is meticulously processed to ensure it is weed-free and nutrient-dense, making it the perfect choice for homeowners, landscapers, and farmers across Pretoria East and surrounding areas.<\/p>\n<h2 data-path-to-node=\"5\"><strong>Why Choose Our Kraal Manure?<\/strong><\/h2>\n<ul data-path-to-node=\"6\">\n<li>\n<p data-path-to-node=\"6,0,0\"><b data-path-to-node=\"6,0,0\" data-index-in-node=\"0\">Rich in Essential Nutrients:<\/b><span class=\"citation-59 citation-end-59\"> Naturally packed with Nitrogen (N), Phosphorus (P), and Potassium (K), our manure provides a slow-release feed that sustains plants throughout their growing cycle.<\/span><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,1,0\"><b data-path-to-node=\"6,1,0\" data-index-in-node=\"0\">Improved Soil Structure:<\/b> Whether you are dealing with heavy clay or loose sand, Kraal Manure helps bind soil particles together, improving aeration and drainage while preventing nutrient leaching.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,2,0\"><b data-path-to-node=\"6,2,0\" data-index-in-node=\"0\"><span class=\"citation-58\">Enhanced Water Retention:<\/span><\/b><span class=\"citation-58 citation-end-58\"> By increasing the organic matter in your soil, our manure helps your garden retain moisture for longer, reducing the need for frequent watering.<\/span><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,3,0\"><b data-path-to-node=\"6,3,0\" data-index-in-node=\"0\">Boosts Microbial Activity:<\/b><span class=\"citation-57 citation-end-57\"> It introduces beneficial bacteria and fungi into the earth, creating a living &#8220;soil food web&#8221; that converts minerals into easily absorbable plant food.<\/span><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,4,0\"><b data-path-to-node=\"6,4,0\" data-index-in-node=\"0\">Safe &amp; Composted:<\/b> Unlike &#8220;raw&#8221; manure which can burn tender roots, our product is fully aged and screened, ensuring it is gentle on your plants and free from harmful pathogens and weed seeds.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"7\"><strong>Ideal For:<\/strong><\/h2>\n<ul data-path-to-node=\"8\">\n<li>\n<p data-path-to-node=\"8,0,0\"><b data-path-to-node=\"8,0,0\" data-index-in-node=\"0\">Vegetable Patches:<\/b> Essential for nutrient-hungry crops like tomatoes, spinach, and peppers.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"8,1,0\"><b data-path-to-node=\"8,1,0\" data-index-in-node=\"0\">Flower Beds &amp; Roses:<\/b> Promotes vibrant blooms and strong root systems.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"8,2,0\"><b data-path-to-node=\"8,2,0\" data-index-in-node=\"0\">New Garden Preparation:<\/b> Mix into the soil before planting to give your new landscape the best possible start.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"8,3,0\"><b data-path-to-node=\"8,3,0\" data-index-in-node=\"0\">Lawn Restoration:<\/b> Can be used as a light top-dressing to rejuvenate tired grass.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"9\"><strong>Delivery &amp; Bulk Orders<\/strong><\/h2>\n<p data-path-to-node=\"10\">We specialize in bulk delivery directly to your site. Whether you need a single cubic meter for a home project or a large-scale tipper load for a commercial landscape, we guarantee prompt service and competitive pricing.<\/p>","protected":false},"excerpt":{"rendered":"<p style=\"margin-bottom: 15px;\">\n    <strong style=\"color: #25D366; font-size: 22px;\">\ud83d\udc47 Scroll down to calculate required quantities or ADD TO BASKET<\/strong>\n<\/p>\n<p>A nutrient-dense, fully composted organic fertilizer perfect for revitalizing tired soil. <span class=\"citation-74\">Our <\/span><b data-path-to-node=\"3\" data-index-in-node=\"94\"><span class=\"citation-74\">Premium Kraal Manure<\/span><\/b><span class=\"citation-74 citation-end-74\"> is meticulously screened and easy to spread, providing a slow-release boost of Nitrogen, Phosphorus, and Potassium.<\/span> <span class=\"citation-73 citation-end-73\">Ideal for vegetable patches, rose beds, and general soil conditioning, it improves water retention and promotes vigorous plant growth naturally.<\/span><\/p>\n<div class=\"source-inline-chip-container ng-star-inserted\"><\/div>\n<style>\r\n    .ts-vol-calc-wrapper * { box-sizing: border-box; }\r\n    .ts-vol-calc-wrapper input[type=\"number\"] { margin-bottom: 0 !important; box-shadow: none !important; border: 1px solid #ccc !important; background: #fff !important; height: 45px !important; }\r\n    .vis-stage-vol { height: 240px; display: flex; align-items: center; justify-content: center; background: #fafafa; border: 1px inset #eaeaea; border-radius: 8px; margin-bottom: 20px; overflow: hidden; perspective: 800px; }\r\n    .shape-m3 { position: relative; width: 0px; height: 0px; transform-style: preserve-3d; transform: rotateX(-20deg) rotateY(-40deg); transition: all 0.4s ease; opacity: 0; }\r\n    .cube-face { position: absolute; border: 2px solid #8b6b3d; top: 0; left: 0; transition: all 0.4s ease; transform-style: preserve-3d; }\r\n    .cube-top { background: rgba(225, 200, 150, 0.85); }\r\n    .cube-front { background: rgba(200, 170, 120, 0.95); }\r\n    .cube-right { background: rgba(180, 150, 100, 0.9); }\r\n    .dim-badge-vol { position: absolute; background: rgba(255, 255, 255, 0.95); padding: 5px 8px; border-radius: 4px; font-size: 14px; font-weight: 800; box-shadow: 0 2px 5px rgba(0,0,0,0.15); border: 1px solid rgba(0,0,0,0.1); white-space: nowrap; pointer-events: none; color: #8b6b3d;}\r\n<\/style>\r\n\r\n<div class=\"ts-vol-calc-wrapper\" style=\"background: #ffffff; padding: 25px; border-radius: 12px; border: 1px solid #e0e0e0; box-shadow: 0 4px 15px rgba(0,0,0,0.05); color: #333; margin-bottom: 20px;\">\r\n    <h3 style=\"color: #2d5a27; margin-top: 0; font-size: 18px; margin-bottom: 15px; font-weight: bold;\">Calculate How Much You Need<\/h3>\r\n\r\n    <div class=\"vis-stage-vol\">\r\n        <div class=\"shape-m3\">\r\n            <div class=\"cube-top cube-face\"><\/div>\r\n            <div class=\"cube-front cube-face\">\r\n                <div class=\"badge-3d-w dim-badge-vol\" style=\"bottom: -32px; left: 50%; transform: translateX(-50%);\"><\/div>\r\n                <div class=\"badge-3d-d dim-badge-vol\" style=\"left: -65px; top: 50%; transform: translateY(-50%);\"><\/div>\r\n            <\/div>\r\n            <div class=\"cube-right cube-face\">\r\n                <div class=\"badge-3d-l dim-badge-vol\" style=\"bottom: -32px; left: 50%; transform: translateX(-50%);\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <span class=\"placeholder-vol\" style=\"color: #aaa; font-size: 14px; font-style: italic;\">Enter dimensions to visualise...<\/span>\r\n    <\/div>\r\n\r\n    <div style=\"display: flex; gap: 15px; margin-bottom: 15px;\">\r\n        <div style=\"flex: 1;\">\r\n            <label style=\"font-size: 14px; font-weight: 600; color: #444; display: block; margin-bottom: 6px;\">Length (metre)<\/label>\r\n            <input type=\"number\" class=\"vol-length\" placeholder=\"0\" style=\"width: 100%; padding: 12px; border-radius: 6px;\">\r\n        <\/div>\r\n        <div style=\"flex: 1;\">\r\n            <label style=\"font-size: 14px; font-weight: 600; color: #444; display: block; margin-bottom: 6px;\">Width (metre)<\/label>\r\n            <input type=\"number\" class=\"vol-width\" placeholder=\"0\" style=\"width: 100%; padding: 12px; border-radius: 6px;\">\r\n        <\/div>\r\n    <\/div>\r\n    <div style=\"margin-bottom: 20px;\">\r\n        <label style=\"font-size: 14px; font-weight: 600; color: #444; display: block; margin-bottom: 6px;\">Desired Depth (millimetre)<\/label>\r\n        <input type=\"number\" class=\"vol-depth\" placeholder=\"e.g. 50\" style=\"width: 100%; padding: 12px; border-radius: 6px;\">\r\n        <p style=\"font-size: 12px; color: #666; margin: 6px 0 0 0; font-style: italic;\">Recommended: 30mm for dressing, 50mm-100mm for beds.<\/p>\r\n    <\/div>\r\n\r\n    <div style=\"background: #f4f8f4; border: 2px solid #2d5a27; padding: 20px; border-radius: 8px; text-align: center;\">\r\n        <span style=\"font-size: 14px; color: #2d5a27; font-weight: 600;\">Order Quantity Updated To:<\/span><br>\r\n        <strong style=\"font-size: 36px; color: #2d5a27; display: block; margin: 5px 0;\"><span class=\"vol-result\">0<\/span> m\u00b3<\/strong>\r\n        \r\n        <p style=\"font-size: 12px; margin: 5px 0 0 0; color: #555;\">(<strong style=\"color: #cc0000;\">Minimum order: 1m\u00b3<\/strong>) &bull; <em>Calculations are rounded up to the next full cubic metre.<\/em><\/p>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\nsetInterval(function() {\r\n    const wrappers = document.querySelectorAll('.ts-vol-calc-wrapper');\r\n    wrappers.forEach(function(wrapper) {\r\n        const inputL = wrapper.querySelector('.vol-length');\r\n        const inputW = wrapper.querySelector('.vol-width');\r\n        const inputD = wrapper.querySelector('.vol-depth');\r\n        if (!inputL || !inputW || !inputD) return;\r\n\r\n        const currL = inputL.value;\r\n        const currW = inputW.value;\r\n        const currD = inputD.value;\r\n\r\n        if (wrapper.dataset.lastL !== currL || wrapper.dataset.lastW !== currW || wrapper.dataset.lastD !== currD) {\r\n            wrapper.dataset.lastL = currL;\r\n            wrapper.dataset.lastW = currW;\r\n            wrapper.dataset.lastD = currD;\r\n\r\n            const l = parseFloat(currL) || 0;\r\n            const w = parseFloat(currW) || 0;\r\n            const d = parseFloat(currD) || 0;\r\n            let total = 0;\r\n\r\n            const shape = wrapper.querySelector('.shape-m3');\r\n            const placeholder = wrapper.querySelector('.placeholder-vol');\r\n            const cTop = wrapper.querySelector('.cube-top');\r\n            const cFront = wrapper.querySelector('.cube-front');\r\n            const cRight = wrapper.querySelector('.cube-right');\r\n            const badgeW = wrapper.querySelector('.badge-3d-w');\r\n            const badgeL = wrapper.querySelector('.badge-3d-l');\r\n            const badgeD = wrapper.querySelector('.badge-3d-d');\r\n\r\n            if (l > 0 && w > 0 && d > 0) {\r\n                if(placeholder) placeholder.style.display = 'none';\r\n                if(shape) shape.style.opacity = '1';\r\n                \r\n                \/\/ Calculates the volume and forces it to round up to the next absolute whole number\r\n                let calculatedVol = Math.ceil(l * w * (d \/ 1000));\r\n                \r\n                \/\/ Forces minimum order constraint\r\n                total = Math.max(1, calculatedVol); \r\n                \r\n                const maxDim = Math.max(l, w);\r\n                const visW = Math.max((w \/ maxDim) * 90, 30); \r\n                const visL = Math.max((l \/ maxDim) * 90, 30); \r\n                const visD = Math.max((d \/ 1000) * 30, 20); \r\n\r\n                if(cTop) {\r\n                    cTop.style.width = visW + 'px';\r\n                    cTop.style.height = visL + 'px';\r\n                    cTop.style.transform = `translate(-50%, -50%) rotateX(90deg) translateZ(${visD \/ 2}px)`;\r\n                }\r\n                if(cFront) {\r\n                    cFront.style.width = visW + 'px';\r\n                    cFront.style.height = visD + 'px';\r\n                    cFront.style.transform = `translate(-50%, -50%) translateZ(${visL \/ 2}px)`;\r\n                }\r\n                if(cRight) {\r\n                    cRight.style.width = visL + 'px';\r\n                    cRight.style.height = visD + 'px';\r\n                    cRight.style.transform = `translate(-50%, -50%) rotateY(90deg) translateZ(${visW \/ 2}px)`;\r\n                }\r\n\r\n                if(badgeW) badgeW.innerText = w + \"m\";\r\n                if(badgeL) badgeL.innerText = l + \"m\";\r\n                if(badgeD) {\r\n                    if(d > 0) { badgeD.style.display = 'block'; badgeD.innerText = d + \"mm\"; }\r\n                    else { badgeD.style.display = 'none'; }\r\n                }\r\n\r\n                document.querySelectorAll('form.cart input.qty').forEach(function(qty) {\r\n                    if(qty.value != total) {\r\n                        qty.value = total;\r\n                        qty.dispatchEvent(new Event('input', {bubbles: true}));\r\n                        qty.dispatchEvent(new Event('change', {bubbles: true}));\r\n                    }\r\n                });\r\n            } else {\r\n                if(placeholder) placeholder.style.display = 'block';\r\n                if(shape) shape.style.opacity = '0';\r\n            }\r\n            \r\n            wrapper.querySelector('.vol-result').innerText = total;\r\n\r\n            document.querySelectorAll('.vol-length').forEach(function(inp) { if(inp.value !== currL) inp.value = currL; });\r\n            document.querySelectorAll('.vol-width').forEach(function(inp) { if(inp.value !== currW) inp.value = currW; });\r\n            document.querySelectorAll('.vol-depth').forEach(function(inp) { if(inp.value !== currD) inp.value = currD; });\r\n            document.querySelectorAll('.vol-result').forEach(function(res) { res.innerText = total; });\r\n        }\r\n    });\r\n}, 250);\r\n<\/script>\n","protected":false},"featured_media":812,"comment_status":"open","ping_status":"closed","template":"","meta":{"_joinchat":[]},"product_brand":[],"product_cat":[19],"product_tag":[],"class_list":{"0":"post-810","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-garden-soils","8":"first","9":"instock","10":"shipping-taxable","11":"purchasable","12":"product-type-simple"},"_links":{"self":[{"href":"https:\/\/topsoiltippers.co.za\/af\/wp-json\/wp\/v2\/product\/810","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/topsoiltippers.co.za\/af\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/topsoiltippers.co.za\/af\/wp-json\/wp\/v2\/types\/product"}],"replies":[{"embeddable":true,"href":"https:\/\/topsoiltippers.co.za\/af\/wp-json\/wp\/v2\/comments?post=810"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/topsoiltippers.co.za\/af\/wp-json\/wp\/v2\/media\/812"}],"wp:attachment":[{"href":"https:\/\/topsoiltippers.co.za\/af\/wp-json\/wp\/v2\/media?parent=810"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/topsoiltippers.co.za\/af\/wp-json\/wp\/v2\/product_brand?post=810"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/topsoiltippers.co.za\/af\/wp-json\/wp\/v2\/product_cat?post=810"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/topsoiltippers.co.za\/af\/wp-json\/wp\/v2\/product_tag?post=810"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}