أوه، يبدو ممتعًا! من المحتمل ألا تكون هناك حلول موجودة لهذا، ولا يمكنني حقًا تخيل سبب مشروع لإنشاء حل يغير الطابع الزمني الفعلي. ما يمكنك فعله بدلاً من ذلك هو إنشاء مكون سمة مخصص يقوم بإدراج طابع زمني وهمي لكل مشاركة.
يمكنك إضافة bbcode [wrap] عام، والذي سيتيح لك استخدام أي [wrap=] bbcode اعتباطي في المشاركات التي تريد تغييرها.
قم بإعداد شيء مثل [wrap=timechange time='Apr 1'][/wrap] وستحصل على <span></span> في المشاركة نفسها. بعد ذلك، يمكنك استخدام decorateCookedElement() للبحث عن [data-wrap="timechange"] في كل مشاركة لتحديد ما إذا كان يجب تغيير الطابع الزمني.
لا أعتقد أن هناك منفذ إضافة عند الطابع الزمني، ولكن يمكنك دائمًا إدراج عنصر جديد في عنصر ربط تاريخ المشاركة واستخدام بعض CSS لإخفاء العنصر القديم.
إليك كيف يبدو تاريخ المشاركة الحالي.
<div class="post-info post-date">
<a class="widget-link post-date" href="...">
<span title="..." data-time="..." data-format="tiny" class="relative-date">...</span>
</a>
</div>
ستحتاج على الأرجح إلى استهداف .post-info a.post-date وإضافة عنصر جديد هناك كـ <span> أو شيء من هذا القبيل. سيؤدي بعض CSS .post-info a.post-date span:first-child { display: none; } إلى إخفاء الطابع الزمني الحقيقي. استهداف علامة الربط والحفاظ عليها سيتيح لمستخدميك الاستمرار في استخدامها بشكل طبيعي (لديها وظيفة مشاركة).
بالربط بـ decorateCookedElement()، تمنحك الدالة العنصر الجذر للمشاركة المطبوخة، لذلك يمكنك إجراء بحث سريع في DOM من هناك باستخدام element.closest() و .querySelector() للوصول إلى .post-info الصحيح.
سيسمح لك استخدام bbcode (وأي شخص آخر) بتغيير شكل أي مشاركة، بغض النظر عن الفئة. يمكنك أيضًا تحديد مكان عرضه فعليًا باستخدام بعض CSS الذكية. يجب أن يحتوي الجسم على الفئة .category-* التي ستحتوي على اسم فئة الموضوع. لذلك يمكنك تحديد CSS الخاص بك لهذه الفئات.