Skip to content

DashWoo 1.4.0

Choose a tag to compare

@obsifox obsifox released this 21 Sep 12:22
· 4 commits to main since this release

DashWoo 1.4.0 — پنل دوکارتی، قالب‌ها، و المان‌های بدون دیزاین خودکار

این نسخه پنج چیزی را که بعد از ۱.۳.۱ گفتید، انجام می‌دهد: هیچ المانی دیزاین خودکار
ندارد، فقط یک گروه DashWoo در المنتور دیده می‌شود، هر المان کامل قابل نمایش/پنهان‌کردن
است، کارت دوم پنل حساب کاربری ساخته شد، و محتوای هر بخش از روی قالب رندر می‌شود.
هویت برند DashWoo و کارت معرفی محصول (webp) هم اضافه شد.

۱) هیچ دیزاین خودکاری داخل المان نیست

  • کلید اصلی: «حساب کاربری → دیزاین» → «CSS خودکار DashWoo». خاموش باشد، بستهٔ استایل
    DashWoo (assets/css/account.css) هرگز بارگذاری نمی‌شود.
  • کنارِ خاموش‌کردن، یک ریست خنثی اختیاری (box-sizing و پاک‌کردن پیش‌فرض‌ها) هست؛ نه رنگ،
    نه فاصله، نه گوشه.
  • تزریق متغیرهای --dw-acc-* هم جدا قابل خاموش‌کردن است.
  • هر ابزارک یک مود «مارک‌آپ خام» (dw-acc--bare) دارد: بدون هیچ کلاس تزئینی، فقط ساختار و
    کلاس‌های معنایی. هر کلاس و هر متغیر --dw-acc-* را در Elementor «Advanced → CSS Classes»
    یا «Custom CSS» خودتان می‌دهید.

نتیجه: حالا المان‌ها همان‌طور که خواستید «خام» بیرون می‌آیند و شما دیزاین را تعیین می‌کنید.

۲) یک گروه DashWoo در المنتور (به‌جای دو گروه)

پنل المنتور قبلاً «dashwoo» و «dashwoo | dashwoo حساب کاربری» را کنار هم نشان می‌داد. علتش
دو مسیر ثبت مستقل بود. حالا:

  • یک فهرست ابزارک در Account\Elementor_Bridge::widget_classes() تعریف می‌شود و همان یک
    فهرست هم روی قلاب جدید المنتور و هم روی قلاب قدیمی (elementor/widgets/widgets_registered)
    ثبت می‌شود؛
  • تنها یک دستهٔ «DashWoo» وجود دارد (۱۲ ابزارک حساب کاربری + آیکون)؛ دسته‌های اضافی فقط اگر
    با فیلتر dashwoo_elementor_extra_categories خودتان بخواهید ساخته می‌شوند.

۳) هر المان: چه چیزی نمایش داده شود و چه چیزی نه

هر ابزارک حساب کاربری یک بخش تازهٔ «چه چیزی نمایش داده شود» دارد:

  • نمایش/پنهان‌کردن خودِ المان؛
  • تک‌تک اجزا: آیکون‌ها، عنوان، اطلاعات کنار عنوان (تعداد/تاریخ)، شمارنده، توضیح کوتاه، آواتار،
    فلش‌ها، دکمهٔ اقدام؛
  • برای چه کسانی: همه / فقط کاربران واردشده / فقط مدیران سایت؛
  • پنهان در: دسکتاپ / تبلت / موبایل (کلاس‌های dw-hide-*)؛
  • منوی حساب کاربری dw_icon_position (آیکون قبل یا بعد از متن) دارد.

منو پیش‌فرض بدون استایل است و کاملاً قابل ویرایش: ردیف‌های ریپیتر (id، برچسب، آیکون،
نمایش/پنهان، شمارنده، و نشانی دلخواه — لینک‌های بیرونی خودشان target="_blank" می‌گیرند)،
و شکل‌های plain (خام) / menu / tabs / rail.

