شرکت مدار · نسخه ۱.۰.۱
راهنمای مدیریت هوشمند قیمت
ابزاری برای ویرایش گروهی قیمت محصولات ووکامرس با پیشنمایش، ثبت سابقه و بازگردانی کنترلشده.
۱. نصب و دسترسی
- ووکامرس را فعال کنید. حداقل فنی افزونه: PHP 7.4 و وردپرس 6.5؛ الزامات خود نسخه ووکامرس نیز باید برقرار باشد.
- در پیشخوان وارد «افزونهها ← افزودن افزونه ← بارگذاری افزونه» شوید.
- فایل
madar-price-manager-1.0.1.zip را مستقیماً بارگذاری و فعال کنید؛ نیازی به استخراج ZIP نیست. - از منوی «قیمتگذاری مدار» وارد پنل شوید. مدیر سایت و مدیر فروشگاه با مجوز ویرایش محصولات دسترسی دارند.
۲. مثالهای کاربردی
مثالها فرض میکنند واحد پول فروشگاه تومان است. اگر فروشگاه ریالی است، همه اعداد باید به ریال وارد شوند.
| خواسته | تنظیمات |
|---|
| ۱۰٪ افزایش برای زیر یک میلیون | میانبر «زیر یک میلیون»، مبنای عادی، افزایش، درصدی، مقدار ۱۰، هدف عادی |
| ۱۰۰ هزار افزایش برای یک میلیون به بالا | میانبر «یک میلیون به بالا»، افزایش، مبلغی، مقدار ۱۰۰۰۰۰ |
| ۵٪ کاهش بین ۵۰۰ هزار و ۲ میلیون | از ۵۰۰۰۰۰ تا ۲۰۰۰۰۰۰؛ کاهش درصدی ۵؛ مرزها بهطور پیشفرض شامل هستند |
| قیمت همه موارد منتخب ۷۹۰ هزار | عملیات قیمت ثابت؛ مقدار ۷۹۰۰۰۰؛ نوع محاسبه در این حالت تأثیری ندارد |
| ساخت فروش ویژه ۱۵٪ پایینتر از عادی | هدف فقط ویژه؛ کاهش درصدی ۱۵؛ گزینه ایجاد ویژه از عادی روشن. برای محصولات دارای ویژه، کاهش روی ویژه موجود اعمال میشود. |
| گردکردن قیمت به هزار تومان بالاتر | گام ۱۰۰۰، جهت رو به بالا، همراه با قانون تغییر قیمت |
«زیر یک میلیون» یعنی کمتر از ۱۰۰۰۰۰۰؛ «یک میلیون به بالا» خود عدد ۱۰۰۰۰۰۰ را هم شامل میشود. برای دقیقاً بالای یک میلیون، گزینه «خود این مبلغ شامل نشود» در حداقل را فعال کنید.
۳. انتخاب محصولات
- فیلترهای متفاوت با رابطه «و» اعمال میشوند. چند دسته انتخابشده با رابطه «یا» بررسی میشوند؛ برچسبها نیز به همین شکلاند.
- دسته و برچسب خالی یعنی همه. Ctrl در ویندوز یا ⌘ در مک برای انتخاب چند گزینه.
- دسته دقیق بررسی میشود؛ انتخاب دسته والد لزوماً محصولی را که فقط در زیردسته است شامل نمیشود.
- جستجو بخشی از نام، SKU محصول یا SKU والد را پیدا میکند.
- با شناسه میتوانید فقط چند محصول را انتخاب یا محصولاتی را مستثنا کنید. استثنا اولویت دارد.
- شناسه محصول متغیر همه تنوعهای فعالش را شامل میشود؛ شناسه تنوع فقط همان تنوع را شامل میشود.
- برای تنوعها، وضعیت انتشار و دسته و برچسب از والد گرفته میشود. تنوع غیرفعال پردازش نمیشود.
- محصول بدون قیمت فقط در صورت نبود بازه عددی قابل انتخاب است؛ با تعیین قیمت ثابت میتوان به آن قیمت داد.
۴. قواعد قیمت ویژه و محدودیتها
در هدف «هر دو»، قیمت عادی و قیمت ویژه موجود جداگانه تغییر میکنند؛ قیمت ویژه خالی ایجاد نمیشود. ساخت ویژه فقط با هدف «فقط ویژه» و گزینه مربوطه انجام میشود. تاریخ شروع و پایان تخفیف حفظ میشود؛ تخفیف آینده زودتر فعال نمیشود.
اگر قیمت ویژه جدید از عادی کمتر نباشد، پیشفرض ردکردن کل تغییر آن محصول است. گزینه جایگزین، حذف ویژه و تاریخهای آن است؛ این حذف در پیشنمایش و سابقه ثبت میشود.
ترتیب: افزایش/کاهش/تعیین ← گردکردن به مضرب ← کف و سقف ← اعشار ووکامرس. کف و سقف اولویت بیشتری از مضرب دارند. قیمت منفی مجاز نیست؛ قیمت صفر تنها با گزینه صریح پذیرفته میشود. عدد منفی را در مقدار وارد نکنید؛ برای کاهش، نوع عملیات را کاهش قرار دهید.
۵. پیشنمایش و اجرا
- «ساخت پیشنمایش» همه محصولات واجد شرایط را بهصورت بستهای بررسی و قیمت قبل و بعد را ثبت میکند. در این مرحله قیمت واقعی تغییر نمیکند.
- تمام ردیفها صفحهبندی شدهاند؛ گزارش CSV همه ردیفها را دارد. ستونهای «بعد» قیمت پیشنهادی همان عملیاتاند؛ وضعیت هر ردیف مشخص میکند واقعاً اجرا شده یا رد شده است.
- تنظیمات پیشنمایش ثابت است. اگر فرم را تغییر دادید، پیشنمایش جدید بسازید.
- روی تأیید و اعمال بزنید و تعداد محصولات آماده تغییر را وارد کنید؛ اعداد فارسی هم پذیرفته میشوند.
- صفحه را باز نگه دارید. میتوانید توقف موقت کنید یا اجرای باقیمانده را لغو کنید.
اسکن حداکثر ۱۰۰ رکورد و اجرا حداکثر ۲۰ محصول در هر درخواست است؛ برای محدودکردن زمان درخواست ممکن است تعداد کمتری پردازش شود. سقف ثابت برای مجموع محصولات تعیین نشده، اما زمان و مصرف پایگاه داده متناسب با تعداد محصولات است؛ آزمون بار در مقیاس بسیار بزرگ انجام نشده است.
۶. سوابق، ادامه و بازگردانی
۵۰ عملیات اخیر در پنل دیده میشوند. سابقه، کاربر اجراکننده، زمان، قانون و قیمتهای قبل و بعد را نگه میدارد. الگوها برای هر کاربر مستقلاند و تا ۲۰ الگو قابل ذخیره است.
بستن صفحه یا قطع اینترنت باعث پایان درخواست جاری و توقف ارسال درخواست جدید میشود. از سوابق «مشاهده / ادامه» و سپس «ادامه عملیات» را انتخاب کنید. درخواست تکراری، افزایش قیمت را دوباره اعمال نمیکند.
لغو باقیمانده، محصولات انجامشده را خودکار برنمیگرداند. برای آنها از بازگردانی استفاده کنید. در بازگردانی، اگر قیمت یا تاریخ تخفیف بعداً تغییر کرده باشد، محصول رد میشود و ویرایش جدید حفظ میشود. عملیات متوالی را از جدیدترین به قدیمیترین بازگردانید.
| وضعیت ردیف | معنی |
|---|
| آماده تغییر | پیشنمایش معتبر و منتظر تأیید |
| رد شد | قیمت نامعتبر، نبود قیمت ویژه یا نتیجه بدون تغییر؛ علت در جدول |
| اعمال شد | قیمت در ووکامرس ذخیره شده |
| تعارض | تغییر بعد از پیشنمایش یا از دست رفتن دسترسی؛ محصول بازنویسی نشده |
| خطا | ذخیره یا تأیید نتیجه با مشکل روبهرو شده؛ قیمت محصول را دستی بررسی کنید |
| بازگردانی شد | قیمتها و تاریخهای قبلی بازگردانده شدهاند |
| تعارض / خطای بازگردانی | نیاز به بررسی دستی؛ بازگردانی اجباری انجام نمیشود |
۷. امنیت و سازگاری
- درخواستها نیازمند ورود، مجوز مدیریت ووکامرس، مجوز ویرایش محصولات و nonce معتبر هستند. دسترسی ویرایش هر محصول نیز جداگانه کنترل میشود.
- قفل نامدار MySQL/MariaDB از اجرای همزمان درخواستهای تغییردهنده مدار جلوگیری میکند. اگر میزبان این قابلیت را مسدود کند، اجرا متوقف میشود.
- قفل مدار جلوی ابزارهای خارجی را نمیگیرد. از اجرای همزمان ویرایشگرهای قیمت دیگر خودداری کنید؛ مقایسه قبل از ذخیره فاصلههای زمانی ریزِ همزمانی بیرونی را کاملاً حذف نمیکند.
- تغییر از طریق API رسمی محصول ووکامرس انجام میشود؛ قیمت والد متغیر و کشهای داخلی محصول همگام میشوند. کش صفحه خارجی یا CDN ممکن است نیاز به پاکسازی جدا داشته باشد.
- قیمتهای مالیاتخورده نمایش، چندارزی، تخفیف نقش کاربری و قیمت پویا در سبد توسط این افزونه محاسبه نمیشوند. مبلغ خام قیمت محصول مبناست.
- پشتیبانی مستقیم: محصول ساده، خارجی و تنوع محصول متغیر. محصول گروهی خودش قیمت ندارد؛ انواع اختصاصی مانند اشتراک رد میشوند.
- این نسخه در محیط تکسایته تست شده است؛ فعالسازی شبکهای وردپرس چندسایته و انواع افزونههای اختصاصی تست نشدهاند.
۸. حذف و نگهداری
افزونه داده یا درخواست بیرونی ارسال نمیکند. سوابق در جدولهای دارای پیشوند madar_pm_jobs و madar_pm_items پایگاه داده همین سایت نگهداری میشوند. با حذف افزونه پاک نمیشوند؛ نصب مجدد سوابق را بازیابی میکند. پاکسازی دستی سوابق، امکان بازگردانی آنها را از بین میبرد و باید پس از پشتیبانگیری انجام شود. هیچ جدول محصولی هنگام حذف افزونه دستکاری نمیشود.
۹. عیبیابی
- منو دیده نمیشود: فعالبودن ووکامرس و نقش کاربری را بررسی کنید.
- خطای نشست/nonce: صفحه را تازه کنید، وارد حساب شوید و از سوابق ادامه دهید.
- هیچ محصولی یافت نشد: فیلترها، واحد پول، وضعیت انتشار و شناسهها را بررسی کنید.
- قیمت ویژه رد میشود: باید کمتر از عادی باشد؛ گزارش علت را بخوانید.
- خطای قفل: درخواست دیگری در حال اجراست یا میزبان GET_LOCK را پشتیبانی نمیکند.
- پاسخ نامعتبر/خطای سرور: لاگ PHP یا ووکامرس و محدودیت میزبان را بررسی کنید؛ از سوابق ادامه دهید و پیشنمایش تکراری را بدون بررسی اجرا نکنید.