الخروج من The Events Calendar: ما ينقل وما ينكسر

الخروج من The Events Calendar: ما ينقل وما ينكسر

سعر The Events Calendar Pro بقى يبدأ من 259 دولارًا في السنة بعد استحواذ Liquid Web، ولو موقعك مستخدم منها تقويم وشوية فعاليات متكررة بس، فالسؤال مشروع تمامًا: هي مستاهلة التجديد؟

قبل ما تضغط “إلغاء”، محتاج تعرف بياناتك مخزّنة فين، وإيه اللي بيتكسر لو نقلتها. ده الجزء اللي بيحدد إذا كان النقل نص ساعة ولا أسبوع شغل.

أين تعيش بياناتك بالضبط

الفعاليات مقالات عادية من نوع tribe_events، والمواعيد داخل حقول ووردبريس للمحتوى المؤرخ مثل التدوينات والأخبار والشروحات. تُرتّب زمنيًا وتُنظَّم بالتصنيفات والوسوم وتظهر في الأرشيف وخلاصات RSS، بخلاف الصفحات الثابتة.">المقالة (الإضافات لحفظ بيانات مثل تاريخ الفعالية أو سعر المنتج بعيدًا عن المحتوى الأساسي للمقالة.">Post Meta) بالأسماء التالية: _EventStartDate و_EventEndDate و_EventTimezone و_EventAllDay.

أما الأماكن والمنظّمون فلكل منهما نوع محتوى مخصص خاص به: tribe_venue وtribe_organizer، ويُربطان بالفعالية عبر الحقلين _EventVenueID و_EventOrganizerID. والتصنيفات في التصنيف المخصص tribe_events_cat.

الفعاليات المتكررة هي الجزء الموجع

في الإصدار السادس من الإضافة مع النسخة Pro، تُخزَّن قاعدة التكرار في جدول مخصص باسم wp_tec_events كمجموعة قواعد بمعيار iCalendar، وليست في حقول المقالة.

أما مواقع الإصدار الخامس الأقدم فكانت تحفظ مصفوفة مُسلسَلة في الحقل _EventRecurrence، وبعضها ما زال يحتفظ بمقالة فرعية مولَّدة لكل موعد بجانب الفعالية الأصلية.

هذا الفرق وحده يحدد شكل الاستيراد، فراجع إصدارك قبل أن تبدأ.

التذاكر والحاضرون

إذا كنت تبيع تذاكر عبر Event Tickets، فهذه بياناتها أيضًا أنواع محتوى:

  • التذاكر: tribe_rsvp_tickets وtec_tc_ticket.
  • الحاضرون: tribe_rsvp_attendees وtec_tc_attendee.
  • الحاضر المدفوع يشير إلى طلبه عبر الحقل post_parent، وحالة الطلب هي حالة مقالة الطلب نفسها مثل tec-tc-completed وtec-tc-pending.

تنبيه: خذ نسخة احتياطية (Backup) من قاعدة البيانات قبل أي خطوة. بيانات التذاكر مرتبطة عبر post_parent، وأي استيراد يقطع هذا الربط يحوّل قائمة حاضرين سليمة إلى أسماء بلا طلبات.

أين تنكسر عملية النقل

1. سلسلة متكررة تتحول إلى مئات الفعاليات. إذا نقلت البيانات عبر تصدير عام، فتحقّق هل وصلت المحاضرة الأسبوعية كقاعدة واحدة أم كـ52 مقالة منفصلة. الحالة الثانية كابوس عند أول تعديل على الموعد.

2. مناطق زمنية مخزَّنة كفارق رقمي. إذا ضُبطت المنطقة الزمنية للموقع يومًا على صيغة مثل UTC+2 بدل اسم مدينة، فقد تُخزَّن المواعيد بهذا الشكل. والفارق الرقمي لا يعرف شيئًا عن التوقيت الصيفي، فتنزلق حصة السادسة مساءً إلى السابعة نصف العام. حوّل الفوارق إلى منطقة زمنية باسم مدينة مثل Africa/Cairo أو Asia/Riyadh.

