مزامنة الأسعار في WooCommerce داخل معاينة WhatsApp

تعني مزامنة الأسعار في WooCommerce داخل معاينة WhatsApp أن الرقم الظاهر على البطاقة يُستمد من كتالوجك في لحظة إنشاء البطاقة — لا أن يكون مطبوعًا داخل صورة أنشأها أحدهم مرة واحدة. وعندما يتحقق ذلك، يبقى سؤال واحد فقط هو متى تعيد WhatsApp قراءة الرابط، وهذا هو الأمر الوحيد الذي لا تستطيع أي متجر التحكم فيه.

الإجابة المختصرة

لا يمكن أن يظهر السعر في المعاينة إلا إذا كانت الصورة مبنية من بيانات المنتج الحيّة. فالصورة البارزة الثابتة لا تحتوي على سعر لعرضه، أبدًا؛ والبطاقة المصمَّمة مرة واحدة تحمل السعر الذي كان لديها في ذلك اليوم. ولا يوفّر WooCommerce افتراضيًا أي صورة موسومة بالسعر، لذا فإن شكوى «السعر القديم في المعاينة» هي في الحقيقة سؤالان:

  1. هل تعرف البطاقة السعر الحالي؟ — قرار تصميمي، وهو القرار الذي يمكنك إصلاحه.
  2. هل أعادت المنصّة قراءة الصفحة منذ تغيّر السعر؟ — هذه ساعة WhatsApp، لا ساعتك.

لماذا تصبح الأسعار قديمة

السبب ما تراه لماذا يحدث
تشير الوسوم إلى الصورة البارزة لا يوجد سعر على الإطلاق لا تحتوي صورة المنتج على سعر
أُنشئت البطاقة مرة واحدة السعر من يوم التصميم لا شيء يعيد توليدها
انتهى عرض تخفيض شطب على خصم انتهى لا تزال الصورة تحمل الشارة القديمة
ذاكرة التخزين المؤقت للصفحة تقدّم HTML قديمًا البطاقة القديمة، مجددًا لا يرى الزاحف عنوان og:image URL الجديد أبدًا

الثلاثة الأولى فقط تتعلق بالبطاقة. أما الرابع فيتعلق بطبقة التخزين المؤقت لديك، ويبدو مطابقًا من الخارج — ولهذا يهم ترتيب الفحص في تحديث فوري لصورة WhatsApp في WooCommerce.

ما تقرأه البطاقة المتزامنة فعليًا

يوقّع FastOG عنوان URL لصورة الغلاف لكل طلب، وتأتي الخصائص من المنتج الحيّ:

عنصر البطاقة المصدر ملاحظة
السعر get_price() في منتج مخفَّض يكون هذا هو سعر العرض
سعر المقارنة ("كان") السعر العادي يُرسَل فقط عندما يكون المنتج معروضًا للبيع فعليًا — فسعر "كان" مساوٍ للسعر الحالي هو شطب لم يستحقه أحد
شارة العرض حالة العرض الخاصة بالمنتج تظهر وتختفي مع العرض
المخزون حالة المخزون يعكس الكتالوج وقت العرض
الصورة الصورة البارزة أولًا، ثم المعرض تُركَّب داخل البطاقة، ولا تقتطعها المنصة

هذا هو الفرق بين "ديناميكي" وديناميكي فعليًا: فالقيم ليست عناصر نائبة ملأها مصمم، بل تُقرأ من متجرك في كل مرة تُبنى فيها بطاقة.

كيف تعمل المزامنة في الاتجاهين

الكتالوج ← البطاقة. تُقرأ كل قيمة أعلاه وقت العرض. غيّر السعر وستظهر القيمة الجديدة في العرض التالي؛ لا توجد خطوة تصدير ولا ملف لإعادة رفعه.

البطاقة ← ذاكرة التخزين المؤقت. تنتقل كل قيمة أيضًا داخل عنوان URL الموقّع للغلاف. لذا فإن تعديل السعر يغيّر عنوان URL — ما يعني أن الصورة القديمة لم تعد قابلة للعنونة، وليس لدى CDN أي محتوى قديم يقدّمه، ولا حاجة إلى كسر ذاكرة التخزين المؤقت. لا يعمل أي شيء آخر في هذه الفئة بهذه الطريقة، لأن الإضافة المستضافة ذاتيًا تربط صورتها باسم ملف لا يتغيّر أبدًا.

البطاقة ← Facebook. يؤدي حفظ منتج إلى إطلاق webhook product.updated الأصلي في WooCommerce، وتضع FastOG إعادة كشط Meta لذلك المنتج في قائمة الانتظار عبر permalink الخاص به، فيستبدل Facebook البطاقة المخزّنة مؤقتًا بدلًا من الانتظار أسابيع. راجع فرض تحديث ذاكرة التخزين المؤقت لـ Open Graph على Facebook.

البطاقة ← WhatsApp. لا يمكن دفع أي شيء. البطاقة الصحيحة في انتظار القراءة التالية.

حالة الحافة الخاصة بالبيع المجدول

إن البيع الذي يبدأ عند منتصف الليل دون أن يمسّ أحد المنتج لا يُطلق أي webhook على الإطلاق — وهو تفصيل يهدم كل تصميم يقوم على مبدأ "نحدّث عند الحفظ"، بما في ذلك تنبيه Facebook لدينا.

