پیشنیازها و سازگاری
حداقل نسخههای وردپرس، PHP و المنتور برای افزونهی WidgetCore، جدول سازگاری آزمایششده، و نکات میزبانی مانند REST API و کش.
پیش از نصب، این صفحه را یک بار مرور کنید. همهی مقادیر اینجا همان مقادیری است که در هدر فایل اصلی افزونه (widgetcore.php) ثبت شدهاند.
حداقلها
| مورد | حداقل | توضیح |
|---|---|---|
| وردپرس | 6.7 | در هدر افزونه با Requires at least اعلام شده است |
| PHP | 7.4 | با Requires PHP اعلام شده است |
| المنتور | فعال و نصبشده | با Requires Plugins: elementor؛ بدون آن ویجتها ثبت نمیشوند |
| Elementor tested up to | 4.3.2 | آخرین نسخهای که افزونه با آن آزمایش شده است |
سازگاری آزمایششده
| وردپرس | المنتور | وضعیت |
|---|---|---|
| 7.1.2 | 4.3.2 | آزمایششده و تأییدشده |
| 6.7.4 | 4.0.8 | آزمایششده و تأییدشده |
آنچه در سمت سرور لازم است
REST API فعال
جستجوی زنده نتایج را از مسیر /wp-json/wgcr/v1/search میگیرد. اگر REST API وردپرس با افزونهی دیگری یا با قوانین امنیتی مسدود شده باشد، جستجو پیام خطا نشان میدهد. بررسی سریع:
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 | کاهش حرکت انیمیشنها | انیمیشنها کامل اجرا میشوند |
موارد پشتیبانینشده
بررسی سریع قبل از نصب
نسخهی وردپرس و PHP را ببینید
در «پیشخوان → ابزارها → سلامت سایت» هر دو مقدار نمایش داده میشود.
المنتور را فعال کنید
بدون آن، دستهی «ویجتهای WidgetCore» در ویرایشگر ظاهر نمیشود.
REST API را آزمایش کنید
آدرس
/wp-json/را در مرورگر باز کنید؛ باید JSON ببینید.بسته را نصب کنید
طبق راهنمای نصب و فعالسازی.