Recommended
${productData.name}
Explore curated options on Amazon
View on Amazon â
As an Amazon Associate, WikiWax earns from qualifying purchases.
`;
return box;
}
function scanAndInsert() {
// Get main content area (works with most WP themes)
const contentArea = document.querySelector('article') ||
document.querySelector('.post-content') ||
document.querySelector('.entry-content') ||
document.querySelector('main');
if (!contentArea) return;
const paragraphs = contentArea.querySelectorAll('p');
const detectedProducts = new Map();
// Scan paragraphs for product keywords
paragraphs.forEach((para) => {
const text = para.textContent.toLowerCase();
for (const [key, data] of Object.entries(PRODUCT_CATEGORIES)) {
if (text.includes(key) && !detectedProducts.has(key)) {
detectedProducts.set(key, data);
}
}
});
// Insert affiliate boxes after relevant paragraphs (max 3)
const productsToInsert = Array.from(detectedProducts.entries()).slice(0, MAX_INSERTIONS);
let paraIndex = 0;
productsToInsert.forEach(([productKey, productData]) => {
const targetPara = paragraphs[Math.floor(paragraphs.length / (productsToInsert.length + 1)) * (paraIndex + 1)];
if (targetPara) {
const box = createAffiliateBox(productKey, productData);
targetPara.parentNode.insertBefore(box, targetPara.nextSibling);
insertionCount++;
}
paraIndex++;
});
}
// Run on page load
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', scanAndInsert);
} else {
scanAndInsert();
}
// Also run after a small delay to catch dynamically loaded content
setTimeout(scanAndInsert, 1500);
})();