Le WordPress d'aujourd'hui, décodé pour les développeurs

Astuces

Afficher la disponibilité d’un artisan sur sa fiche, sans calendrier externe

Un artisan référencé sur un annuaire WordPress n'a pas toujours besoin d'un agenda connecté pour indiquer sa disponibilité. Un simple champ de statut, mis à jour à la main, suffit souvent à informer le visiteur.

Par WordPress Développement • 1 janvier 2021 • 4 min de lecture • Aucun commentaire
Afficher la disponibilité d'un artisan sur sa fiche, sans calendrier externe

Faut-il vraiment connecter un agenda externe pour indiquer qu’un artisan est disponible cette semaine ou complet jusqu’au mois prochain ? Pour beaucoup de petits annuaires de professionnels, la réponse est non : un champ de statut simple, mis à jour manuellement par l’artisan lui-même depuis son profil, couvre l’essentiel du besoin sans la complexité d’une synchronisation d’agenda.

La complexité d’une intégration de calendrier externe se justifie quand la prise de rendez-vous doit être automatisée créneau par créneau. Mais quand il s’agit simplement d’afficher une indication générale de disponibilité sur une fiche d’annuaire, un champ à choix limité, modifiable en quelques secondes, répond mieux au besoin réel qu’une API tierce à maintenir.

Trois statuts suffisent

Sur un type de contenu artisan, un champ statut_disponibilite à choix limité couvre la quasi-totalité des situations rencontrées : disponible, complet et disponible_sous_conditions, cette dernière valeur permettant à l’artisan de préciser un délai en texte libre dans un champ associé.

Créer le champ et son affichage

Avec l’API native des métadonnées, le champ se déclare simplement, avec une valeur par défaut raisonnable :

register_post_meta( 'artisan', 'statut_disponibilite', array(
    'show_in_rest' => true,
    'single'       => true,
    'type'         => 'string',
    'default'      => 'disponible',
) );

L’affichage sur la fiche publique associe un libellé et une couleur à chaque valeur, sans dépendre d’un plugin supplémentaire :

L'essentiel à retenir : Le statut se limite à trois valeurs simples et suffisantes ; Aucune connexion à un agenda tiers n'est nécessaire ; L'artisan modifie lui-même son statut depuis son profil
function wpm_afficher_statut_artisan( $post_id ) {
    $statut = get_post_meta( $post_id, 'statut_disponibilite', true );

    $libelles = array(
        'disponible'                => 'Disponible',
        'complet'                   => 'Complet actuellement',
        'disponible_sous_conditions' => 'Disponible sous conditions',
    );

    $libelle = isset( $libelles[ $statut ] ) ? $libelles[ $statut ] : 'Statut à confirmer';

    echo '<span class="statut-' . esc_attr( $statut ) . '">' . esc_html( $libelle ) . '</span>';
}

Permettre à l’artisan de modifier son propre statut

Plutôt que de passer par l’écran d’édition complet de WordPress, souvent intimidant pour un utilisateur peu technique, un formulaire minimal côté front permet à l’artisan de changer son statut en un clic, protégé par un nonce et une vérification de capacité :

if ( isset( $_POST['wpm_nouveau_statut'] ) && wp_verify_nonce( $_POST['_wpnonce'], 'wpm_maj_statut' ) ) {
    $post_id = get_the_ID();

    if ( current_user_can( 'edit_post', $post_id ) ) {
        $statuts_valides = array( 'disponible', 'complet', 'disponible_sous_conditions' );
        $nouveau_statut  = sanitize_text_field( $_POST['wpm_nouveau_statut'] );

        if ( in_array( $nouveau_statut, $statuts_valides, true ) ) {
            update_post_meta( $post_id, 'statut_disponibilite', $nouveau_statut );
        }
    }
}

Rappeler à l’artisan de mettre son statut à jour

Un champ manuel comporte un risque évident : il n’est mis à jour que si l’artisan y pense. Un email hebdomadaire simple, envoyé via une tâche planifiée, sert de rappel utile sans imposer de contrainte technique :

  • Un email envoyé chaque lundi matin à tous les artisans ayant un profil actif.
  • Un lien direct vers le formulaire de modification du statut, sans passer par l’administration complète.
  • Aucune pénalité automatique si le statut n’est pas mis à jour, le rappel reste incitatif.

Conseil maison : avant d’envisager une synchronisation d’agenda externe, testez toujours un champ de statut manuel pendant quelques mois. Beaucoup de professionnels indépendants préfèrent un contrôle simple à une automatisation qu’ils ne maîtrisent pas.

Ce que cette solution ne remplace pas

Elle ne remplace pas une prise de rendez-vous en ligne avec créneaux horaires précis, utile pour des artisans qui reçoivent un volume important de demandes. Elle ne gère pas non plus la vérification que le statut affiché correspond réellement à la charge de travail de l’artisan, ce contrôle restant de la responsabilité de l’annuaire.

Pour aller plus loin

Ce système de statut manuel constitue une base solide et peu coûteuse à maintenir. S’il s’avère insuffisant à mesure que l’annuaire grandit, une évolution vers une prise de rendez-vous avec créneaux reste possible sans tout reconstruire, le champ de statut pouvant continuer à servir d’indicateur général en complément d’un système plus fin.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Partager :

À propos de l'auteur

WordPress Développement

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi