6 Commits
Author SHA1 Message Date
valentin_le_moignandClaude Opus 5 b374d9c423 Slugs numériques : garde-fou et régénération après un enregistrement sans titre
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
2026-08-27 17:47:53 +02:00
valentin_le_moign e30b0baa50 Corrections Pods (sous-types custom-simple, sync pick→taxonomie), agenda accueil et gras/italique single 2026-07-06 17:12:01 +02:00
valentin_le_moign 9280c3b9ce Refactoring : sécurité (XSS), découpage en modules inc/* et js/admin/*, IDs résolus par slug, perf (caches, cron Gravatar, assets auto-hébergés), tests 2026-06-10 21:38:46 +02:00
valentin_le_moign bea33f9fd3 correction doublons index Ajax + découplage slug categories couleurs 2026-06-04 17:41:11 +02:00
valentin_le_moign c1cad3b044 Empêche les contributeurs de publier les posts dont ils sont membres 2026-05-28 18:02:23 +02:00
valentin_le_moign ccf32dcece Initial commit 2026-05-12 23:33:46 +02:00