Les règles `.scroll-spinner` et leurs keyframes étaient enfermées dans le
bloc `/* … */` legacy de `_category.scss` : Sass recopie ces commentaires
verbatim, les trois points n'avaient donc aucun style et restaient
invisibles pendant le chargement AJAX. Bloc sorti du commentaire (le
legacy reste en place), points allégés (5 px, gris) et marge haute
élargie.
Le modifieur `--reserve` réserve la place en permanence et n'anime que
l'opacité, au lieu de basculer `display` : plus de saut de mise en page
ni à l'apparition ni à la disparition. `infiniteScroll.js` bascule
désormais la classe `is-loading`.
Le `rootMargin` de l'observer passe à 700 px pour que la requête parte
plus tôt, et le loader de l'agenda est supprimé (markup + JS).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WQLwtNFa1LNaN7QTAbYkZx
Le premier item du popover était grisé en dur (`:first-of-type`), donc
affiché comme actif quel que soit l'axe courant. La classe `is-active`
est désormais posée en Twig sur l'axe actif (ou sur « Tous les axes »
hors mode taxonomie), et le style suit cette classe.
Ajout d'un hover en `background-image` (calque translucide) plutôt qu'en
`background-color`, pour un assombrissement identique sur les lignes
blanches et grises du zébrage.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WQLwtNFa1LNaN7QTAbYkZx
Avec la structure de permaliens /%category%/%postname%/, la règle
(.+?)/([^/]+)(?:/([0-9]+))?/?$ lit un dernier segment numérique comme un
numéro de page : l'article répond 404 tout en restant listé partout.
Deux chemins produisaient un tel slug :
- un titre vide à la première publication — le cœur retombe alors sur l'ID
du post et ne régénère plus jamais le slug ensuite, même titre corrigé ;
c'est ce que provoquait post-title-required.php, qui laisse le post
s'écrire en publish avant d'annuler son statut ;
- un titre légitimement numérique (« 1917 »).
- inc/post-slug-guard.php : filtre wp_unique_post_slug limité à post/page,
suffixe les slugs purement numériques (1917 → 1917-2). Les nav_menu_item
et attachments, dont les slugs numériques sont normaux, ne sont pas touchés.
- pods-save-error-handler.php : l'annulation de statut vide aussi post_name
quand le titre est vide, pour qu'il se régénère depuis le vrai titre.
Les deux articles déjà touchés en prod restent à re-sluguer à la main.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011w7RzAHv4r1Yahnm2NwDDG
Le champ adresse (single + séances) était rendu brut : les retours à la ligne
saisis au back-office n'apparaissaient pas. Application de nl2br + esc_html à la
source (les templates le rendent en |raw), pour afficher les adresses sur
plusieurs lignes tout en gardant la sortie échappée.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Le verrouillage de la catégorie sur « Séance de séminaire » était attaché via
$(window).on('load') depuis $(document).ready. Dans l'iframe de la modale Pods,
l'événement load est déjà émis quand ce code s'exécute, donc le handler ne se
déclenchait jamais (révélé par un changement de timing de chargement WP/jQuery).
Exécution immédiate si document.readyState vaut déjà 'complete', sinon attente
de load comme avant.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>