Comment réécrire les dates de publication pour certaines catégories (jeu de rôle de projet narratif)

Oooo, ça a l’air amusant ! Il n’existe probablement aucune solution existante pour cela, et je ne peux pas vraiment imaginer une raison légitime d’en créer une qui changerait réellement l’horodatage réel. Ce que vous pouvez faire à la place, c’est créer un composant de thème personnalisé qui insérerait un faux horodatage par publication.

Vous pouvez ajouter un bbcode générique [[wrap]] (Generic bbcode wrapper for theme components), qui vous permettra d’utiliser n’importe quel bbcode [wrap=] arbitraire dans les publications que vous souhaitez modifier.

Configurez quelque chose comme [wrap=timechange time='Apr 1'][/wrap] et vous obtiendrez \u003cspan class=\"d-wrap\" data-time=\"Apr 1\" data-wrap=\"timechange\"\u003e\u003c/span\u003e dans la publication elle-même. Ensuite, vous pouvez utiliser decorateCookedElement() pour rechercher [data-wrap=\"timechange\"] dans chaque publication afin de décider si l’horodatage doit être modifié.

Je ne pense pas qu’il y ait un point de sortie de plugin au niveau de l’horodatage, mais vous pouvez toujours insérer un nouvel élément dans l’ancre de la date de publication et utiliser du CSS pour masquer l’ancien.

Voici à quoi ressemble la date de publication actuelle.

\u003cdiv class=\"post-info post-date\"\u003e
  \u003ca class=\"widget-link post-date\" href=\"...\" title=\"Post date\"\u003e
    \u003cspan title=\"...\" data-time=\"...\" data-format=\"tiny\" class=\"relative-date\"\u003e...\u003c/span\u003e
  \u003c/a\u003e
\u003c/div\u003e

Vous voudrez probablement cibler .post-info a.post-date et y ajouter un nouvel élément comme un span ou quelque chose de similaire. Un CSS .post-info a.post-date span:first-child { display: none; } masquera l’horodatage réel. Cibler la balise d’ancrage et la préserver permettra à vos utilisateurs de continuer à l’utiliser normalement (elle a des fonctionnalités de partage).

En la connectant à decorateCookedElement(), la fonction vous donne l’élément racine de la publication cuisinée, vous pouvez donc effectuer une recherche rapide dans le DOM à partir de là avec element.closest() et .querySelector() pour atteindre le .post-info correct.

L’utilisation du bbcode vous permettrait (et à quiconque d’autre) de modifier l’apparence de n’importe quelle publication, quelle que soit la catégorie. Vous pouvez également limiter où il est réellement affiché avec un CSS astucieux. Le corps aura la classe .category-* qui contiendra le nom de la catégorie du sujet. Vous pouvez donc limiter votre CSS à ces catégories.