نوار اطلاع رسانی پیشرفته (شمسی)
A modern and lightweight WordPress notification bar plugin featuring an accurate Jalali calendar countdown timer, customizable announcements, and conversion-focused CTA buttons.
by Mohammad Hajloo · github.com/mhajloo/mh-notification-bar · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/mhajloo/mh-notification-bar/archive/refs/heads/main.zipReadme
نوار اطلاع رسانی پیشرفته (شمسی)
پلاگین وردپرس برای نمایش نوار اطلاعرسانی/تبلیغاتی مدرن در بالا یا پایین سایت، با شمارشگر معکوس دقیق بر پایه تقویم شمسی (جلالی).
ویژگی متمایز این پلاگین نسبت به مشابههایش: تبدیل تاریخ شمسی به میلادی با یک الگوریتم استاندارد و آزمایششده (نه یک فرمول تقریبی)، و محاسبه لحظه پایان شمارشگر بهصورت مطلق بر پایه منطقه زمانی سایت — یعنی همه بازدیدکنندهها صرفنظر از منطقه زمانی مرورگرشان، دقیقاً یک لحظه واحد را میبینند.
امکانات
- شمارشگر معکوس شمسی با نمایش اختیاری ثانیه، با تقویم کلیکی اختصاصی (بدون کتابخانه خارجی) یا تایپ دستی
- اسلایدر چندمتنی با ۴ افکت گذار (محو شدن، کشیدن، زوم، چرخش)
- سه نوع پسزمینه (رنگ ساده / گرادیانت / تصویر) + ۱۵ انیمیشن پسزمینه آماده (مستقل از نوع پسزمینه)
- دکمه CTA با متن/لینک/رنگ/گردیگوشه/موقعیت کاملاً قابلسفارشیسازی از پنل مدیریت
- موقعیت بالا یا پایین صفحه، با دکمه بستن آیکونی اختیاری
- مخفی شدن خودکار + نمایش مجدد خودکار بعد از بستن (با فاصله زمانی قابل تنظیم)
- کنترل جداگانه سایز متن برای دسکتاپ/موبایل و امکان مخفیسازی کامل در موبایل
- پیشنمایش زنده و کاملاً واقعی (WYSIWYG) تنظیمات در پنل مدیریت
- کاملاً آماده ترجمه (i18n-ready)
نصب
از مخزن پلاگینهای وردپرس (پس از انتشار) یا بهصورت دستی:
wp-content/plugins/mh-notification-bar/
سپس از بخش «افزونهها» در پیشخوان وردپرس فعال کنید و به «تنظیمات > نوار اطلاع رسانی» بروید.
ساختار پروژه
mh-notification-bar.php نقطه ورود پلاگین (هدر + راهاندازی)
uninstall.php پاکسازی دادهها هنگام حذف کامل پلاگین
includes/
class-nb-jalali-date.php تبدیل تاریخ شمسی↔میلادی (الگوریتم استاندارد جلالی)
class-nb-settings.php مقادیر پیشفرض، خواندن/اعتبارسنجی/ذخیره تنظیمات
class-nb-frontend.php رندر نوار در سایت + enqueue فایلهای فرانتاند
class-nb-admin.php صفحه تنظیمات در پیشخوان
class-nb-ajax.php هندلرهای AJAX (ذخیره تنظیمات، بستن نوار)
assets/
css/notification-bar.css استایل نوار در سایت (شامل ۱۵ انیمیشن پسزمینه و دکمه CTA)
css/admin.css استایل پنل تنظیمات و ویجت تقویم شمسی
js/notification-bar.js منطق شمارشگر، اسلایدر، بستن نوار
js/admin.js منطق پنل تنظیمات و پیشنمایش زنده WYSIWYG
js/jalali-datepicker.js تقویم و ساعتشمار شمسی مستقل (بدون کتابخانه خارجی)
languages/
mh-notification-bar.pot قالب ترجمه (استخراجشده مستقیم از سورس)
توسعه و تست محلی
این پروژه بدون build step (webpack/babel) کار میکند — فایلهای JS/CSS مستقیماً enqueue میشوند.
برای تست روی ویندوز با Laragon:
- یک سایت وردپرس در Laragon بسازید (یا از سایت موجود استفاده کنید).
- این ریپازیتوری را در
wp-content/plugins/mh-notification-barقرار دهید (یا با Junction/Symlink لینک کنید). - پلاگین را از پیشخوان فعال کنید.
برای بررسی صحت نحوی فایلهای PHP بدون نیاز به وبسرور:
& "C:\laragon\bin\php\php-8.3.30-Win32-vs16-x64\php.exe" -l mh-notification-bar.php
مشارکت
اگر باگی پیدا کردید یا پیشنهادی دارید، از بخش Issues استفاده کنید. Pull Request ها با توضیح واضح از تغییر و دلیل آن استقبال میشوند.
لایسنس
این پروژه تحت لایسنس GPLv2 یا بالاتر منتشر شده است.
تغییرات نسخهها
فهرست کامل تغییرات هر نسخه در readme.txt (بخش Changelog) نگهداری میشود.