=== یادآور نظرات والابی ===
Contributors: valabi
Tags: woocommerce, reviews, sms, reminder, kavenegar, ippanel
Requires at least: 5.8
Tested up to: 6.7
Requires PHP: 7.4
Stable tag: 1.8.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

یادآور خودکار ثبت دیدگاه ووکامرس — چند روز پس از تکمیل سفارش، با پیامک از مشتری دعوت می‌کند بدون ورود به سایت برای محصولات خریداری‌شده امتیاز و دیدگاه ثبت کند.

== Description ==

Valabi Review Reminder سفارش‌های تکمیل‌شده ووکامرس را زیر نظر می‌گیرد و پس از مدت زمان دلخواه (مثلاً ۷ روز)
یک پیامک حاوی لینک اختصاصی برای مشتری ارسال می‌کند. مشتری بدون نیاز به ورود به سایت، صفحه‌ای ساده و زیبا
می‌بیند که محصولات همان سفارش در آن فهرست شده و می‌تواند برای هر محصول ستاره و دیدگاه ثبت کند. دیدگاه‌ها
به‌صورت دیدگاه واقعی ووکامرس ذخیره و به‌عنوان «دریافت‌شده از یادآور» نشانه‌گذاری می‌شوند.

ویژگی‌ها:

* ارسال خودکار پیامک چند روز پس از تکمیل سفارش (قابل تنظیم).
* تلاش مجدد در صورت خطا؛ سفارش موفق دوباره پیامک نمی‌گیرد.
* لایه درگاه پیامک ماژولار — کاوه‌نگار و آی‌پی‌پنل (فراپیامک) به‌صورت پیش‌فرض، افزودن درگاه جدید آسان.
* صفحه ثبت دیدگاه بدون نیاز به ورود، با امکان شخصی‌سازی ظاهر و پیش‌نمایش زنده در پیشخوان.
* داشبورد آماری: در صف، ارسال‌شده، کلیک‌شده، دیدگاه‌ ثبت‌شده، نرخ تبدیل.
* گزارش کامل پیامک‌ها: به چه شماره‌ای، برای کدام سفارش، وضعیت ارسال و کلیک.
* حالت آزمایشی، بررسی اعتبار پنل (کرون ساعتی + دستی)، هشدار اعتبار کم در نوار مدیریت.
* محدودیت ارسال به هر شماره، ساعت سکوت، کوپن پاداش اختیاری پس از ثبت دیدگاه.
* سازگار با HPOS ووکامرس و PHP 7.4 به بالا.

== Installation ==

1. پوشه افزونه را در `wp-content/plugins/` بارگذاری کنید.
2. افزونه را از منوی افزونه‌ها فعال کنید (ووکامرس باید فعال باشد).
3. به «یادآور نظرات → تنظیمات» بروید و درگاه پیامک را پیکربندی کنید.

== Changelog ==

= 1.8.0 =
* لینک دیدگاه کوتاه و زیبا: به‌جای کد ۴۰ کاراکتری، حالا لینک به‌صورت «دامنه/d/کد۸رقمی» است (مثلاً shop.ir/d/k7P2xq9M). کوتاه‌تر، خواناتر و کم‌حجم‌تر در پیامک (احتمال جا شدن در یک صفحهٔ پیامک و کاهش هزینه). پیشوند /d/ از تداخل با برگه‌های واقعی سایت جلوگیری می‌کند و امنیت لینک حفظ می‌شود.
* لینک‌هایی که قبلاً با فرمت قدیمی ارسال شده‌اند همچنان کار می‌کنند. قوانین بازنویسی پس از به‌روزرسانی یک‌بار به‌صورت خودکار بازنشانی می‌شوند.
* طول کد با فیلتر valabi_review_reminder_token_length قابل تغییر است.

