Comment reconstituer en dix minutes la configuration d’agenda d’un praticien qui vient de rejoindre un cabinet de groupe ? La question revient à chaque remplacement ou chaque nouvelle recrue dans un cabinet pluridisciplinaire géré sous WordPress : jours d’ouverture, durée des créneaux, pauses déjeuner, exceptions de congés, tout cela est stocké en post_meta sur la fiche praticien, et tout cela se ressaisit habituellement à la main, créneau par créneau, pour chaque nouveau praticien.
La solution la plus rentable n’est pas d’améliorer le formulaire de saisie, c’est d’éviter la saisie : dupliquer la configuration d’un praticien existant dont l’organisation est proche — même spécialité, mêmes horaires de cabinet — puis ne modifier que ce qui change réellement, en général le nom, la photo et quelques exceptions de calendrier.
Ce que la duplication doit couvrir, et ce qu’elle ne doit pas couvrir
Dupliquer un praticien avec wp_insert_post() à partir de get_post() copie le contenu principal, mais pas les métadonnées, qu’il faut recopier explicitement, ni les taxonomies. Le piège classique consiste à tout copier sans distinction, y compris des données qui ne devraient jamais être dupliquées : les identifiants de rendez-vous déjà pris, les avis patients, ou l’ancienneté calculée du praticien d’origine.
function agence_dupliquer_config_agenda( $praticien_source_id, $nouveau_praticien_id ) {
$cles_a_copier = array(
'_horaires_ouverture',
'_duree_creneau_minutes',
'_pause_dejeuner',
'_jours_feries_suivis',
'_delai_annulation_heures',
);
foreach ( $cles_a_copier as $cle ) {
$valeur = get_post_meta( $praticien_source_id, $cle, true );
if ( '' !== $valeur ) {
update_post_meta( $nouveau_praticien_id, $cle, $valeur );
}
}
// Traçabilité : d'où vient cette configuration
update_post_meta( $nouveau_praticien_id, '_config_dupliquee_depuis', $praticien_source_id );
update_post_meta( $nouveau_praticien_id, '_config_dupliquee_le', current_time( 'mysql' ) );
return true;
}
Ce qui ne doit jamais être copié
- Les rendez-vous eux-mêmes : un nouveau praticien démarre avec un agenda vide, jamais avec les créneaux déjà pris d’un confrère
- Les avis et évaluations patients, propres à la personne, pas au poste
- L’ancienneté ou la date d’arrivée dans le cabinet, recalculée à la création
Exposer le raccourci sans complexifier l’écran d’édition
Un bouton « Dupliquer la configuration depuis… » sur l’écran d’édition d’un nouveau praticien, avec un menu déroulant listant les praticiens existants de la même spécialité, évite d’ajouter un écran séparé. Le filtre post_row_actions permet en complément d’ajouter un lien de duplication directement dans la liste des praticiens, pratique quand le nouveau profil n’existe pas encore.

add_filter( 'post_row_actions', function ( $actions, $post ) {
if ( 'praticien' !== $post->post_type || ! current_user_can( 'edit_posts' ) ) {
return $actions;
}
$url = wp_nonce_url(
admin_url( 'admin-post.php?action=dupliquer_config_agenda&source;=' . $post->ID ),
'dupliquer_config_' . $post->ID
);
$actions['dupliquer_agenda'] = '' . esc_html__( 'Dupliquer vers un nouveau praticien', 'agence' ) . '';
return $actions;
}, 10, 2 );
Une version WP-CLI pour les migrations en masse
Lors de l’ouverture d’un nouveau cabinet secondaire reprenant l’organisation d’un cabinet existant, dupliquer praticien par praticien depuis l’interface devient long. Une commande WP-CLI personnalisée, appuyée sur la même fonction agence_dupliquer_config_agenda(), permet de traiter un lot entier en une seule invocation, avec un rapport de sortie clair sur ce qui a été copié.
wp agence dupliquer-agendas --source-specialite=kinesitherapeute --vers-cabinet=paris-nord --dry-run
wp agence dupliquer-agendas --source-specialite=kinesitherapeute --vers-cabinet=paris-nord
L’option --dry-run mérite d’être systématique sur ce type de commande : elle affiche la liste des duplications prévues sans rien écrire, ce qui permet de vérifier que le bon praticien de référence a été choisi avant d’exécuter réellement l’opération sur un cabinet entier.
Une duplication réussie se reconnaît à ce qu’elle laisse dériver ensuite sans effort : si chaque duplication traîne encore une correction manuelle après coup, c’est que la liste des clés copiées est mal calibrée, pas que la duplication est une mauvaise idée.
Notre verdict
La duplication de configuration n’est pas un gadget d’ergonomie, c’est une réponse directe à un coût réel de saisie répétitive dans un secteur — la santé — où chaque nouveau praticien arrive avec une échéance serrée avant sa première consultation programmée. Limiter la copie aux seules données structurelles, tracer son origine, et proposer une version en masse via WP-CLI couvrent l’essentiel des besoins d’un cabinet en croissance sans jamais toucher à l’architecture existante du CPT praticien.