
به اشتراک بگذارید
آموزش وردپرس | بلاگ وبداده
ساخت شمارنده معکوس و آماری در وردپرس
- روش بدون کد: افزونههای نگهداریشده مثل HurryTimer و Countdown & Clock که با شورتکد کار میکنند.
- هشدار مهم: افزونهی محبوب قدیمی «Countdown Timer Ultimate» در سال 2026 برای همیشه بسته شده و نباید نصبش کنید.
- روش کد: شمارنده آماری با IntersectionObserver و شمارنده معکوس با یک شورتکد ساده، بدون هیچ افزونهای.
- نکته انتخاب: برای سرعت بالا، کد سبک بهتر است؛ برای سرعتِ راهاندازی، افزونهی سبک و بهروز.
در یک نگاه
ساخت شمارنده معکوس در وردپرس؛ از کجا شروع کنیم؟
تشبیه کاربردی

پیشنیازها و انتخاب روش مناسب
۱) هدف و نوع شمارنده
۲) افزونه یا کد؟
۳) بکاپ و محیط تست
پیش از تغییر کد، بکاپ بگیرید
روشهای عملی ساخت شمارنده (افزونه، کد و شمارنده آماری)
روش اول (بدون کد): افزونههای نگهداریشده
[ycd_countdown id=1] درج میشود. این افزونه هم بیش از ۱۰٬۰۰۰ نصب فعال دارد.این افزونهی محبوب دیگر در دسترس نیست
روش دوم: شمارنده آماری انیمیشنی با کد (بدون افزونه)
IntersectionObserver فقط وقتی عدد وارد دید کاربر شد، انیمیشن شمارش را اجرا میکند. این اسکریپت را در یک بلاک «HTML سفارشی» بگذارید:// شمارنده آماری انیمیشنی بدون افزونه
// این اسکریپت را در بلاک «HTML سفارشی» بگذارید و شمارنده را اینطور صدا بزنید:
// <span class="wd-counter" data-target="1200">0</span>
document.querySelectorAll('.wd-counter').forEach(function (el) {
var target = parseInt(el.dataset.target, 10) || 0;
var duration = 2000; // مدت انیمیشن به میلیثانیه
var started = false;
var io = new IntersectionObserver(function (entries) {
entries.forEach(function (entry) {
if (entry.isIntersecting && !started) {
started = true;
var startTime = performance.now();
(function step(now) {
var progress = Math.min((now - startTime) / duration, 1);
el.textContent = Math.floor(progress * target).toLocaleString('fa-IR');
if (progress < 1) requestAnimationFrame(step);
})(startTime);
}
});
}, { threshold: 0.4 });
io.observe(el);
});JavaScript<span class="wd-counter" data-target="1200">0</span>. برای درج امن این نوع کد در وردپرس بدون حذفشدن، میتوانید راهنمای درج کدهای جاوااسکریپت در وردپرس را ببینید.روش سوم: شمارنده معکوس با شورتکد سفارشی
wd_countdown میسازد که تا یک تاریخ مشخص میشمارد. آن را در فایل functions.php قالب فرزند یا یک افزونهی اسنیپت قرار دهید:// ساخت شورتکد شمارنده معکوس ساده در وردپرس
// این کد را در functions.php قالب فرزند یا یک افزونهی اسنیپت قرار دهید
// استفاده در نوشته/برگه: [wd_countdown date="2026-12-21 20:00"]
add_shortcode( 'wd_countdown', 'webdade_countdown_shortcode' );
function webdade_countdown_shortcode( $atts ) {
$a = shortcode_atts( array( 'date' => '' ), $atts );
$target = strtotime( $a['date'] );
if ( ! $target ) {
return '<p>لطفاً یک تاریخ معتبر وارد کنید.</p>';
}
$id = 'wd-cd-' . wp_rand( 1000, 9999 );
ob_start(); ?>
<div id="<?php echo esc_attr( $id ); ?>" class="wd-countdown"></div>
<script>
(function () {
var el = document.getElementById('<?php echo esc_js( $id ); ?>');
var target = <?php echo (int) $target; ?> * 1000;
function render() {
var diff = Math.max(target - Date.now(), 0);
var day = Math.floor(diff / 86400000);
var hour = Math.floor(diff % 86400000 / 3600000);
var min = Math.floor(diff % 3600000 / 60000);
var sec = Math.floor(diff % 60000 / 1000);
el.textContent = day + ' روز و ' + hour + ':' + min + ':' + sec;
if (diff > 0) { setTimeout(render, 1000); }
}
render();
})();
</script>
<?php
return ob_get_clean();
}PHPنکته فنی برای استفاده درست
[wd_countdown date="2026-12-21 20:00"] تا تایمر نمایش داده شود. این نمونه، ساختار پایه است؛ میتوانید ظاهر آن را با CSS دلخواه (رنگ، فونت، جعبهها) شخصیسازی کنید. برای آشنایی با محل فایلها و مدیریت وردپرس روی هاست، آموزش نصب وردپرس روی سیپنل کمککننده است. (مرجع تابع: مستندات رسمی developer.wordpress.org)
جدول مقایسه روشهای ساخت شمارنده
| روش | دانش فنی لازم | نوع شمارنده | هزینه | نکته کلیدی |
|---|---|---|---|---|
| افزونه HurryTimer | کم (بدون کد) | معکوس (تاریخ ثابت و همیشهسبز) | رایگان + نسخه پرو | بیش از ۲۰٬۰۰۰ نصب، امتیاز 4.8، سازگار با ووکامرس |
| افزونه Countdown & Clock | کم | معکوس + شمارش رو به بالا | رایگان + نسخه پرو | انواع نمایش متنوع، شورتکد [ycd_countdown] |
| ویجت Counter المنتور | کم (نیازمند المنتور) | آماری (عددی) | رایگان (داخل المنتور) | انیمیشن عدد با پیشوند و پسوند |
| کد سفارشی (شورتکد + JS) | متوسط تا زیاد | هم معکوس، هم آماری | رایگان | سبکترین روش، کنترل کامل، نیازمند دانش فنی |
جمعبندی جدول
محدودیتها، معایب و نکات مهم
درباره کد سفارشی چه میگویند؟
تجربه پشتیبانی وبداده
اجرای روان شمارندهها روی میزبانی وبداده
✅ دیتاسنترهای متنوع در ایران، هلند و آلمان برای انتخاب نزدیکترین لوکیشن.
✅ پشتیبانی فنی ۲۴ ساعته برای کمک در نصب افزونه، درج کد و رفع خطا.
✅ دسترسی کامل به مدیر فایل و کنترلپنل برای ویرایش آسان فایلها و بکاپگیری.
پرسشهای پرتکرار درباره ساخت شمارنده در وردپرس
تفاوت شمارنده معکوس و شمارنده آماری چیست؟
شمارنده معکوس (Countdown) رو به پایین میشمارد تا به یک زمان مشخص برسد و برای ساخت حس فوریت در حراجها و رویدادها بهکار میرود. شمارنده آماری (Number Counter) یک عدد ثابت را با انیمیشن از صفر تا مقدار نهایی بالا میبرد و برای نمایش آمار و دستاوردها استفاده میشود.
بهترین افزونه رایگان شمارنده معکوس برای وردپرس کدام است؟
افزونههای فعال و نگهداریشدهای مثل HurryTimer (با بیش از ۲۰٬۰۰۰ نصب و امتیاز 4.8) و Countdown, Coming Soon, Maintenance – Countdown & Clock گزینههای خوبی هستند. مهم این است که افزونهای را انتخاب کنید که بهروز باشد و سبک؛ از افزونههای بستهشده یا رهاشده پرهیز کنید.
آیا میتوانم بدون افزونه شمارنده بسازم؟
بله. شمارنده آماری را میتوانید با چند خط جاوااسکریپت و IntersectionObserver در یک بلاک HTML سفارشی بسازید، و شمارنده معکوس را با یک شورتکد ساده در functions.php. این روش سبکتر است اما به دانش فنی نیاز دارد و بهتر است کد را در قالب فرزند بگذارید.
چرا افزونه Countdown Timer Ultimate را پیشنهاد نمیکنید؟
چون این افزونه در تاریخ 2026-04-07 بهصورت دائمی از مخزن وردپرس بسته شده و دیگر قابل دانلود نیست. نصب افزونههای بستهشده یا بهروزرسانینشده میتواند حفرهی امنیتی ایجاد کند و با نسخههای جدید وردپرس ناسازگار باشد.
آیا شمارنده روی سرعت سایت اثر میگذارد؟
بله، تا حدی. هر افزونه یا اسکریپت اضافه، فایلهای CSS و JS بیشتری بارگذاری میکند. برای کمترین اثر، افزونهی سبک انتخاب کنید یا از کد سفارشی سبک استفاده کنید و شمارنده را فقط در صفحههایی بگذارید که واقعاً به آن نیاز دارند.
چطور شمارنده آماری با اعداد فارسی نمایش داده شود؟
در روش کد، با تابع toLocaleString(‘fa-IR’) در جاوااسکریپت میتوانید عدد را با ارقام فارسی نشان دهید؛ همان کاری که در نمونهکد این مقاله انجام شده است. بیشتر افزونههای خوب هم گزینهی تغییر فونت و زبان ارقام را دارند.
شمارنده معکوس همیشهسبز (Evergreen) چیست و آیا استفاده از آن درست است؟
تایمر همیشهسبز برای هر بازدیدکننده یک شمارش جداگانه میسازد که از لحظهی ورود او شروع میشود. این قابلیت برای قیفهای فروش کاربرد دارد، اما اگر بهشکل «فوریت جعلی» و بیپایان استفاده شود، اعتماد کاربر را از بین میبرد. بهتر است صادقانه و محدود از آن استفاده کنید.
آیا میتوانم هم شمارنده معکوس و هم آماری را در یک صفحه داشته باشم؟
بله، هیچ محدودیتی نیست. میتوانید در یک صفحه هم تایمر شمارش معکوس (مثلاً بالای یک محصول) و هم چند شمارنده آماری (مثلاً در بخش «درباره ما») داشته باشید. فقط حواستان به تعداد اسکریپتها و اثرشان روی سرعت باشد.
جمعبندی و چکلیست انتخاب
چکلیست سریع انتخاب روش
✅ اگر کد بلد نیستید، افزونهی سبک و بهروز انتخاب کنید.
✅ اگر سرعت اولویت است، سراغ کد سفارشی سبک بروید.
✅ قبل از تغییر کد، بکاپ بگیرید و از قالب فرزند استفاده کنید.
✅ اعداد و تاریخها را واقعی نگه دارید تا اعتماد کاربر حفظ شود.
✅ افزونههای بستهشده یا رهاشده را هرگز نصب نکنید.