ما ينقذ البطاقة هو أنها لا تُولَّد مسبقًا: إذ تُبنى صورة الغلاف عند الطلب من بيانات الكتالوج الحالية، لذا فإن أول جلب بعد منتصف الليل يُظهر سعر البيع والشارة بالفعل. لا يمكن للرقم القديم أن يبقى إلا في ذاكرة التخزين المؤقت للمعاينة لدى المنصة، حيث سيُستبدل وفق الجدولة الخاصة بتلك المنصة. البطاقة التي تُعرَض بدلًا من تصديرها هي النوع الوحيد الذي ينجو من بيع لم يحفظه أحد.

تحقق من أن الرقم متزامن

السعر ظاهر في رابط الغلاف نفسه، ما يجعل هذا التحقق ممكنًا دون مصحّح أخطاء:

bash
# What the page is serving right now
curl -s https://your-store.com/product/example | grep -o 'og:image[^>]*' | head -1

# Open that cover URL in a browser and compare the number against the product page.

إذا كانت معاملات الرابط والبطاقة المعروضة تحملان السعر الحالي، وكانت صفحة المنتج تعرض السعر نفسه، فجانب المتجر متزامن، وأي تقادم متبقٍّ سببه ذاكرة التخزين المؤقت للمنصة. أما إذا كان الرابط لا يزال يحمل السعر القديم، فإن ذاكرة التخزين المؤقت للصفحة تقدّم HTML يعود لما قبل التعديل — فامسحها.

لمعاينة ذلك من البداية إلى النهاية، ألصق رابط منتج في See Your Links The Way Buyers Do: فهو يقرأ الوسوم الحية ويعرض غلافًا من بيانات المنتج نفسها، جنبًا إلى جنب مع ما ستعرضه المنصات اليوم.

الأسئلة الشائعة

قدّم og:image يحتوي على السعر — أي صورة مولّدة من كتالوجك، لا صورة ثابتة. يعرض WhatsApp أياً كانت الصورة التي تشير إليها الوسم، بمقاس 1200×630؛ ولا يظهر السعر إلا إذا كان مرسوماً داخل تلك الصورة.

لماذا لا تزال المعاينة تُظهر السعر القديم بعد انتهاء التخفيضات؟

سببان محتملان: الصورة التي تقدّمها الصفحة لم تتغيّر (ذاكرة التخزين المؤقت للصفحة، أو صورة ثابتة)، أو أن WhatsApp يعرض معاينة مخزّنة مؤقتاً من قبل التعديل. تحقّق أولاً من عنوان URL الحالي لـ og:image — فإن كان سعره قديماً أيضاً فالمشكلة في المتجر؛ وإن كان محدّثاً فالمشكلة في WhatsApp.

هل تعرض البطاقة سعر التخفيض أم السعر العادي؟

سعر التخفيض — وهو ما يُبلّغ عنه WooCommerce بوصفه السعر الحالي — مع السعر العادي إلى جانبه بوصفه سعر المقارنة، وذلك فقط عندما يكون المنتج معروضاً للتخفيض فعلاً.

هل ترسم جميع الخطط السعر وشارة التخفيض؟

نعم. حقول القالب غير مقيّدة بفئة معيّنة على FastOG: السعر وسعر المقارنة وشارات المخزون متاحة في كل خطة. تختلف الخطط بأنواع الصفحات وحدّ العناصر واتساع القوالب، لا بما يمكن أن تعرضه صورة الغلاف.

بالنسبة إلى Facebook، يطلب FastOG إعادة كشط بعد تحديث المنتج. أما WhatsApp وLinkedIn وX فتحدث القراءة التالية وفق الجدول الزمني الخاص بكل منصة؛ ولا يُدّعى وجود ضمان توقيت عام أو API تحديث برمجي لتلك المنصات.

ماذا لو غيّرت السعر دون تغيير القالب؟

هذه هي الحالة المعتادة وهي تعمل: القالب يحدّد التخطيط، والكتالوج يوفّر القيم. لا حاجة إلى إعادة تصميم ولا إلى إعادة تصدير أي صورة.

فقط طالما بقيت معاينة إحدى المنصات المخزّنة مؤقتاً. يتغيّر عنوان URL للغلاف مع الكتالوج، لذا تحصل أول قراءة جديدة على بطاقة ما بعد التخفيضات.

هل توجد خطة مجانية؟

نعم. تغطي فئة Community المجانية حتى 100 عنصر عبر صفحات المنتجات والفئات والمتجر ومقالات المدونة، مع خمسة قوالب أساسية إضافة إلى قوالب منتجات Black Friday وSeasonal Offer. أغلفتها نظيفة — لا تحمل أي خطة علامة مائية، بما فيها Community. تُصيَّر Community على خادم Community المشترك وتحدّها حدود معدّل المتجر/IP بدلاً من العلامة التجارية. تستخدم الخطط المدفوعة خادماً مخصّصاً منفصلاً عن Community، وترفع حدّ العناصر وتفتح قوالب وإمكانات إضافية (شارات التقييم من Starter، وربط الحقول المخصّصة (metafield) من Pro، والقواعد محدّدة النطاق والتصيير ذي الأولوية من Scale). تتضمّن الخطط المدفوعة فترة تجريبية مدتها 14 يوماً دون الحاجة إلى بطاقة ائتمان.

جرّبه مجانًا — لا حاجة للتسجيل

معاينة واختبار صور OG الديناميكية في ثوانٍ.

افتح أداة اختبار OG المجانية

From Us

A BeCaSimulations site