السلام عليكم ..
تحدث هذه المشكلة لأن زين فورو (XenForo) يقوم بتخزين نص المشاركة المقتبسة كـ نص ثابت (Hardcoded) داخل كود الـ BBCode الخاص بالاقتباس لحظة إضافته (على سبيل المثال:
كود:
[QUOTE="OldName, post: 1234"]).
عند تغيير اسم المستخدم لاحقاً، لا يقوم المنتدى بتحديث النصوص القديمة داخل المشاركات المخزنة في قاعدة البيانات بشكل تلقائي تجنباً لإجهاد الخادم.
لحل هذه المشكلة وتحديث الاسم في الاقتباسات القديمة، يمكنك استخدام أحد الحلول التالية:
1. تشغيل أمر الاستبدال عبر قاعدة البيانات (SQL Query)
إذا كنت تمتلك صلاحية الوصول إلى phpMyAdmin أو السطر البرمجي لقاعدة البيانات، يمكنك تنفيذ استعلام يستبدل الاسم القديم بالجديد داخل نصوص المشاركات مباشرة:
كود:
UPDATE xf_post
SET message = REPLACE(message, '[QUOTE="OldName', '[QUOTE="NewName')
WHERE message LIKE '%[QUOTE="OldName%';
(احرص على أخذ نسخة احتياطية من قاعدة البيانات قبل تنفيذ الاستعلام، واستبدل OldName بالاسم القديم و NewName بالاسم الجديد).
2. استخدام إضافة لتعديل النصوص (Post Content Find / Replace)
توجد إضافة رسمية/معتمدة في مجتمع زين فورو تتيح لك البحث والاستبدال داخل المشاركات من لوحة التحكم مباشرة دون الحاجة للتعامل مع قاعدة البيانات:
قم بتثبيت إضافة [Reseller/Tool] Post Content Find / Replace أو استخدام أداة الاستبدال المدمجة في خيارات التطوير.
[*] ابحث عن: [QUOTE="OldName
[*] استبدل بـ: [QUOTE="NewName
3. تعديل القالب (تغيير مظهر الاقتباس فقط مستقبلياً)
إذا كنت تريد أن يظهر الاسم الجديد دائماً اعتماداً على رقم المشاركة بدلاً من الاسم المكتوب نصياً داخل الـ BBCode، فهذا يتطلب تعديل قالب الاقتباس (bb_code_tag_quote) لربط اسم صاحب المشاركة برقم حساب المستخدم (User ID) بدلاً من الاسم المخزن داخل كود الاقتباس..
@Binkaddas
تحياتي لك
اخوك مهدي حميد
