آموزش ساخت ابزار محاسبهگر میزان کربوهیدرات خالص در وبسایت.
- محمد یاسر گنجی دوست
- No Comments
آموزش ساخت ابزار “محاسبهگر کربوهیدرات خالص” (Net Carb) برای سایتهای کتوژنیک: کدی که لاغر میکند!
در دنیای رژیمهای امروزی، کلمه “Keto” پادشاهی میکند. هزاران نفر به دنبال غذاهایی هستند که کربوهیدرات خالص پایینی داشته باشند. مشکل اینجاست: روی بسته خرما نوشته شده “۷۵ گرم کربوهیدرات”، و فرد کتوژنیک فرار میکند! اما اگر بداند که بخشی از این کربوهیدرات “فیبر” است و جذب نمیشود، شاید نظرش عوض شود.
شما به عنوان طراح وب، میتوانید با ساخت یک ابزار ساده اما هوشمند، این محاسبه را برای کاربر انجام دهید. این ابزار:
-
اعتماد میسازد: نشان میدهد شما علمی کار میکنید.
-
فروش را بالا میبرد: محصولات مناسب کتو (مثل گردو و نارگیل) را برجسته میکند.
-
سئو را منفجر میکند: کاربران کلمات کلیدی مثل “محاسبه نت کارب گردو” را سرچ میکنند و به ابزار شما میرسند.
در این راهنمای فنی، ما قدمبهقدم کدنویسی و پیادهسازی این ابزار را در وردپرس بررسی میکنیم.
فاز ۱: منطق و دیتابیس (The Brain)
ما به دادههای تغذیهای آجیل و خشکبار نیاز داریم. دادهها باید شامل کربوهیدرات کل و فیبر در هر ۱۰۰ گرم باشند.
دیتابیس نمونه (JSON):
const ketoData = {
"walnut": { name: "گردو", totalCarb: 14, fiber: 7, image: "walnut.png" },
"almond": { name: "بادام درختی", totalCarb: 22, fiber: 12, image: "almond.png" },
"pistachio": { name: "پسته", totalCarb: 28, fiber: 10, image: "pistachio.png" },
"coconut": { name: "چیپس نارگیل", totalCarb: 24, fiber: 16, image: "coconut.png" }, // عالی برای کتو
"date": { name: "خرما", totalCarb: 75, fiber: 8, image: "date.png" }, // خطرناک
"fig": { name: "انجیر خشک", totalCarb: 64, fiber: 10, image: "fig.png" }
};
فرمول: Net Carbs = (Total Carbs - Fiber) * (Weight / 100)
فاز ۲: طراحی رابط کاربری (HTML Structure)
ما به یک فرم تمیز نیاز داریم. کاربر باید بتواند محصول و وزن را انتخاب کند.
<div class="keto-calc-container">
<div class="calc-header">
<h3>🥑 محاسبهگر کربوهیدرات خالص (Keto Friendly)</h3>
<p>ببینید کدام آجیل و میوه خشک برای رژیم شما مجاز است.</p>
</div>
<div class="calc-body">
<label>انتخاب محصول:</label>
<select id="keto-product">
<option value="walnut">گردو (پادشاه کتو)</option>
<option value="almond">بادام درختی</option>
<option value="pistachio">پسته</option>
<option value="coconut">چیپس نارگیل (بدون شکر)</option>
<option value="fig">انجیر خشک</option>
<option value="date">خرما</option>
</select>
<label>مقدار مصرف (گرم):</label>
<div class="input-group">
<input type="number" id="keto-weight" value="30">
<span>گرم</span>
</div>
<button onclick="calculateNetCarbs()" class="calc-btn">محاسبه کن</button>
</div>
<div id="keto-result" style="display:none;">
<div class="result-box">
<span class="label">کربوهیدرات خالص:</span>
<span id="net-carb-value" class="value">0</span>
<span class="unit">گرم</span>
</div>
<div id="traffic-light" class="status-bar">
<span id="status-text"></span>
</div>
<div id="product-suggestion"></div>
</div>
</div>
فاز ۳: استایلدهی (CSS)
ظاهر ابزار باید مدرن و جذاب باشد.
.keto-calc-container {
background: #fdfdfd;
border: 2px solid #e0e0e0;
border-radius: 12px;
padding: 25px;
max-width: 400px;
margin: 20px auto;
font-family: 'Vazir', sans-serif;
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.calc-header h3 { color: #2c3e50; margin-bottom: 5px; }
.calc-header p { font-size: 13px; color: #7f8c8d; margin-bottom: 20px; }
select, input {
width: 100%; padding: 10px; margin-bottom: 15px;
border: 1px solid #ccc; border-radius: 8px; font-size: 16px;
}
.calc-btn {
width: 100%; background: #27ae60; color: white; border: none;
padding: 12px; border-radius: 8px; cursor: pointer; font-size: 16px; transition: 0.3s;
}
.calc-btn:hover { background: #219150; }
#keto-result { margin-top: 25px; border-top: 1px dashed #ccc; padding-top: 20px; text-align: center; }
.result-box .value { font-size: 36px; font-weight: bold; color: #333; }
.status-bar {
margin-top: 10px; padding: 8px; border-radius: 5px; color: white; font-weight: bold;
}
/* کلاسهای وضعیت */
.safe { background-color: #27ae60; } /* سبز */
.caution { background-color: #f39c12; } /* زرد */
.danger { background-color: #c0392b; } /* قرمز */
.cta-link {
display: block; margin-top: 15px; text-decoration: none; color: #2980b9; font-weight: bold;
}
فاز ۴: جاوااسکریپت (منطق محاسبه)
این کد را در تگ <script> یا فایل JS جداگانه قرار دهید.
<script>
const ketoData = {
"walnut": { name: "گردو", total: 14, fiber: 7, url: "/product/walnut" },
"almond": { name: "بادام", total: 22, fiber: 12, url: "/product/almond" },
"pistachio": { name: "پسته", total: 28, fiber: 10, url: "/product/pistachio" },
"coconut": { name: "نارگیل", total: 24, fiber: 16, url: "/product/coconut" },
"fig": { name: "انجیر", total: 64, fiber: 10, url: "/product/fig" },
"date": { name: "خرما", total: 75, fiber: 8, url: "/product/date" }
};
function calculateNetCarbs() {
// 1. دریافت ورودیها
let key = document.getElementById('keto-product').value;
let weight = parseFloat(document.getElementById('keto-weight').value);
if (!weight || weight <= 0) { alert("لطفاً وزن را وارد کنید"); return; }
// 2. انجام محاسبه
let data = ketoData[key];
let netCarbPer100 = data.total - data.fiber;
let finalNetCarb = (netCarbPer100 * weight) / 100;
// رند کردن عدد تا 1 رقم اعشار
finalNetCarb = Math.round(finalNetCarb * 10) / 10;
// 3. نمایش عدد
document.getElementById('net-carb-value').innerText = finalNetCarb;
document.getElementById('keto-result').style.display = 'block';
// 4. منطق چراغ راهنما (Logic Traffic Light)
let statusDiv = document.getElementById('traffic-light');
let statusText = document.getElementById('status-text');
let suggestionDiv = document.getElementById('product-suggestion');
// پاک کردن کلاسهای قبلی
statusDiv.className = 'status-bar';
if (finalNetCarb <= 5) {
statusDiv.classList.add('safe');
statusText.innerText = "✅ عالی! کاملاً کتوژنیک (Keto Friendly)";
suggestionDiv.innerHTML = `<a href="${data.url}" class="cta-link">خرید ${data.name} رژیمی »</a>`;
} else if (finalNetCarb > 5 && finalNetCarb <= 12) {
statusDiv.classList.add('caution');
statusText.innerText = "⚠️ احتیاط! (مصرف محدود)";
suggestionDiv.innerHTML = `<a href="${data.url}" class="cta-link">خرید ${data.name} (کم بخورید) »</a>`;
} else {
statusDiv.classList.add('danger');
statusText.innerText = "❌ خطر! (خروج از کتوزیس)";
suggestionDiv.innerHTML = "پیشنهاد: به جای این، **گردو یا نارگیل** بخورید.";
}
}
</script>
فاز ۵: ادغام در وردپرس (نحوه نمایش)
روش ۱: شورتکد (Shortcode)
تمام کدها را در یک تابع PHP در functions.php بگذار و خروجی بگیر (همانطور که در مقالات قبلی گفتیم). شورتکد [net_carb_calc] را در سایدبار وبلاگ یا یک برگه لندینگ قرار بده.
روش ۲: پاپآپ (Popup)
با استفاده از افزونههای پاپآپ ساز (مثل Elementor Popup)، این ابزار را بساز و تنظیم کن که وقتی کاربر در مقالات “رژیم لاغری” است، دکمهای شناور ببیند: “آیا این میوه مجاز است؟ محاسبه کنید.”
استراتژی بازاریابی: چگونه از این ابزار پول درآوریم؟
-
لینکسازی داخلی: در بخش نتیجه (Suggestion)، اگر نتیجه “سبز” بود، مستقیماً لینک خرید همان محصول را بگذارید. اگر “قرمز” بود، لینک خرید محصول جایگزین (کتو فرندلی) را بگذارید.
-
جمعآوری لید (Lead): بالای دکمه محاسبه، فیلد ایمیل بگذارید (اختیاری): “ارسال لیست کامل میوههای مجاز کتو به ایمیل شما”.
-
سئو: یک صفحه اختصاصی با عنوان “ماشین حساب کتوژنیک خشکبار” بسازید. این صفحه پتانسیل بالایی برای جذب ورودی گوگل دارد.
بخش پرسش و پاسخ فنی (FAQ)
۱. آیا میتوانم محصولات بیشتری اضافه کنم؟ بله، فقط کافیست در آبجکت ketoData در ابتدای کد جاوااسکریپت، خطهای جدید اضافه کنید. نام، کربوهیدرات کل و فیبر را از اینترنت پیدا کنید.
۲. آیا این ابزار سایت را کند میکند؟ خیر. این ابزار ۱۰۰٪ سمتِ کاربر (Client-side) اجرا میشود و هیچ درخواستی به سرور یا دیتابیس نمیفرستد. فوقالعاده سبک است.
۳. چرا کربوهیدرات خالص مهم است؟ چون در رژیم کتو، فیبر مثل کربوهیدرات عمل نمیکند. این ابزار به کاربر نشان میدهد که مثلاً “نارگیل خشک” با اینکه کربوهیدرات دارد، اما چون فیبرش بالاست، نتکارب کمی دارد و مجاز است.
جمعبندی: ابزاری که “مشاور” میشود
ساخت “محاسبهگر کربوهیدرات خالص”، سایت خشکبار شما را از یک فروشگاه معمولی به یک “مرجع تخصصی تغذیه” تبدیل میکند. کاربرانی که رژیم دارند، به این ابزار وابسته میشوند و هر بار برای چک کردن یک خوراکی جدید به سایت شما برمیگردند. و این یعنی ترافیک رایگان و وفاداری.
به عنوان طراح وب، این ابزار کوچک، نمونه کار قدرتمندی در رزومه تو خواهد بود.
🍑 طعم سلامتی با میوههای خشک AsanFruits
انواع میوههای خشک طبیعی و بدون افزودنی، تهیهشده از بهترین محصولات باغی ایران. میانوعدهای سالم، خوشطعم و مغذی برای هر ساعتی از روز.
مشاهده محصولات میوه خشک