= 1.7.0 =
* بازطراحی زمان‌بندی برای کارایی بهتر: به‌جای ساختن یک کرون‌جاب جداگانه در Action Scheduler برای هر سفارش (که باعث انباشت می‌شد)، اکنون یک «ضربان» واحد هر چند ساعت یک‌بار جدول یادآورها را بررسی و موارد آماده را ارسال می‌کند. بار دیتابیس به‌شدت کمتر و دیگر خبری از انبوه کرون‌جاب نیست. زمان‌بندی دقیق ثانیه‌ای لازم نیست؛ یادآورها روزمقیاس‌اند.
* بازهٔ پویش پیش‌فرض هر ۲ ساعت (با فیلتر valabi_review_reminder_sweep_interval قابل تغییر).
* دکمهٔ «ارسال همین حالا» در داشبورد برای ارسال فوری یادآورهای آماده، بدون انتظار برای کرون.
* سازگار با هاست اشتراکی و کرون نرم وردپرس؛ تلاش مجدد با تأخیر و رعایت ساعت سکوت و محدودیت ارسال حفظ شده است.

= 1.6.7 =
* رفع باگ ارسال گروهی: دیگر سفارش‌هایی که محصول «قابل‌بررسی» ندارند به‌اشتباه رد نمی‌شوند. ارسال گروهی مانند دکمهٔ تکی فقط به یک شمارهٔ معتبر نیاز دارد. پیام نتیجه اکنون دلیل دقیق هر مورد را جدا نشان می‌دهد: ارسال‌شده / در صف / قبلاً ارسال‌شده / بدون شماره / ناموفق.

= 1.6.6 =
* ارسال گروهی واقعاً «همین حالا»: پیامک‌ها به‌جای صف کند Action Scheduler، بلافاصله و همان لحظه در همان درخواست ارسال می‌شوند (با محدودیت زمان/تعداد برای جلوگیری از تایم‌اوت). اگر تعداد انتخاب‌شده خیلی زیاد باشد، باقی‌مانده به پس‌زمینه می‌رود. خلاصهٔ «ارسال‌شده / در صف / رد‌شده / ناموفق» نمایش داده می‌شود.

= 1.6.5 =
* ارسال گروهی حالا «همین حالا» انجام می‌شود نه ساعت‌ها بعد: پیامک‌های ارسال گروهی دیگر تابع «ساعت سکوت» نیستند و بلافاصله (طی چند لحظه، با کمی فاصله بین دسته‌ها) از طریق Action Scheduler ارسال می‌شوند. (یادآورهای خودکار همچنان ساعت سکوت را رعایت می‌کنند.)

= 1.6.4 =
* رفع قطعی «صفحه سفید» ارسال گروهی: دیگر به ریدایرکت دیرهنگام ووکامرس وابسته نیست. عملیات روی admin_init (زودهنگام، پیش از رندر صفحه) پردازش و سپس خودِ افزونه ریدایرکت می‌کند؛ اگر ارسال هدر ممکن نباشد (به‌خاطر خروجی زودهنگام افزونه‌های دیگر) به‌صورت ریدایرکت جاوااسکریپتی انجام می‌شود تا هیچ‌گاه صفحه سفید دیده نشود.

= 1.6.3 =
* رفع «صفحه سفید» ارسال گروهی روی سایت‌هایی که نمایش خطاهای PHP روشن است: چاپ پیام‌های خطای افزونه‌های دیگر (بارگذاری زودهنگام ترجمه) باعث می‌شد ریدایرکت بعد از عملیات کار نکند. اکنون خروجی درخواستِ ارسال گروهی موقتاً بافر می‌شود تا ریدایرکت همیشه انجام شود. (توصیه: WP_DEBUG_DISPLAY را هم false کنید.)

