CLAUDE.md : metabox Type d'annonce (#pods-meta-categorie) et date de modif des profils

This commit is contained in:
2026-10-12 14:20:08 +02:00
parent 508b8faddf
commit d435bb8bf3
+2 -2
View File
@@ -83,7 +83,7 @@ Les annonces ont une `date_de_debut` / `date_de_fin` (champ date Pods) ou un `da
| `ajax.php` | Handlers `load_more_posts` / `load_more_agenda` + helpers partagés `thalim_ajax_read_filters()` / `thalim_ajax_build_query_args()`, `thalim_get_agenda_card_data()` |
| `archive-filters.php` | Helpers partagés des 4 contrôleurs d'archives (category/taxonomy/search/page-annonces) : exclusions, lecture des filtres GET, rubrique active, posts « directs », listes de filtres (liens injectés en closure par chaque contrôleur) |
| `access-control.php` | Restrictions contributeurs (`pre_get_posts`, `user_has_cap`, `wp_count_posts`), Vie du labo, redirections login/dashboard |
| `admin-tweaks.php` | Synchro `display_name`, Pods sur user-new, colonnes taxonomies, filtre catégorie exact, rewrite `/autres`, admin bar, `user_can_richedit` |
| `admin-tweaks.php` | Synchro `display_name`, date de dernière modif du profil (user meta `thalim_profile_updated`, affichée « Mis à jour le » sur la page auteur — `user_registered` vaut la date de migration), Pods sur user-new, colonnes taxonomies, filtre catégorie exact, rewrite `/autres`, admin bar, `user_can_richedit` |
| `avatars.php` | `thalim_get_user_avatar_url()` (voir « Avatars ») |
| `single-helpers.php` | `thalim_get_single_data($post_id)` résout tous les champs Pods d'un post en tableau prêt pour Twig : dates formatées, images vs documents (split par mime-type), membres résolus en `{name, url}`, taxonomies (axes, étiquettes, programmes), séances triées en `seances_a_venir` / `seances_passees`, hiérarchie de catégorie, `type_label` et `fonction_label` dérivés des champs `type_*` / `fonction_*` ou (legacy) du `_pods_categorie`, liens externes (1–3), Canal-U / YouTube embeds. Inclut aussi `thalim_format_date()` (partagée). **Champs profil/HTML passés par `wp_kses_post`** (autoescape Twig désactivé) |
| `author-helpers.php` | `thalim_get_author_data($user_id)` (profil membre) et `thalim_get_author_posts_by_category($user_id)` (posts liés au membre, groupés par catégorie primaire, plus un groupe spécial « séances de séminaire » via cat 12). Tri inter-groupes par `ordre_profil` (term meta) puis par nombre de posts |
@@ -180,7 +180,7 @@ par contexte de page et enqueués conditionnellement (`inc/assets.php`, via
`initPostEditPage()` orchestre :
- Désactivation d'options de catégorie (`1`, `12`, `5`, `20`) dans le select Pods
- Réordonnancement des metaboxes : `type-dannonce` en haut du `#side-sortables`, `affichage-sur-laccueil` et `thematique` en bas, `champs-contextuels` en haut du `#normal-sortables`, `documents-joints` juste après, `submitdiv` en bas
- Réordonnancement des metaboxes : « Type d'annonce » (`#pods-meta-categorie` — l'ID de metabox Pods dérive du **nom** du groupe, pas de son label) en haut du `#side-sortables`, `affichage-sur-laccueil` et `thematique` en bas, `champs-contextuels` en haut du `#normal-sortables`, `documents-joints` juste après, `submitdiv` en bas
- **Onglets FR/EN sur le corps** : barre de tabs injectée avant `#postdivrich`. La metabox `#pods-meta-body-en` est déplacée juste après l'éditeur natif (le déplacement DOM casse son iframe TinyMCE — réparé par `reinitEditor()` au premier clic EN). Phase 1 = DOM avant `t=100ms`, Phase 2 = wiring après
- **Groupement des axes thématiques** : la liste des cases à cocher est regroupée par période (label = `annee_debut – annee_fin` ou « Axes antérieurs »), via `groupAxesCheckboxes()`. Données passées en `thalimAxesGroups` via `wp_localize_script`. Re-grouping déclenché si la ligne devient visible (MutationObserver)
- **Visibilité conditionnelle des Pods boxes** : `updatePostboxVisibility()` cache une `.postbox` Pods si tous ses `<tr>` ont `display:none` (sauf `body-en` qui est piloté par les onglets). Re-déclenché au changement de catégorie