WooCommerce
ثبّت إضافة SeekGist على ووردبريس مع WooCommerce.
تعمل إضافة SeekGist مع ووردبريس 6.5 أو أحدث وWooCommerce 8.0 أو أحدث، على PHP 7.4 أو أحدث مع cURL. جُرّبت على ووردبريس 7.1.3 وWooCommerce 11.2.1 وPHP 7.4.33 و8.3، مع قالب Storefront. وتعمل مع أي قالب يستخدم صفحة البحث عن المنتجات في WooCommerce.
1. احصل على مفاتيحك
أنشئ متجرك في لوحة تحكم SeekGist، ثم افتح الإعدادات > مفاتيح API. تحتاج إلى:
- مفتاح عام (
sg_pub_...): آمن في صفحات الويب. يستخدمه البحث والاقتراحات والأحداث. - مفتاح سري (
sg_sec_...): للخادم فقط. تستخدمه مزامنة المنتجات والترجمات.
2. ثبّت الإضافة
- في ووردبريس، افتح Plugins > Add New Plugin > Upload Plugin.
- اختر
seekgist-search-1.0.0.zipواضغط Install Now، ثم Activate Plugin.
تضيف الإضافة أربعة جداول صغيرة (wp_seekgist_*) ومهمة WP-Cron كل 5 دقائق.
3. الإعدادات
افتح WooCommerce > SeekGist.
| الإعداد | ماذا تضع |
|---|---|
| Use SeekGist | تشغيل. والإيقاف يعني بحث متجرك نفسه فورًا. |
| API address | https://api.seekgist.com (أبقِ القيمة الافتراضية) |
| Public key / Secret key | مفتاحاك. لا يُعرض المفتاح السري مرة أخرى أبدًا. |
| Search results | تشغيل: يرتّب SeekGist صفحة البحث عن المنتجات، ويعرض قالبك المنتجات. |
| Suggest box | تشغيل: اقتراحات ومنتجات أثناء كتابة المتسوق. |
| Click and sales tracking | تشغيل: النقرات والإضافة إلى السلة والطلبات القادمة من البحث. لا تُرسل أي بيانات شخصية. |
| Product sync | تشغيل: تُرسل المنتجات عند تغيّرها وكل 5 دقائق. |
| AI query understanding | إيقاف (الأسرع). نادرًا ما يتسع الذكاء الاصطناعي لمهلة 300 ملّي ثانية في صفحة النتائج. |
| Only in-stock products | فعّله أيضًا إذا كان WooCommerce يخفي المنتجات غير المتوفرة. |
| Search box selector | الفراغ يناسب معظم القوالب (input[name="s"]). |
| Catalog language | الفراغ يعني لغة الموقع. |
| Write back translations for | مثلًا ar. اتركه فارغًا إذا كنت لا تستخدم ترجمات SeekGist. |
يمكنك إبقاء المفتاح السري خارج قاعدة البيانات، بإضافته إلى wp-config.php:
define('SEEKGIST_SECRET_KEY', 'sg_sec_...');اضغط Save settings، ثم Test connection. يجب أن ترى «Public key: OK» و«Secret key: OK»، ويظهر المتجر في لوحة تحكم SeekGist. ثم اضغط Sync all products now.
4. جدول ثابت (مستحسن)
لا يعمل WP-Cron إلا عندما يكون في الموقع زوار. للحصول على جدول ثابت كل 5 دقائق، أضف أحد هذين السطرين إلى مهمة cron حقيقية (تعرض صفحة الإدارة عنوانك ورمزك):
*/5 * * * * curl -fsS "https://your-shop.example/wp-json/seekgist/v1/cron?token=...&task=all" >/dev/null
*/5 * * * * wp seekgist cron --path=/path/to/wordpressكيف تعمل
- يبقى رابط صفحة البحث كما هو (
/?s=...&post_type=product). يختار SeekGist المنتجات ويرتّبها، ويعرض WooCommerce وقالبك بطاقات المنتجات الخاصة بهما، فتبقى الأسعار وأسعار التخفيض وعرض الضرائب والأسعار القادمة من إضافات أخرى صحيحة. - إذا كان SeekGist بطيئًا (أكثر من 300 ملّي ثانية) أو رد بأي خطأ، يجيب بحث متجرك نفسه عن ذلك البحث فورًا. وبعد 5 أخطاء خلال 60 ثانية يُتجاوز SeekGist لمدة 30 ثانية. راجع الرجوع إلى بحث المتجر.
- مع مرشّح من التصفية الجانبية (السعر، الخاصية، التقييم) أو ترتيب لا يقدّمه SeekGist هنا (الأكثر شعبية، التقييم)، يخدم بحث المتجر نفسه.
- تُحسب الإضافة إلى السلة والطلبات على خادمك وتُرسل لاحقًا عبر المهمة المجدولة، فلا تنتظر السلة ولا صفحة الدفع SeekGist أبدًا.
- الترجمات: مع Polylang أو WPML، تذهب النصوص العربية المعتمدة إلى النسخة العربية من المنتج (إن وُجدت). ودونهما تُحفظ في بيانات المنتج الإضافية (
_seekgist_name_ar،_seekgist_description_ar). ولا يُستبدل أبدًا نص كتبه شخص.
أوامر WP-CLI
wp seekgist test # اختبار الاتصال
wp seekgist cron --task=full # مزامنة كاملة الآن (all | delta | full | outbox | writeback)
wp seekgist status # أرقام صفحة الإدارة بصيغة JSON
wp seekgist products --ids=12,13 # المنتجات كما يستلمها SeekGist تمامًاالإزالة
التعطيل يوقف الجدول. والحذف يزيل جداول الإضافة وإعداداتها. أما الترجمات التي كتبتها في المنتجات فتبقى (أصبحت من محتوى متجرك). وتبقى المنتجات في SeekGist حتى تحذفها من لوحة تحكم SeekGist.
مشكلات وحلول
| ما تراه | ماذا تفعل |
|---|---|
| «Public key: not accepted» | انسخ المفتاح مرة أخرى من لوحة التحكم، وتحقق من عنوان API. |
| البحث كما كان من قبل | هل «Use SeekGist» مفعّل والمفتاح العام مضبوط؟ ترويسة الرد X-SeekGist-Search تبيّن السبب (ok، off، native_filter، fallback_timeout وغيرها). |
| عدد «Fallbacks to the store search» يزيد | كان SeekGist بطيئًا أو متوقفًا، فخدم بحث متجرك. راجع صفحة الحالة. |
| منتجات ناقصة في SeekGist | اضغط «Sync all products now» واقرأ الرسالة. لا تُرسل المسودات ولا المنتجات الخاصة ولا المحذوفة. |