= 1.6.2 =
* رفع کامل «صفحه سفید» ارسال گروهی: کل پردازش به پس‌زمینه منتقل شد. کلیک روی «اعمال» فقط کار را در صف Action Scheduler می‌گذارد و فوراً برمی‌گردد — هر تعداد سفارش هم انتخاب شود، صفحه دیگر تایم‌اوت/سفید نمی‌شود. حذف سفارش‌های قبلاً‌ارسال‌شده در پس‌زمینه انجام می‌شود.

= 1.6.1 =
* رفع «صفحه سفید» در ارسال گروهی: هر سفارش جداگانه و ایمن پردازش می‌شود؛ یک خطا دیگر کل عملیات را متوقف نمی‌کند و متن خطا در پیشخوان نمایش داده می‌شود. محدودیت زمان اجرا برای انتخاب‌های بزرگ برداشته می‌شود.

= 1.6.0 =
* عملیات گروهی در صفحه سفارش‌های ووکامرس: «ارسال یادآور نظرات (والابی)» — برای سفارش‌های انتخاب‌شده پیامک یادآور می‌فرستد.
* جلوگیری از ارسال تکراری: سفارش‌هایی که قبلاً برایشان یادآور ارسال شده، در ارسال گروهی نادیده گرفته می‌شوند.
* ارسال غیرمسدودکننده: سفارش‌های واجد شرایط برای ارسال فوری در صف قرار می‌گیرند (مناسب انتخاب‌های پرتعداد روی هاست اشتراکی). در پایان، خلاصهٔ «در صف/رد‌شده/نامعتبر» نمایش داده می‌شود.
* سازگار با هر دو حالت صفحه سفارش‌ها (کلاسیک و HPOS).

= 1.5.1 =
* رفع تداخل مهم با ذخیره سفارش: دکمه «ارسال اکنون» در متاباکس سفارش دیگر داخل یک فرم تو‌در‌تو نیست (که باعث می‌شد دکمه «به‌روزرسانی» ووکامرس کار نکند و وضعیت سفارش ذخیره نشود). حالا با ای‌جکس ارسال می‌شود.
* دکمه «ارسال اکنون» اکنون مستقل از وضعیت سفارش کار می‌کند و فقط به یک شماره موبایل معتبر نیاز دارد؛ نتیجه (موفق/خطا) همان‌جا نمایش داده می‌شود.

= 1.5.0 =
* مقداردهی متغیرهای الگو از پیشخوان: برای کاوه‌نگار و آی‌پی‌پنل، کد الگو را نگه می‌دارید و در کادر «متغیرهای الگو» هر متغیر را با فیلدهای سایت پر می‌کنید (مثل name:{first_name}، order_id:{order}، link:{smlink}).
* متغیر جدید {smlink}: فقط بخش بعد از دامنه (برای پنل‌هایی که خودشان دامنه را پیش از لینک ثبت کرده‌اند، مثل shop.ir/%link%). متغیر {first_name} هم به‌عنوان مترادف {name} اضافه شد.
* دکمه «ارسال یادآور اکنون» در صفحه سفارش حالا پیامک را همان لحظه می‌فرستد (نه زمان‌بندی) و همه محدودیت‌ها را نادیده می‌گیرد: ساعت سکوت، محدودیت تعداد به هر شماره، و قانون «یک‌بار ارسال». قابل تکرار برای هر شماره.
* نتیجه واقعی ارسال دستی (موفق/خطا با جزئیات) در پیشخوان نمایش داده می‌شود.

= 1.4.0 =
* حذف سیستم لایسنس: افزونه دیگر به کلید نیاز ندارد و همیشه فعال است (بدون گیت، بدون صفحهٔ لایسنس). به‌جای آن یک «ضربان» فنی روزانه و بی‌صدا برای آمار استفاده ارسال می‌شود (آدرس سایت و نسخهٔ افزونه/وردپرس/ووکامرس/PHP)؛ بدون رابط کاربری و بدون اثر بر کارکرد سایت. با ثابت VALABI_REVIEW_REMINDER_TELEMETRY_OFF یا فیلتر valabi_review_reminder_telemetry_enabled قابل خاموش‌کردن است.

