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

Thèmes

Un thème pour agence de recrutement : page carrière et formulaire intégré

Construire une page carrière avec formulaire de candidature intégré au thème, pour une agence de recrutement qui n'a pas besoin d'un jobboard complet.

Par WordPress Développement • 5 avril 2023 • 4 min de lecture • Aucun commentaire
Un thème pour agence de recrutement : page carrière et formulaire intégré

Faut-il vraiment un jobboard complet pour publier trois à cinq offres d’emploi par mois ? C’est la question qu’a posée une agence de recrutement de taille moyenne, lassée de payer un abonnement à une solution de gestion des candidatures dimensionnée pour des volumes bien supérieurs aux siens. Sa demande : une page carrière sobre, avec un formulaire de candidature qui centralise les dossiers reçus, directement dans le thème.

Le résultat tient dans un type de contenu léger, un formulaire natif avec gestion de pièce jointe, et une notification email qui évite à l’équipe de dépendre d’un tableau de bord externe. Voici comment ce dispositif a été construit.

Un type de contenu offre, volontairement minimal

Contrairement à un jobboard complet, ce projet ne nécessitait ni taxonomie de secteur, ni système de matching, ni espace candidat. Le type de contenu offre_emploi se limite à un titre, un contenu riche pour la description du poste, et deux champs personnalisés : lieu et type_contrat.

register_post_type( 'offre_emploi', array(
    'label'        => 'Offres d\'emploi',
    'public'       => true,
    'supports'     => array( 'title', 'editor' ),
    'has_archive'  => true,
    'rewrite'      => array( 'slug' => 'offres' ),
) );

La page d’archive liste les offres actives, triées par date de publication décroissante, avec un lien vers chaque fiche détaillée qui contient le formulaire de candidature juste sous la description du poste.

L'essentiel à retenir : Type de contenu offre sans taxonomie superflue ; Formulaire de candidature avec upload de CV natif ; Notification à l'équipe sans extension de formulaire tierce

Le formulaire de candidature, sans extension de formulaire

Plutôt que d’installer une extension de formulaire généraliste pour un besoin aussi ciblé, le formulaire est codé directement dans le template single-offre_emploi.php, avec un traitement côté serveur qui vérifie le nonce et gère l’upload du CV via wp_handle_upload().

if ( isset( $_POST['candidature_nonce'] ) && wp_verify_nonce( $_POST['candidature_nonce'], 'envoi_candidature' ) ) {
    $fichier = wp_handle_upload( $_FILES['cv'], array( 'test_form' => false ) );

    if ( ! isset( $fichier['error'] ) ) {
        wp_mail(
            get_option( 'admin_email' ),
            'Nouvelle candidature reçue',
            sprintf( 'Candidat : %s, CV : %s', sanitize_text_field( $_POST['nom'] ), esc_url( $fichier['url'] ) )
        );
    }
}

Trois champs seulement : nom, adresse email, et fichier CV. L’agence avait initialement demandé une dizaine de champs (lettre de motivation, prétentions salariales, disponibilité), mais les tests menés sur deux offres ont montré un taux d’abandon nettement supérieur avec le formulaire complet — le formulaire court a été retenu pour la version définitive.

Restreindre les formats de fichiers acceptés

Pour éviter qu’un candidat n’envoie un format inexploitable, le champ d’upload est contraint côté HTML avec l’attribut accept, et revérifié côté serveur avec wp_check_filetype() avant l’appel à wp_handle_upload(), afin de ne pas se fier uniquement à la validation du navigateur.

  • Formats acceptés : PDF et DOCX uniquement, pour rester compatible avec les logiciels de l’agence.
  • Taille maximale contrôlée via une constante MAX_FILE_SIZE ajoutée au formulaire et revérifiée en PHP.
  • Fichiers stockés dans un répertoire dédié de la bibliothèque de médias, avec des permissions d’accès restreintes.

La notification, sans tableau de bord tiers

Chaque candidature déclenche un email à l’équipe recrutement via wp_mail(), avec le lien direct vers le CV stocké. Pour garder une trace structurée sans base de données externe, chaque candidature est également enregistrée comme un type de contenu candidature non public, visible uniquement dans l’administration, avec l’offre associée en relation via un champ personnalisé.

Pour une agence qui traite un flux raisonnable de candidatures, je recommande toujours de commencer par cette approche minimale avant d’envisager un outil de gestion des candidatures dédié : elle coûte une fraction du prix et couvre l’essentiel du besoin réel.

En résumé

Une page carrière efficace n’a pas besoin d’un jobboard complet pour convertir. Un type de contenu simple, un formulaire réduit à l’essentiel et une notification directe suffisent à couvrir le besoin d’une agence de recrutement de taille moyenne, sans les coûts et la complexité d’une solution dimensionnée pour un tout autre volume.

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