3. أكواد قصيرة وبلوكات متروكة. محتوى الفعاليات غالبًا يحتوي على أكواد قصيرة (Shortcode) مثل [tribe_events] وبلوكات من نوع tribe/*. بعد تعطيل الإضافة يظهر الكود القصير كنص خام أمام الزائر، والبلوكات لا تعرض شيئًا. نظّفها قبل التعطيل.

4. الروابط القديمة. صفحة الفعالية المفردة تحتفظ عادة بالشكل /event/slug/، لكن صفحات التصنيفات وطرق عرض التقويم تعيش تحت /events/category/... و/events/month/. هذه ترجع 404 بعد التحويل إن لم يوجّهها شيء، وهي زيارات بحث تعبت في تحصيلها.

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

ملاحظة: النقطة الخامسة مهمة بشكل خاص في مصر، لأن نسبة كبيرة من الحجوزات تُنشأ ثم لا تُدفع، خصوصًا مع الدفع عند الاستلام (COD) أو التحويل اليدوي عبر Fawry. راجع حالة الطلب لا وجود الحاضر.

قائمة تحقّق تصمد على أرض الواقع

الترتيب نفسه هو الحماية:

  1. خذ نسخة احتياطية من قاعدة البيانات، ونفّذها فعلًا لا تكتبها في القائمة فقط.
  2. ثبّت الإضافة الجديدة مع بقاء The Events Calendar مفعّلة وشغّل الاستيراد، ولا تحذف شيئًا من بيانات الإضافة القديمة أثناء الفحص.
  3. افحص ثلاث حالات: سلسلة متكررة واحدة، وفعالية في منطقة زمنية مختلفة، وفعالية لها تذاكر.
  4. عطّل الإضافة القديمة، ثم اضغط على عدد من الروابط القديمة بما فيها صفحة تصنيف.
  5. بعد ذلك فقط ألغِ التجديد.

الخطوة الخامسة في آخر القائمة لسبب: طالما الاشتراك ساري فبإمكانك التراجع وإعادة تفعيل الإضافة القديمة بلا تكلفة إضافية.

الخيارات المتاحة أمامك

المقال الأصلي يعرض إضافة Beacon Events المجانية على wordpress.org، وكاتبه يصرّح بأنه من بناها. الفعاليات المتكررة مجانية فيها بما يشمل إلغاء أو نقل موعد واحد من السلسلة، وأداة الاستيراد تقرأ بيانات The Events Calendar الموصوفة أعلاه وتنظّف الأكواد القصيرة والبلوكات وتحوّل روابط التصنيفات والعرض القديمة. وتدعم كذلك الاستيراد من Events Manager ومن ملفات CSV. إضافتها المدفوعة بـ49 دولارًا سنويًا (حوالي 2,400 جنيه بسعر تقريبي) هي التي تنقل التذاكر والحاضرين.

بصراحة: هذا رأي كاتب المقال في إضافته الخاصة وقد أعلنه صراحة، والتفاصيل التقنية تنطبق على أي أداة تختارها. جرّب أي بديل على نسخة اختبار (Staging) بنفس بياناتك قبل القرار، فالفارق بين إضافة تقرأ قاعدة التكرار وإضافة تستورد 52 مقالة لا يظهر إلا عند التجربة.

في JetEngine: لو مشروعك على Elementor Pro مع JetEngine بالفعل، فبناء الفعاليات كنوع محتوى مخصص مع حقول تاريخ وعرضها بـ Listing Grid يعطيك حرية كاملة في التصميم وبلا رسوم سنوية. لكن كن واقعيًا في التقدير: منطق الفعاليات المتكررة، واستثناء موعد واحد من سلسلة، ومزامنة ICS كلها أشياء ستكتبها بنفسك. هذا الطريق منطقي لتقويم بسيط، وغير منطقي لموقع يبيع تذاكر.

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

س: هل تختفي فعالياتي إذا ألغيت اشتراك النسخة Pro؟

ج: النسخة المجانية من الإضافة تبقى تعمل وتعرض الفعاليات العادية، لكن ميزات النسخة Pro ومنها الفعاليات المتكررة تتوقف. لذلك يجب أن يكون النقل والفحص قبل إلغاء التجديد لا بعده.

س: كيف أعرف هل موقعي على الإصدار الخامس أم السادس؟

ج: من صفحة الإضافات في لوحة التحكم. الفرق عملي: الإصدار السادس يخزّن قاعدة التكرار في جدول wp_tec_events، والخامس يخزّنها في الحقل _EventRecurrence، وأداة الاستيراد تحتاج معرفة أيّهما.

س: ما الذي يجب أن أنقله فعلًا؟

ج: الفعاليات والأماكن والمنظّمون والتصنيفات والصور وقواعد التكرار كحدّ أدنى. التذاكر والحاضرون طبقة منفصلة، وغالبًا تتطلب أداة مدفوعة أو عملًا يدويًا.

س: لماذا تظهر أكواد مثل [tribe_events] كنص في صفحاتي؟

ج: لأن الإضافة التي كانت تفسّرها صارت معطّلة. ابحث في محتوى المقالات عن هذه الأكواد وعن بلوكات tribe/* وامسحها أو استبدلها بما يقابلها في الإضافة الجديدة.

س: هل أحتاج مبرمجًا لهذه العملية؟

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

الخلاصة

قرار الخروج من The Events Calendar ليس قرار سعر فقط، بل قرار بيانات. الفعاليات والأماكن والتصنيفات تنتقل بسهولة، والموجع هو قواعد التكرار والمناطق الزمنية والتذاكر والروابط القديمة.

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

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

مرجع المقال (بالإنجليزية): Moving off The Events Calendar: what has to come across, and what breaks
المقال ده مش ترجمة حرفية: متكيّف للقارئ العربي ومضاف عليه سياق ووردبريس وElementor وJetEngine.

اترك تعليقاً