1. Objectif du projet
Créer un espace privé multi-chantiers dans WordPress, avec un accès restreint à chaque chantier pour les utilisateurs autorisés, une fiche chantier dynamique, un listing personnel et des commentaires sécurisés.
2. Structure des fichiers
📄 functions.php
- Déclare le post type personnalisé
chantier
- Active les commentaires sur ce type de contenu
- Ajoute le slug
/chantier/
viarewrite
register_post_type('chantier', array(
'label' => 'Chantiers',
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'chantier'),
'supports' => array('title', 'editor', 'comments'),
'show_in_rest' => true,
'menu_icon' => 'dashicons-hammer'
));
❗ Attention : Si les permaliens sont en « simple », WordPress ne reconnaît pas les slugs comme
/chantier/
, ce qui bloque toutes les URLs du post type personnalisé.
📄 archive-chantier.php
- Affiche la liste des chantiers liés à l’utilisateur connecté
- Utilise les champs ACF : client, description, date de début, date de fin
foreach ($chantiers as $chantier) {
$client = get_field('client', $chantier->ID);
$description = get_field('description', $chantier->ID);
...
}
📄 single-chantier.php
- Affiche les détails du chantier
- Restreint l’accès au chantier si l’utilisateur n’est pas autorisé
- Affiche les commentaires uniquement pour les utilisateurs liés au chantier
if (!in_array($slug_chantier, $slugs_autorises)) {
wp_die('⛔ Accès refusé');
}
if (comments_open() || get_comments_number()) {
comments_template();
}
3. Gestion des permaliens
Lors des premiers tests, le site affichait les URLs de type ?chantier=26730
au lieu de /chantier/chantier-alpha
. Ce comportement était dû au fait que les permaliens étaient réglés sur « Simple ».
Pour corriger cela :
- Aller dans Réglages > Permaliens
- Sélectionner « Nom de l’article »
- Cliquer sur « Enregistrer les modifications »
- Vérifier que les URLs prennent bien la forme
/chantier/mon-chantier
4. API REST – récupération des commentaires
Les commentaires des chantiers peuvent être récupérés via l’API REST :
GET https://tonsite.com/wp-json/wp/v2/comments?post=26764
Ce point permet de lister les commentaires en dehors du site, dans une app ou une interface personnalisée.
5. Bonus
- Accès restreint par utilisateur via ACF (relation avec les chantiers)
- Affichage conditionnel des commentaires
- Préparation pour affichage enrichi : avancement, documents, images, etc.
Fier de ton chantier numérique 🛠️ ? Tu peux l’être.