۴) کارت دوم پنل حساب کاربری

  • پنل حالا دو کارت است: کارت منو (dw-acc__panel-aside) کنار کارت محتوا
    (dw-acc__panel-main)؛ اندازه و فاصلهٔ کارت منو با دو متغیر
    --dw-acc-panel-aside و --dw-acc-panel-gap کنترل می‌شود (قابل تنظیم در تنظیمات و ویجت).
  • کلیک روی «سفارش‌ها» → همان endpoint از طریق مسیر REST خودِ سایت
    (dashwoo/v1/account/panel) خوانده می‌شود و فقط داخل کارت محتوا می‌نشیند؛ آدرس صفحه
    هم همگام می‌شود (اگر خواسته باشید). دقیقاً همان کارکرد قبلی، این بار بدون رفرش کل صفحه.
  • کلیک روی هر ردیف سفارش → جزئیات همان سفارش (view-order/<id>) در همان کارت، با دکمهٔ
    «بازگشت به سفارش‌ها».
  • سه حالت: swap (پیش‌فرض)، modal (جزئیات روی صفحه) و stacked.
  • بدون جاوااسکریپت هم کار می‌کند: همهٔ لینک‌ها href واقعی دارند؛ اسکریپت فقط آن را
    بهبود می‌دهد. صفحه‌بندی هم داخل کارت می‌ماند (dw_page).
  • مهمان: کارت محتوا پیام ورود نشان می‌دهد، منو مثل فهرست مطالب می‌ماند و هیچ داده‌ای لو
    نمی‌رود. مالکیت سفارش بررسی می‌شود: مشتری هرگز سفارش دیگری را نمی‌بیند.

۵) قالب‌ها (Template)

  • Account\Templates: ۱۱ بخش (منو، پیشخوان، سفارش‌ها، جزئیات سفارش، دانلودها، آدرس‌ها،
    پرداخت، جزئیات حساب، پروفایل، فرم‌ها، خروج) و برای هر بخش دست‌کم دو شکل
    (کارت، جمع‌وجور، جدول، خط زمانی، شبکه، فهرست، دکمه، خام).
  • انتخاب قالب در تنظیمات → حساب کاربری → قالب‌ها برای هر بخش، و در خود ویجت
    («پیش‌فرض تنظیمات» = بازگشت به قالب پیش‌فرض).
  • بازنویسی از پوسته: فایل‌های شما مقدم‌اند —
    wp-content/themes/<پوسته>/dashwoo/account/orders--table.php (و فیلتر
    dashwoo_account_template_candidates).
  • ابزارک‌های endpoint دو کلید تازه دارند: منبع محتوا (auto / native / dashwoo) و
    قالب.

هویت DashWoo و کارت معرفی محصول

  • لوگو و نشان برند: logo.svg، logo-dark.svg، logo-mark.svg (هر دو کارت پنل در نشان
    دیده می‌شود)، آیکون‌های ۲۵۶ و ۵۱۲، و پالت همراستا با توکن‌های دیزاین
    (Account\Brand::palette()).
  • کارت معرفی محصول برای سمت پابلیک/فوتر فروشگاه، با فرمت webp و متن فارسی:
    product-card.webp، product-wide.webp، product-square.webp
    (همه محلی، بدون هیچ درخواست بیرونی).
  • تب تازهٔ DashWoo در انتخاب‌گر آیکون المنتور با همان نشان و لوگوها.

کیفیت و آزمون

قلم مقدار
آزمون‌ها ۴۵۴ آزمون / ۵۰۵۷ assertion — همه سبز (۳۸ بخش / ۲۲۰ فیلد تنظیمات)
آزمون تازهٔ سرور AccountPanelTemplatesTest + AccountPanelScriptTest (قرارداد اسکریپت ↔ مارک‌آپ)
آزمون مرورگر (اختیاری) tests/js/panel.js — همان فایل JS داخل DOM واقعی (node + jsdom): ۳۵ بررسی، PASS
لینت PASS — ۲۲۷ بررسی خودکار، ۰ اشکال (سینتکس جاوااسکریپت هم گِیت شده)
بسته dashwoo-1.4.0.zip با BUILD-MANIFEST.txt و تأیید verify-build (۰ خطا)

سه ایراد واقعی که در همین نسخه پیدا و رفع شد: مقدار CSS بارگذاری (data-dw-loading) با متن
بارگذاری قاطی می‌شد؛ کلیک روی صفحه‌بندی داخل کارت می‌توانست به «پیشخوان» بپردازد (تطبیق آدرس
کوتاه‌ترین پیشوند را می‌گرفت)؛ و خاموش‌کردن «عنوان» در ویجت‌های endpoint اثری نداشت، چون
رندرکننده همیشه عنوان پیش‌فرض endpoint را برمی‌گرداند.