WidgetCoreمستندات WidgetCore

پیش‌نیازها و سازگاری

حداقل نسخه‌های وردپرس، PHP و المنتور برای افزونه‌ی WidgetCore، جدول سازگاری آزمایش‌شده، و نکات میزبانی مانند REST API و کش.

پیش از نصب، این صفحه را یک بار مرور کنید. همه‌ی مقادیر اینجا همان مقادیری است که در هدر فایل اصلی افزونه (widgetcore.php) ثبت شده‌اند.

حداقل‌ها

موردحداقلتوضیح
وردپرس6.7در هدر افزونه با Requires at least اعلام شده است
PHP7.4با Requires PHP اعلام شده است
المنتورفعال و نصب‌شدهبا Requires Plugins: elementor؛ بدون آن ویجت‌ها ثبت نمی‌شوند
Elementor tested up to4.3.2آخرین نسخه‌ای که افزونه با آن آزمایش شده است

سازگاری آزمایش‌شده

وردپرسالمنتوروضعیت
7.1.24.3.2آزمایش‌شده و تأییدشده
6.7.44.0.8آزمایش‌شده و تأییدشده

آنچه در سمت سرور لازم است

REST API فعال

جستجوی زنده نتایج را از مسیر /wp-json/wgcr/v1/search می‌گیرد. اگر REST API وردپرس با افزونه‌ی دیگری یا با قوانین امنیتی مسدود شده باشد، جستجو پیام خطا نشان می‌دهد. بررسی سریع:

bash
curl -s "https://example.com/wp-json/wgcr/v1/search?q=سلام&limit=3"

پاسخ باید یک آرایه‌ی JSON از نتایج باشد. اگر rest_cannot_access یا صفحه‌ی خطا گرفتید، REST API مسدود است.

PHP با تابع‌های چندبایتی

پرس‌وجوی جستجو از mb_strlen استفاده می‌کند تا حداقل طول عبارت (2 نویسه) درست بررسی شود. این تابع در نصب‌های استاندارد PHP موجود است؛ اگر میزبان شما mbstring را غیرفعال کرده باشد، جستجو کار نمی‌کند.

کش صفحه

افزونه هیچ کش صفحه‌ای نصب نمی‌کند و با افزونه‌های کش سازگار است، چون درخواست جستجو همیشه به REST می‌رود و HTML صفحه کش‌شده روی آن اثری ندارد. دو نکته را در نظر داشته باشید:

  • اگر کش سمت سرور (مانند Varnish) هدرهای X-WP-Total و X-WP-TotalPages را حذف می‌کند، شماره‌ی صفحه‌ها در حالت صفحه‌بندی شماره‌ای درست نمایش داده نمی‌شود.
  • فایل‌های search.css و search.js با شماره‌ی نسخه‌ی افزونه (WGCR_VER) ثبت می‌شوند؛ بنابراین پس از هر به‌روزرسانی، مرورگر نسخه‌ی تازه را می‌گیرد و نیازی به خالی کردن دستی کش نیست.

زبان و جهت صفحه

زبانفایل ترجمهوضعیت
فارسیwidgetcore-fa_IR.moکامل، همراه بسته
انگلیسیwidgetcore-en_US.moکامل، همراه بسته
سایر زبان‌هاwidgetcore.potالگو برای ساخت ترجمه‌ی جدید

ترجمه‌ها در هوک init با اولویت 1 بارگذاری می‌شوند و ابتدا از مسیر سراسری wp-content/languages/plugins/ خوانده می‌شوند؛ یعنی اگر ترجمه‌ی شخصی‌سازی‌شده‌ی خودتان را آنجا بگذارید، بر ترجمه‌ی داخل بسته اولویت دارد. این رفتار در صفحه‌ی زبان و ترجمه توضیح داده شده است.

پشتیبانی از مرورگرها

ویجت‌ها از ویژگی‌های جاوااسکریپتی استفاده می‌کنند که در مرورگرهای به‌روز موجود است:

ویژگیکاربردجایگزین در صورت نبود
fetchدریافت نتایج جستجوپیام خطای دریافت نتایج
AbortControllerلغو درخواست قبلی هنگام تایپ سریعدرخواست‌ها به‌ترتیب پاسخ می‌گیرند
IntersectionObserverپیمایش بی‌نهایت در حالت «صفحه»بارگذاری با کلیک و شماره‌ی صفحه کار می‌کند
prefers-reduced-motionکاهش حرکت انیمیشن‌هاانیمیشن‌ها کامل اجرا می‌شوند

موارد پشتیبانی‌نشده

بررسی سریع قبل از نصب

  1. نسخه‌ی وردپرس و PHP را ببینید

    در «پیشخوان → ابزارها → سلامت سایت» هر دو مقدار نمایش داده می‌شود.

  2. المنتور را فعال کنید

    بدون آن، دسته‌ی «ویجت‌های WidgetCore» در ویرایشگر ظاهر نمی‌شود.

  3. REST API را آزمایش کنید

    آدرس /wp-json/ را در مرورگر باز کنید؛ باید JSON ببینید.

  4. بسته را نصب کنید

    طبق راهنمای نصب و فعال‌سازی.