= 1.3.2 =
* رفع باگ فعال‌سازی لایسنس: پس از ثبت کلید، دیگر صفحهٔ «دسترسی ندارید» نمایش داده نمی‌شود و کاربر به داشبورد افزونه هدایت می‌شود. منوی «لایسنس» اکنون به‌جای ابتدای فهرست، در انتهای زیرمنوهای افزونه قرار می‌گیرد.
* رفع خطای ۴۰۴ صفحهٔ نظرسنجی در فرانت‌اند پس از فعال‌سازی: قوانین بازنویسی (rewrite rules) یک‌بار به‌صورت خودکار بازنشانی می‌شوند.

= 1.3.1 =
* حریم خصوصی صفحه لایسنس: پس از ثبت کلید، فقط بخشی از آن (ماسک‌شده) نمایش داده می‌شود نه کل کلید.
* نشانی سرور بررسی لایسنس دیگر در پیشخوان نمایش داده نمی‌شود.
* خالی‌گذاشتن کادر کلید دیگر کلید فعلی را پاک نمی‌کند (فقط بررسی مجدد انجام می‌شود).

= 1.3.0 =
* افزودن سیستم لایسنس والابی (هم‌خانواده با سایر افزونه‌های والابی): فعال‌سازی با کلید، بررسی سمت سرور، کرون روزانه.
* رفتار ایمن: بدون لایسنس معتبر افزونه «بی‌اثر» می‌شود (پیامک، صفحه دیدگاه و نمایش دیدگاه‌ها خاموش) ولی فروشگاه و ووکامرس دست‌نخورده می‌مانند.
* بازه مهلت: اگر سرور لایسنس موقتاً در دسترس نباشد، سایت فعال تا یک هفته به کار ادامه می‌دهد.
* صفحه «لایسنس» همیشه در دسترس است؛ به‌روزرسان خودکار حتی در حالت بی‌اثر فعال می‌ماند.
* خاموش‌کردن اجبار لایسنس با ثابت VALABI_REVIEW_REMINDER_LICENSE_OFF یا فیلتر valabi_review_reminder_require_license.

= 1.2.0 =
* افزودن بخش «نمایش دیدگاه‌ها» (دیوار اعتماد): نمایش عمومی دیدگاه‌های واقعی مشتریان با کد کوتاه `[valabi_reviews]` و ابزارک اسلایدر.
* حالت‌های نمایش: ترکیبی، جدیدترین، بالاترین امتیاز و منتخب‌های دستی (با علامت‌گذاری ⭐ روی هر دیدگاه).
* چیدمان‌های شبکه‌ای، دیوار آجری، اسلایدر و فهرست؛ فیلتر حداقل امتیاز و فقط خریداران تأییدشده.
* گزینه نمایش نام (کامل / نام + حرف اول / خریدار تأییدشده)، حافظه موقت برای سرعت روی هاست اشتراکی.
* صفحه تنظیمات با پیش‌نمایش زنده. زیرساخت دیدگاه عکس‌دار برای نسخه بعد آماده شده است.

= 1.1.0 =
* افزودن دکمه «ثبت سریع دیدگاه» در صفحه تک‌سفارش فروشگاه (پیشخوان مشتری) که همان صفحه دیدگاه پیامکی را باز می‌کند.

= 1.0.1 =
* اصلاح اتصال درگاه آی‌پی‌پنل (Edge API) و بررسی اعتبار.
* لینک کوتاه دیدگاه به‌صورت دامنه فروشگاه + توکن.
* انتقال «وضعیت و اعتبار» به داشبورد و جابه‌جایی کارت وضعیت سیستم به انتها.
* تغییر نام نمایشی افزونه به «یادآور نظرات».
* افزودن فایل ترجمه (.pot) و تست‌های واحد.

= 1.0.0 =
* انتشار اولیه.
