|
1 | | -# Smart Media Manager 🚀 |
| 1 | +# Smart Media & Database Optimizer 🚀 |
2 | 2 |
|
3 | | -افزونه **Smart Media Manager** یک جعبهابزار حرفهای، سبک و شیءگرا (OOP) برای سیستم مدیریت محتوای وردپرس است. این افزونه با هدف بهینهسازی تصاویر (سئو و سرعت)، مدیریت فضای هاست و ارتقای تجربه کاربری (UX) طراحی شده است. از تبدیل خودکار تصاویر به فرمتهای نسل جدید تا گالریهای لایتباکس پیشرفته، همه چیز در یک پنل مینیمال در اختیار شماست. |
| 3 | +افزونه **Smart Media & Database Optimizer** یک جعبهابزار حرفهای، سبک و شیءگرا (OOP) برای سیستم مدیریت محتوای وردپرس است. این افزونه با هدف بهینهسازی پیشرفته تصاویر (سئو و سرعت)، پاکسازی و یکپارچهسازی جداول دیتابیس MySQL (از جمله ووکامرس)، مدیریت فضای هاست و ارتقای تجربه کاربری (UX) طراحی شده است. تمام امکانات موردنیاز برای شتاببخشی به سایت در یک پنل مینیمال و ایجکس در اختیار شماست. |
4 | 4 |
|
5 | 5 | --- |
6 | 6 |
|
7 | | -## ✨ قابلیتهای کلیدی (امکانات جدید) |
| 7 | +## ✨ قابلیتهای کلیدی و امکانات پیشرفته |
8 | 8 |
|
9 | 9 | * **🔄 تبدیل خودکار به WebP و AVIF:** تبدیل هوشمند و در لحظه تصاویر آپلودی (JPEG/PNG) به فرمتهای فوقفشرده WebP یا AVIF جهت افزایش چشمگیر سرعت سایت و بهبود امتیاز Core Web Vitals. |
10 | 10 | * **🎛️ کنترل دقیق کیفیت (Compression Control):** امکان تعیین درصد کیفیت (۰ تا ۱۰۰) برای فرمتهای نسل جدید و همچنین قفل کردن کیفیت JPEG و PNG روی ۱۰۰٪ برای جلوگیری از افت کیفیت هنگام برش تصاویر. |
11 | 11 | * **🧠 بررسی هوشمند سرور:** آنالیز زنده سرور جهت بررسی فعال بودن اکستنشن `Imagick` و پشتیبانی از فرمتهای WebP/AVIF همراه با نمایش هشدارهای راهنما در پنل افزونه. |
12 | 12 | * **✂️ مدیریت ابعاد وردپرس (ISQM):** جلوگیری از ساخته شدن سایزهای اضافی و بلااستفاده توسط وردپرس و قالب برای صرفهجویی شدید در فضای هاست (Disk Space). |
| 13 | +* **🗄️ پاکسازی جامع دیتابیس (Database Janitor):** حذف امن رونوشتها (Revisions)، پیشنویسهای خودکار، متادیتاهای یتیم، دیدگاههای اسپم/زبالهدان، ترنزینتهای منقضیشده و برچسبهای بدون استفاده. |
| 14 | +* **⚙️ یکپارچهسازی و Defragment موتور InnoDB:** اجرای دستورات `OPTIMIZE` روی جداول کلیدی وردپرس جهت آزادسازی فضای بلوکهای هارد و نوسازی ایندکسها. |
| 15 | +* **🛒 مدیریت Action Scheduler ووکامرس:** پاکسازی فوری لاگهای تاریخگذشته ووکامرس و قابلیت تنظیم دلخواه دوره نگهداری خودکار (مثلاً ۲ روز به جای ۳۰ روز پیشفرض). |
| 16 | +* **📊 تحلیلگر زنده Autoload:** محاسبه آنی حجم کل رکوردهای Autoload در جدول `options` به همراه لیست ۱۰ گزینه سنگین و بحرانی. |
13 | 17 | * **🖼️ گالری پیشرفته Fancybox:** شناسایی خودکار تمامی گالریهای وردپرس و المنتور و نمایش آنها در قالب یک لایتباکس ریسپانسیو، مدرن و جذاب. |
14 | 18 | * **🛡️ سیستم جایگزینی هوشمند (Fallback):** جلوگیری از خطای تصاویر شکسته (404). در صورت موجود نبودن یک سایز خاص از تصویر در هاست، افزونه به طور خودکار نسخه اصلی را جایگزین میکند. |
15 | | -* **⚡ کش ترنزینت (Transient Cache):** کش هوشمند سایزهای تصاویر برای جلوگیری از درگیری دیتابیس با قابلیت تازهسازی (Flush) خودکار هنگام تغییر قالب یا نصب افزونههای جدید. |
16 | | -* **📝 مدیریت ویرایشگر:** امکان سوئیچ آسان بین ویرایشگر گوتنبرگ و ویرایشگر کلاسیک وردپرس. |
| 19 | +* **⚡ عملکرد غیرهمگام (AJAX UI):** ذخیره تنظیمات و پاکسازیهای دیتابیس بدون رفرش صفحه و به همراه پاپآپهای تأیید مدرن. |
17 | 20 |
|
18 | 21 | --- |
19 | 22 |
|
20 | 23 | ## 💻 ساختار کد و راهنمای توسعهدهندگان |
21 | 24 |
|
22 | | -این افزونه در **نسخه ۳.۰ به بالا** بهطور کامل بازنویسی شده و با رعایت سختگیرانهترین استانداردهای مخزن وردپرس (WordPress.org) توسعه یافته است. |
| 25 | +این افزونه بهطور کامل شیءگرا و با رعایت سختگیرانهترین استانداردهای مخزن وردپرس (WordPress.org) توسعه یافته است. |
23 | 26 |
|
24 | 27 | ### ۱. معماری شیءگرا و Namespace |
25 | | -افزونه از الگوی طراحی **Singleton** بهره میبرد و تمامی کدها در `namespace SmartMediaManager` ایزوله شدهاند تا از هرگونه تداخل (Conflict) با سایر افزونهها یا قالبها جلوگیری شود. |
| 28 | +افزونه از الگوی طراحی **Singleton** بهره میبرد و تمامی کدها در `namespace SmartMediaDatabaseOptimizer` ایزوله شدهاند تا از هرگونه تداخل (Conflict) با سایر افزونهها یا قالبها جلوگیری شود. |
26 | 29 |
|
27 | 30 | ### ۲. بهینهسازی دیتابیس (Autoload) |
28 | 31 | تمامی Optionهای مربوط به تنظیمات پنل با پارامتر `autoload = no` در دیتابیس ذخیره میشوند تا در سمت کاربر (Front-end) حافظه RAM سرور را اشغال نکنند. |
29 | 32 |
|
30 | 33 | ### ۳. مدیریت امن فایلسیستم (I/O) |
31 | | -تمامی عملیاتهای حذف و جایگزینی فایلها (تبدیل به فرمت جدید) بدون استفاده از توابع ناامن PHP (مثل `unlink` یا `is_writable`) و کاملاً از طریق توابع بومی وردپرس (`wp_delete_file`) انجام میشود. همچنین فرآیند تبدیل دارای مکانیسم هوشمند برای جلوگیری از حذف تصاویر همنام (تولید اسامی `-1` و `-2`) است. |
| 34 | +تمامی عملیاتهای حذف و جایگزینی فایلها بدون استفاده از توابع ناامن PHP (مثل `unlink` یا `is_writable`) و کاملاً از طریق توابع بومی وردپرس (`wp_delete_file`) انجام میشود. |
32 | 35 |
|
33 | 36 | ### ۴. سفارشیسازی Fancybox |
34 | 37 | کدهای مربوط به اجرای Fancybox از طریق ساختار `NOWDOC` در PHP تزریق میشوند. برای تغییر پارامترهای انیمیشن، دکمهها و... کافیست متد `enqueue_frontend_assets` را در کلاس `Plugin` شخصیسازی کنید. |
|
45 | 48 |
|
46 | 49 | از مشارکت توسعهدهندگان خوشذوق برای بهبود این پروژه متنباز استقبال میشود! مراحل مشارکت: |
47 | 50 |
|
48 | | -۱. ابتدا پروژه را Fork کنید. |
49 | | -۲. یک شاخه (Branch) جدید برای ویژگی یا رفع باگ خود بسازید: |
| 51 | +1. ابتدا پروژه را Fork کنید. |
| 52 | +2. یک شاخه (Branch) جدید برای ویژگی یا رفع باگ خود بسازید: |
50 | 53 | `git checkout -b feature/AmazingFeature` |
51 | | -۳. تغییرات خود را Commit کنید: |
| 54 | +3. تغییرات خود را Commit کنید: |
52 | 55 | `git commit -m 'Add some AmazingFeature'` |
53 | | -۴. به شاخه اصلی Push کنید: |
| 56 | +4. به شاخه اصلی Push کنید: |
54 | 57 | `git push origin feature/AmazingFeature` |
55 | | -۵. یک Pull Request باز کنید تا بررسی شود. |
| 58 | +5. یک Pull Request باز کنید تا بررسی شود. |
56 | 59 |
|
57 | 60 | --- |
58 | 61 |
|
59 | 62 | ## 🛠 نصب و راهاندازی |
60 | 63 |
|
61 | | -۱. سورس افزونه را دانلود کرده و پوشه آن را در مسیر `wp-content/plugins/` آپلود کنید. |
62 | | -۲. افزونه **Smart Media Manager** را از بخش «افزونهها» در پیشخوان وردپرس فعال کنید. |
63 | | -۳. از منوی کناری وردپرس به مسیر **رسانه > Smart Media Manager** بروید و تنظیمات دلخواه را اعمال کنید. |
| 64 | +1. سورس افزونه را دانلود کرده و پوشه آن را در مسیر `wp-content/plugins/` آپلود کنید. |
| 65 | +2. افزونه **Smart Media & Database Optimizer** را از بخش «افزونهها» در پیشخوان وردپرس فعال کنید. |
| 66 | +3. از منوی کناری پیشخوان به مسیر **بهینهساز هوشمند** بروید و تنظیمات دلخواه را اعمال کنید. |
64 | 67 |
|
65 | 68 | --- |
66 | 69 |
|
67 | 70 | ## 👨💻 توسعهدهنده |
68 | 71 | طراحی و توسعه توسط **امین ارجمند** |
69 | 72 | - [وبسایت شخصی](https://aminarjmand.com) |
| 73 | +- [سایت سازنده](https://mohandeseit.com) |
70 | 74 |
|
71 | 75 | ## 📄 لایسنس |
72 | 76 | این پروژه تحت لایسنس **GPLv2 or later** (استاندارد رسمی وردپرس) منتشر شده است و استفاده، تغییر و بازنشر آن برای همگان آزاد است. |
0 commit comments