Comment créer des mentions légales automatisées sur son site WordPress
Dans cet article, nous allons aborder la création de mentions légales automatisées pour votre site WordPress.
Cette approche s’adresse particulièrement aux webmasters et créateurs de sites qui souhaitent simplifier la tâche de mise en place des mentions légales pour chacun de leurs clients, sans complications.
Je vous montrerai comment dupliquer rapidement le contenu et l’adapter automatiquement en fonction des besoins de chaque client.
Vous devrez avoir ACF afin de pouvoir créer cette page.
(Je vous ferai un autre tutoriel sur un principe similaire mais uniquement avec WordPress)
Que sont les mentions légales ?
Commençons par un bref rappel sur ce qu’impliquent les mentions légales.
Les mentions légales, présentes sur un site internet, sont des informations d’ordre juridique qui doivent obligatoirement figurer sur votre site. Peu importe que vous teniez un blog personnel sur la cuisine moléculaire, elles demeurent indispensables.
Eh oui Paul, même si tu as un super blog sur la cuisine moléculaire que tu utilises pour ton propre plaisir, il doit y avoir les mentions obligatoires sur ton site web.
Elles font partie des 3 éléments obligatoires qui doivent être mis en place :
- Des conditions générales de vente (pour les sites marchands)
- La politique de confidentialité (RGPD)
- Les mentions légales
Elles sont régies par la loi n° 2004-575 du 21 juin 2004 pour la confiance dans l’économie numérique (LCEN).
Que doivent-elles contenir ?
Maintenant, examinons ce que doivent contenir ces mentions légales en fonction de votre statut d’entreprise. Notez que certaines informations sont communes à tous.
Les mentions obligatoires personnes morales VS personnes physiques
Vous êtes une personne physique (E.I., Micro-entrepreneur, particulier), vos mentions légales doivent comporter :
- Votre identité (Nom et Prénom)
- Votre adresse
- Votre email ou numéro de téléphone
Pour les personnes morales (associations, sociétés), les mentions légales doivent inclure :
- Dénomination sociale
- Adresse du siège social
- Montant du capital social
Les mentions obligatoires selon votre secteur d’activité
En outre, certaines obligations légales spécifiques à votre secteur d’activité doivent également être prises en compte :
Pour les activités commerciales, cela implique :
- Le numéro d’inscription au registre du commerce et des sociétés (RCS)
- Le numéro de registre national unique des entreprises (RNE) ou le numéro de TVA intracommunautaire
Pour les sites marchands,
- Les conditions générales de ventes doivent être incluses.
- Remarque : même pour les sites non marchands, la rédaction de conditions générales de service est vivement recommandée.
Concernant les activités artisanales, il faut mentionner :
- Le RNE (numéro d’immatriculation au registre national unique des entreprises).
Les sites d’informations (blogs, sites vitrines, sites d’associations), les mentions légales doivent contenir :
- Le nom du directeur de la publication et ses coordonnées
- Le nom du responsable de la rédaction, le cas échéant.
- Les coordonnées de l’hébergeur du site.
Pour les activités réglementées (professions libérales, juridiques, comptables), les mentions légales doivent comporter :
- Le nom de l’autorité ayant délivré votre autorisation d’exercer
- L’adresse de l’autorité ayant délivré votre autorisation d’exercer
Vous trouverez une liste des professions règlementées sur le site de l’INPI : ici
Pour les activités soumises à un régime d’autorisation :
- Les règles professionnelles relatives à votre activité réglementée.
- Votre titre professionnel.
- L’État membre dans lequel votre titre professionnel a été octroyé.
- Le nom de l’ordre ou de l’organisme professionnel auprès duquel vous êtes inscrit.
Enfin, il existe des mentions légales communes à toutes les entreprises, indépendamment de leur secteur :
- Les informations sur l’hébergeur, y compris son nom, son adresse, sa raison sociale et son numéro de téléphone.
- La propriété intellectuelle : pour les images, les photos, les illustrations, vous devez indiquer l’auteur dans vos mentions légales. Même s’il s’agit de supports gratuits, vous pouvez spécifier le site d’origine des images. Pour les textes, citez vos sources ou leurs auteurs.
Quels sont les risques si elles ne sont pas mises en place ?
L’absence de mentions légales expose les personnes physiques à une amende de 75 000€ et à une peine d’emprisonnement d’un an.
En ce qui concerne les personnes morales, elles encourent une amende de 375 000€ et une peine de prison de 5 ans en cas d’absence de mentions légales.
Maintenant, explorons la création de mentions légales automatisées pour votre site WordPress et en comprenons les avantages.
Créer des mentions légales automatisées sur son site WordPress
Pourquoi créer des mentions légales automatisées sur son site WordPress
Lorsque vous créez un site pour un client, vous vous retrouvez souvent à répéter ces informations pour chaque client, en remplaçant simplement les données spécifiques à chacun. Cette tâche peut être fastidieuse et sujette aux oublis.
L’idée derrière les mentions légales automatisées est de simplifier ce processus. Vous pouvez simplement intégrer ces informations dans votre thème WordPress, activer le plugin ACF (Advanced Custom Fields), et remplir les données de manière centralisée dans l’interface d’administration.
De plus, grâce à l’utilisation de shortcodes, vous avez la possibilité d’afficher certaines de ces données n’importe où sur le site. Vous n’aurez ainsi à les mettre à jour qu’une seule fois dans l’interface d’administration, ce qui simplifie la gestion des mentions légales et garantit leur cohérence sur l’ensemble du site.
Passons maintenant à la mise en place de cette approche.
Créer son texte pour créer ses mentions légales automatisées
Le but est de créer un texte générique qui servira de “texte à trous” où les bonnes données sont remplacées.
On va donc reprendre tout ce qui doit être obligatoire
Editeur
Entreprise : [nom-entreprise], [statut-entreprise], au capital de [capital-entreprise]
Numéro Siret: [numero-siret]
Numéro TVA: [numero-TVA]
Numéro RCS: [numero-rcs]
Adresse postale : [adresse-postale]
Téléphone : [numero-telephone]
E-mail : [mail-entreprise]
Site web : [site-entreprise]
Responsable de publication : [nom-responsable]
Règles professionnelles :
[nom-responsable] est soumis à une activité réglementée dont les règles à suivre sont les suivantes :
[liste des règles]
Hébergement
Hébergeur : [nom-hebergeur]
Adresse postale : [adresse-hebergeur]
Site web : [site-hebergeur]
Copyright
[type-copyright] - [auteur-copiright] - [siteweb-copyright]
Conditions d’utilisation
[nom-site] utilise différents langages web (HTML, HTML5, JavaScript, CSS, …). Afin de vous assurer d’un affichage optimal, nous vous recommandons d’utiliser des navigateurs modernes comme Internet explorer, Safari, Firefox, Google Chrome… [nom-site] met en œuvre tous les moyens dont il dispose, pour assurer une information fiable et une mise à jour fiable des informations fournies par son site internet. Toutefois, certaines erreurs ou omissions peuvent subsister. L’internaute devra donc s’assurer de l’exactitude des informations et signaler toutes modifications du site qu’il jugerait utile. [nom-site] n’est en aucun cas responsable de l’utilisation faite de ces informations, et de tout préjudice direct ou indirect pouvant en découler.
Cookies
[nom-site] peut être amené à vous demander l’acceptation des cookies pour des besoins de fonctionnement. Un cookie est un fichier déposé sur votre disque dur lors de la consultation de certains sites web. Il conserve des informations en vue d’une connexion ultérieure. Certaines parties de ce site ne peuvent être fonctionnelles sans l’acceptation de cookies. Vous pouvez, à tout moment, demander l’effacement de vos données personnelles. Il suffira de nous contacter par email à
Les liens
Les sites internet de [nom-site] peuvent offrir des liens vers d’autres sites internet ou d’autres ressources disponibles sur Internet. [nom-site] ne dispose d’aucun moyen pour contrôler les sites en connexion avec ses sites internet. [nom-site] ne répond pas de la disponibilité de tels sites et sources externes, ni ne la garantit. Il ne peut être tenu pour responsable de tout dommage, de quelque nature que ce soit, résultant du contenu de ces sites ou sources externes. Notamment des informations, produits ou services qu’ils proposent, ou de tout usage qui peut être fait de ces éléments. Les risques liés à cette utilisation incombent pleinement à l’internaute, qui doit se conformer à leurs conditions d’utilisation. Les utilisateurs, les abonnés et les visiteurs des sites internet de [nom-site] ne peuvent mettre en place un hyperlien en direction de ce site sans l’autorisation expresse et préalable de [nom-site] . Dans l’hypothèse où un utilisateur ou visiteur souhaiterait mettre en place un hyperlien en direction d’un des sites internet de [nom-site] , il lui appartiendra d’adresser un email accessible sur le site afin de formuler sa demande de mise en place. [nom-site] se réserve le droit d’accepter ou de refuser un hyperlien sans avoir à en justifier sa décision.
Services fournis
L’ensemble des activités de la société ainsi que ses informations sont présentés sur notre site [site-entreprise]. [nom-site] s’efforce de fournir sur son site des informations aussi précises que possible. Les renseignements figurant sur ce site ne sont pas exhaustifs et les photos non contractuelles. Ils sont donnés sous réserve de modifications ayant été apportées depuis leur mise en ligne. Par ailleurs, toutes les informations indiquées sur le site [site-entreprise] sont données à titre indicatif, et sont susceptibles de changer ou d’évoluer sans préavis.
Limitations contractuelles sur les données
Tout contenu téléchargé se fait aux risques et périls de l’utilisateur et sous sa seule responsabilité. En conséquence, [nom-site] ne saurait être tenu responsable d’un quelconque dommage subi par l’ordinateur de l’utilisateur ou d’une quelconque perte de données consécutives au téléchargement. De plus, l’utilisateur du site s’engage à accéder au site en utilisant un matériel récent, ne contenant pas de virus et avec un navigateur de dernière génération mis-à-jour.
Médias & propriété intellectuelle
Tout le contenu présent sur ce site, incluant, de façon non limitative, le contenu textuel, graphique et multimédia ainsi que leur mise en forme sont la propriété exclusive de la société, à l’exception des marques, logos ou contenus appartenant à d’autres sociétés partenaires ou auteurs. Toute reproduction, toute distribution, toute modification, toute adaptation, retransmission ou publication, même partielle, de ces différents éléments est strictement interdite sans l’accord exprès par écrit de [nom-site] . Le code de la propriété intellectuelle tel que cité dans les articles L.335-2 soumet le contrefacteur à des sanctions civiles et pénales pour le non-respect des droits d’auteur. Conformément à la nouvelle 25 mai 2018, ce site n’est pas soumis à une déclaration CNIL, mais respecte la loi RGPD.
Litiges
Les présentes conditions de ce site sont régies par la loi Française et toute contestation ou litige qui pourrait naître de l’interprétation ou de l’exécution de celles-ci sera de la compétence exclusive des tribunaux dont dépend le siège social de la société. La langue de référence, pour le règlement de contentieux éventuels, est le français.
Bien entendu nous ferons apparaître ou cacherons certains éléments de cette liste en fonction du statut de l’entreprise.
Préparer ses mentions légales automatisées avec ACF
Pour créer vos mentions légales automatisées avec ACF, suivez les étapes suivantes :
Créer une page option
Les pages Options dans WordPress sont accessibles via le menu d’administration.
Nous allons créer un onglet “Mentions légales” où nous ajouterons les champs ACF. Ces champs seront ensuite récupérés et affichés.
Pour créer une page option, vous devez modifier le fichier functions.php de votre thème enfant ou de votre thème WordPress personnalisé.
Assurez-vous d’ajouter ces lignes :
<?php
// Import mentions legales
require_once('mentions-legales.php');
Créez ensuite un fichier PHP que vous nommerez “mentions-legales.php” et enregistrez-le dans votre thème enfant ou votre thème personnalisé.
<?php
// Création de la page d'option
if( function_exists( 'acf_add_options_page' ) ) {
acf_add_options_page( array(
'page_title' => 'Votre entreprise', // On donne un titre à notre page option
'menu_title' => 'Votre entreprise', // On donne un titre au menu de WordPress
'menu_slug' => 'votre-entreprise',// On donne un slug (adresse) à notre page option
'capability' => 'edit_posts', // On donne cet accès à tous les utilisateurs qui ont les droit d'éditeur
'redirect' => true, // On redirige automatiquement vers le premier sous menu
'icon_url' => 'dashicons-admin-home', // je mets une icone de maison pour ce menu
'position' => 2 // On le place en haut des menus de l'adminsitration de WordPress
) );
acf_add_options_sub_page( array( // Création de la sous page "Mentions légales" de notre menu "Votre entreprise"
'page_title' => 'Mentions légales', // On donne un titre à notre sous page
'menu_title' => 'Mentions légales', // On donne un titre à notre sous menu
'parent_slug' => 'votre-entreprise', // On rattache cette sous page / sous menu au menu "votre entreprise"
) );
}
N’oubliez pas de charger le fichier functions modifié sur votre serveur via FTP.
Vous devriez obtenir ce résultat :
Création des champs dans ACF :
Une fois votre page créée, accédez à ACF Pro pour associer les champs à votre page option.
Vous devez disposer de la version premium d’ACF, car les pages options ne sont pas disponibles dans la version gratuite.
- Créez un groupe de champs en cliquant sur “Ajouter” dans le menu d’ACF.
- Nommez le groupe de champs “Mentions légales”.
- Associez ce groupe à votre page option.
À présent, créons les champs un par un.
L’identité
- Créez un type “Bouton radio” (1)
- Donnez le libellé du champ (2)
- Indiquez 2 choix :”Une personne morale” / “Une personne physique”. (3)
- Indiquez la valeur de retour comme “valeur” (4)
Pour un petit gain de place on va se rendre dans le sous onglet “Présentation” et cocher une mise en page horizontale de ces deux options.
Ensuite je vais créer un champs “Type” (pour les personnes morales) : “Une association” / “Une société”.
Faites attention à votre “nom du champ” (3), il faudra bien distinguer ce type de celui des personnes physiques.
Pour cela, j’ai indiqué comme identifiant “type_moral”. On s’en servira pour afficher les bons textes sur les mentions légales.
Vous pouvez régler une présentation horizontale également
Je vais conditionner l’affichage de ce champs en fonction du retour de mon champ “Vous êtes”. Il ne devra pas être affiché si on a précédemment sélectionné “personne morale”.
Je vais faire la meme chose pour les personnes morales.
Dupliquez le champ “Type” précédent, modifiez le “nom” par “type_physique”, modifiez les valeurs des boutons radios et conditionnez pour qu’il s’affiche si “Vous êtes” a pour valeur “Une personne physique”.
J’enregistre. J’ai ce résultat dans ma page option :
La société / personne morale
- Créez un groupe de champs “Sociétés” (1) dans lequel vous ajouterez les champs obligatoires propres aux sociétés, tels que le capital social et le statut (2).
- Ajoutez une logique conditionnelle pour n’afficher ces champs que si le type sélectionné est “Une société”.
Ajoutons une logique conditionnelle sur notre groupe “Sociétés” afin de n’afficher ces champs que pour le type “Une société”
On rend ces champs obligatoires
On vérifie que tout s’affiche uniquement si “Société” est séléctionné dans notre menu
Professionnels (sociétés et entreprises individuelles) :
- Mettez en place les éléments obligatoires communs aux professionnels, comme le numéro SIRET, le numéro de TVA, et le numéro de RCS.
- Créez un groupe “Obligation professionnels” et ajoutez des champs de texte pour chacun des éléments mentionnés ci-dessus.
- Configurez le champ “SIRET” comme obligatoire.
N’oubliez pas de conditionner l’affichage du groupe en fonction du type sélectionné, qu’il s’agisse d’une Société ou d’une Entreprise Individuelle.
Vous devriez voir apparaître les champs dans les Mentions légales de votre administration.
Vous devriez maintenant avoir une configuration avancée pour gérer les données particulières dans vos mentions légales automatisées.
Passons maintenant à la gestion des professions réglementées.
Les entreprises individuelles
Les artisans, les professions libérales, et les professions soumises à autorisation sont toutes des formes d’entreprises individuelles, chacune avec ses spécificités.
Nous allons donc proposer plusieurs choix : soit votre entreprise individuelle exerce une activité réglementée, soit elle est soumise à une autorisation, soit elle est artisanale, soit elle ne relève d’aucune de ces catégories.
Les entreprises individuelles : les artisans
Pour les artisans, nous allons simplement créer un champ texte “RNE” (Répertoire des Métiers) qui sera obligatoire.
Nous conditionnerons son affichage en fonction des choix “Vous êtes une entreprise individuelle” ET “vous êtes artisan”.
Les entreprises individuelles : les professions réglementées
Créons un groupe de champs portant le même nom, dans lequel nous inclurons les informations nécessaires :
- Le nom de l’autorité ayant délivré votre autorisation d’exercer.
- L’adresse de l’autorité ayant délivré votre autorisation d’exercer (zone de texte).
Nous appliquerons une condition pour n’afficher ces champs que si le type d’entreprise individuelle exerce une activité réglementée.
Les entreprises individuelles : les professions à autorisations
Nous allons dupliquer l’élément précédent et apporter des modifications aux éléments et aux conditions. Les champs inclus seront les suivants :
- Les règles professionnelles pour votre activité réglementée.
- Votre titre professionnel.
- L’État membre dans lequel a été octroyé votre titre professionnel.
- Le nom de l’ordre ou de l’organisme professionnel auprès duquel vous êtes inscrits.
Maintenant, nous devons mettre en place les éléments divers obligatoires :
- Le responsable de publication
- Les coordonnées
- L’hébergeur
- Les copyright
Le responsable de publication
Pour le responsable de publication, ajoutez simplement un champ obligatoire à la suite de notre groupe principal. :
Les coordonnées
Les coordonnées sont obligatoires, quelle que soit votre situation. Il doit être possible de vous contacter en cas de besoin. Vous aurez besoin des champs suivants :
- Adresse (champ de zone de texte).
- Téléphone (champ texte).
- E-mail (champ e-mail).
L’hébergeur
Nous allons organiser les informations sur l’hébergeur en utilisant des onglets pour une meilleure organisation.
- Créez un nouveau champ de type “Onglet” que vous nommerez “Votre identité”. Placez cet onglet en haut de la liste, tout ce qui se trouve en dessous sera regroupé dans un nouvel onglet de l’administration.
On crée un deuxième onglet appelé “Hébergeur” que l’on placera tout en bas :
Créez un groupe obligatoire “Hébergeur” et ajoutez-y un champ pour chaque élément obligatoire :
- Nom (champ texte).
- Capital (champ texte).
- Adresse (champ zone de texte).
- Téléphone (champ texte).
Vérifions ensuite le rendu dans l’administration :
Les droits d’auteur
Pour les droits d’auteur, créez un nouvel onglet appelé “Copyright” que vous placerez tout en bas.
- Créez un groupe “Droit d’auteur” dans lequel vous créerez un champ “repeater” appelé “Copyright”. Dans ce champ repeater, ajoutez les éléments suivants :
- Nom (champ texte).
- Fonction (champ texte).
- Site web (champ URL).
- E-mail (champ e-mail).
Pour une meilleure lisibilité, organisez les éléments de “Copyright” en un “Tableau”.
En option, vous pouvez également dupliquer le groupe “Droit d’auteur” et le renommer “Intervenants” pour mentionner toute personne extérieure ayant contribué à votre site, comme un graphiste ou un développeur.
Observons le rendu :
Votre administration est désormais configurée. La prochaine étape consiste à récupérer les valeurs des champs afin de les afficher sur votre page.
Récupération des données ACF dans le code
Pour récupérer les données ACF dans le code, nous allons créer un fichier PHP que nous intégrerons dans notre thème WordPress. Voici comment ACF fonctionne :
Le fontionnement d’ACF
Nous allons reprendre notre liste de groupe de champs et observer leurs types :
Les 3 familles de champs ACF que nous utiliserons
Notre groupe Mentions légales comporte 3 familles de champs :
- Les champs simples (comme les boutons radio ou les champs texte).
- Les groupes.
- Les repeaters (utilisés pour gérer le copyright avec une liste d’éléments répétés).
Chaque champ ACF a un identifiant unique qui nous permet de récupérer sa valeur dans le code.
Vous avez sur la deuxième colonne, les identifiants de vos champs. Ce sont ces données que nous devons rentrer dans notre code pour récupérer leurs valeurs.
// Pour les champs simples :
$variable = get_field('identifiant_champ', 'destination');
// Pour les groupes :
Un groupe est un champ gobal où se situe plusieurs sous champs donc
$variableGroupe = get_field('identifiant_groupe', 'destination');
$sousChampGroupe = $variableGroupe['identifiant_sous_champ_groupe'];
// Pour les reapeaters
if ( have_rows('identifiant_repeater') ):{
while( have_rows('identifiant_reapeater') ):the_row();
$sousChampReapeater = get_sub_field('identifiant_du_sous_champ');
endwhile;
}
Explications :
- $variableGroupe est vu comme un tableau
- $sousChampGroupe vient récupérer la ligne identifiant_sous_champ_groupe de mon groupe
- ‘destination’ correspond à la page où est ma variable dans WordPress. Dans notre cas, nous sommes dans “options” (le menu créé est une page options).
- Le repeater est un groupe où la liste de éléments se répètent. On va donc créer une boucle pour récupérer chaque ligne répétée
Le cas des radios ou checkboxes
Par défaut, les boutons radio ne renvoient qu’une seule valeur. Cependant, il est parfois nécessaire de récupérer à la fois la valeur et le libellé séparément.
Pour ce faire, vous devez modifier les paramètres de vos boutons radio en cochant l’option “les deux”.
Ensuite, dans votre code, vous spécifiez ce que vous souhaitez récupérer :
// Valeur ou label
$radio = get_field('identifiant_champ', 'destination');
// Les deux (tableaux) :
$radioTableau = get_field('identifiant_champ', 'destination');
$label = $radioTableau['label']; // ici nous retournera "Une personne morale" ou "Une personne physique"
$valeur = $radioTableau['value']; // ici nous retournera "morale" ou "physique"
Stocker les données dans des valeurs
Pour récupérer les données ACF, nous allons créer une fonction de shortcode dans notre fichier mentions-legales.php. Cette fonction récupérera toutes les informations nécessaires et les stockera dans une variable $mentionsLegales.
<?php // Création de la page d'option
//// Code page option ACF
?>
<?php
function shortcode_mentions_legales(){
// Récupération des champs ACF
// Affichage des champs personnalisés
return $mentionsLegales ;
}
add_shortcode('mentions-legales', 'shortcode_mentions_legales');
Ajoutons-y tous les champs ACF à récupérer.
function shortcode_mentions_legales(){
// Récupération des champs ACF
$vousEtes = get_field('vous_etes', 'options');
$typeMoral = get_field('type_moral', 'options');
$typePhysique = get_field('type_physique', 'options');
$typeEI = get_field('type_ei', 'options');
$societes = get_field('societes', 'options');// Groupe
$statutLabel = $societes['statut']['label'];
$statutValue = $societes['statut']['value'];
$capital = $societes['capital'];
$obligationsPro = get_field('obligation_professionnels', 'options'); // groupe
$siret = $obligationsPro['siret_siren'];
$tva = $obligationsPro['tva'];
$rcs = $obligationsPro['rcs'];
$rne = get_field('rne', 'options');
$contactMentionslegales = get_field('contact_mentions', 'options');
$adresseMentions = $contactMentionslegales['adresse'];
$telephoneMentions = $contactMentionslegales['telephone'];
$mailMentions = $contactMentionslegales['email'];
$emailMentions= antispambot( $mailMentions ); // on met une fonction php pour securiser l'e-mail des robots
$reglemente = get_field('activites_reglementees', 'options');
$nomAutorite = $reglemente['nom_autorite'];
$adresseAutorite = $reglemente['adresse_autorite'];
$autorisation = get_field('activites_autorisations', 'options');
$titreProfessionnel = $autorisation['titre_professionnel'];
$nomOrdre = $autorisation['nom_ordre'];
$etatMembre = $autorisation['etat_membre'];
$regles = $autorisation['regles'];
$responsablePublication = get_field('responsable_de_publication', 'options');
$hebergeur = get_field('hebergeur', 'options');
$hebergeurNom = $hebergeur['nom_hebergeur'];
$hebergeurAdresse = $hebergeur['adresse_hebergeur'];
$hebergeurCapital = $hebergeur['capital_hebergeur'];
$hebergeurTelephone = $hebergeur['telephone_hebergeur'];
// Adresse du site et nom du site
// Affichage des champs personnalisés
return $mentionsLegales ;
}
add_shortcode('mentions-legales', 'shortcode_mentions_legales');
Pensez à modifier le radio “statut” présent dans les société en valeur de retour “les deux (tableau)”.
Ajout du nom du site et de l’url du site
Si on observe notre texte à trous, on s’aperçoit qu’il y a la présence de deux valeurs : l’adresse du site et le nom du site.
WordPress permet de base de récupérer l’adresse du site et le nom du site par des fonctions standard, sans utiliser ACF. Nous ajoutons ces données à notre variable $mentionsLegales
.
// Adresse du site et nom du site
$nomduSite = get_bloginfo('name');
$urlduSite = get_bloginfo('url');
Création des données à afficher
/* placer avant le return */
// Affichage des champs personnalisés
$mentionsLegales = "<h2>Editeur</h2>";
$mentionsLegales .= "<ul>";
// On conditionne si c'est une entreprise :
//var_dump($typeMoral);
if($vousEtes == "morale" && $typeMoral == "association"){
$mentionsLegales .= "<li>Association : ".$nomduSite."</li>";
}else if($vousEtes == "morale" && $typeMoral == "societee"){
$mentionsLegales .= "<li>Entreprise : ".$nomduSite.", ".$statutLabel." au capital de ".$capital." €</li>";
}else if($vousEtes =="physique" && $typePhysique == "ei"){
$mentionsLegales .= "<li>Entreprise : ".$responsablePublication.", EI</li>";
}
if($vousEtes =="morale" && $typeMoral != "association" || $vousEtes =="physique" && $typePhysique == "ei"){ // si c'est une société ou un entrepreneur individuel
$mentionsLegales .= "<li>Numéro SIRET / SIREN : ".$siret."</li>";
if($rne){ // on vérifie que ce champ est rempli
$mentionsLegales .= "<li>Numéro RNE : ".$rne."</li>";
}
if($tva){ // on vérifie que ce champ est rempli
$mentionsLegales .= "<li>Numéro TVA : ".$tva."</li>";
}
if($rcs){ // on vérifie que ce champ est rempli
$mentionsLegales .= "<li>Numéro RCS : ".$rcs."</li>";
}
}
$mentionsLegales .= "</ul>";
Quelques explications :
- On stocke toute les informations dans la variable $mentionsLegales
- Lorsque l’on rajoute une donnée dans une variable on met un point devant le egal : $maviariable .=
Cette variable est retournée à la fin de la fonction (avec un return) afin d’être affichée lors de l’appel du shortcode. - Pour afficher les informations, vous devez ajouter des conditions. Ainsi, informations relatives à la TVA, au SIRET, au RCS, au RNE et à l’entreprise ne devraient s’afficher que si le visiteur est un professionnel plutôt qu’un particulier. Ensuite, vérifiez que vous avez correctement rempli ces valeurs dans le backend de WordPress en employant une structure conditionnelle avec un
if($variable)
. Inutile de l’afficher si elle est vide. - J’ai utilisé le nom du responsable d’édition du site comme valeur pour le nom de l’entreprise individuelle car généralement, il s’agit de la meme personne
Enregistrez votre fichier mentions-legales.php puis collez le shortcode [mentions-legales] dans votre page WordPress.
Ainsi, si vos champs dans le menu “Mentions légales” de l’administration sont bien remplis, alors vos informations apparaitront.
Il nous suffira de continuer cette logique pour la suite des données
Ici on récupère les coordonnées (sans condition de statuts)
/* placer avant le return */
$mentionsLegales .= "<ul>";
$mentionsLegales .= "<li>Adresse : ".$adresseMentions."</li>";
$mentionsLegales .= "<li>E-mail : ".$emailMentions."</li>";
$mentionsLegales .= "<li>Téléphone : ".$telephoneMentions."</li>";
$mentionsLegales .= "</ul>";
$mentionsLegales .= "<ul>";
$mentionsLegales .= "<li>Responsable de publication : ".$responsablePublication."</li>";
$mentionsLegales .= "</ul>";
if($typeEI=="reglementee"){
$mentionsLegales .= "<ul>";
$mentionsLegales .= "<strong>".$responsablePublication."</strong>, occupe une activitée réglementée";
$mentionsLegales .= "<li>Son activité est soumise au controle de ".$nomAutorite." situé à l'adresse ".$adresseAutorite."</li>";
$mentionsLegales .= "</ul>";
}else if ($typeEI=="autorisation"){
$mentionsLegales .= "<ul>";
$mentionsLegales .= "<strong>".$responsablePublication."</strong>, occupe une activitée soumise à autorisation";
$mentionsLegales .= "<li>".$responsablePublication." a obtenu son diplôme de ".$titreProfessionnel.", en ".$etatMembre." par ".$nomOrdre." </li>";
$mentionsLegales .= "<li>Son activité est soulise aux règles suivantes : ".$regles."</li>";
$mentionsLegales .= "</ul>";
}
Ici on récupère les coordonnées de l’hébergeur
/* placer avant le return */
$mentionsLegales .= "<h2>Hébergeur</h2>";
$mentionsLegales .= "<ul>";
$mentionsLegales .= "<li>".$hebergeurNom.", au capital de ".$hebergeurCapital."</li>";
$mentionsLegales .= "<li>Adresse : ".$hebergeurAdresse."</li>";
$mentionsLegales .= "<li> Téléphone : ".$hebergeurTelephone."</li>";
$mentionsLegales .= "</ul>";
La partie la plus complexe du code est celle du copyright. Nous devons récupérer les données de chaque intervenant, qui sont stockées dans une liste. Pour ce faire, nous utilisons une boucle while. Les données de chaque intervenant sont affichées sous forme de liste.
/* placer avant le return */
if( have_rows("droit_dauteur", "options") ):
while( have_rows("droit_dauteur", "options") ): the_row();
$copyright = get_sub_field("copyright");
if( have_rows("copyright", "options") ):
$mentionsLegales .= "<h2>Copyright</h2>";
$mentionsLegales .= "<ul>";
while( have_rows("copyright", "options") ): the_row();
$auteur = get_sub_field("nom_de_lauteur");
$fonction = get_sub_field("fonction");
$swCopyright = get_sub_field("site_web");
$mailCopyright = get_sub_field("email");
$emailCopyright = antispambot( $mailCopyright);
$mentionsLegales .= "<li>".$auteur.", ".$fonction." - <a href='".$swCopyright."' target='_blank'>".$swCopyright."</a>, ";
$mentionsLegales .= "<a href='mailto: ".$mailCopyright."'>".$mailCopyright."</a>";
$mentionsLegales .= "</li>";
endwhile;
$mentionsLegales .= "</ul>";
endif;
endwhile;
endif;
On vérifie le rendu :
Ajout des données supplémentaires
Dans les mentions légales vous trouvez toute une partie concernant les litiges, les cookies etc.
Ces parties reprennent l’adresse et le nom du site. C’està cet endroit que nous reprendrons les variables nomdusite et adresse du site que nous avons précédement stocké.
Il nous suffit donc de prendre le texte modèle et de remplacer [nom-du-site] et [adresse-du-site] par nos variables.
Plaçons ces textes juste avant le return :
// Suite des mentions légales :
$mentionsLegales .="<h2>Conditions d’utilisation</h2>";
$mentionsLegales .="<p>".$nomduSite." utilise différents langages web (HTML, HTML5, JavaScript, CSS, …). Afin de vous assurer d’un affichage optimal, nous vous recommandons d’utiliser des navigateurs modernes comme Internet explorer, Safari, Firefox, Google Chrome… ".$nomduSite." met en œuvre tous les moyens dont il dispose, pour assurer une information fiable et une mise à jour fiable des informations fournies par son site internet. Toutefois, certaines erreurs ou omissions peuvent subsister. L’internaute devra donc s’assurer de l’exactitude des informations et signaler toutes modifications du site qu’il jugerait utile. ".$nomduSite." n’est en aucun cas responsable de l’utilisation faite de ces informations, et de tout préjudice direct ou indirect pouvant en découler.</p>";
$mentionsLegales .="<h2>Cookies</h2>";
$mentionsLegales .="<p>".$nomduSite." peut être amené à vous demander l’acceptation des cookies pour des besoins de fonctionnement. Un cookie est un fichier déposé sur votre disque dur lors de la consultation de certains sites web. Il conserve des informations en vue d’une connexion ultérieure. Certaines parties de ce site ne peuvent être fonctionnelles sans l’acceptation de cookies. Vous pouvez, à tout moment, demander l’effacement de vos données personnelles. Il suffira de nous contacter par email à <a href='mailto: ". $emailMentions."'>".esc_html($emailMentions)."</a>";
$mentionsLegales .="<h2>Les liens</h2>";
$mentionsLegales .="<p>Les sites internet de ".$nomduSite." peuvent offrir des liens vers d’autres sites internet ou d’autres ressources disponibles sur Internet. ".$nomduSite." ne dispose d’aucun moyen pour contrôler les sites en connexion avec ses sites internet. ".$nomduSite." ne répond pas de la disponibilité de tels sites et sources externes, ni ne la garantit. Il ne peut être tenu pour responsable de tout dommage, de quelque nature que ce soit, résultant du contenu de ces sites ou sources externes. Notamment des informations, produits ou services qu’ils proposent, ou de tout usage qui peut être fait de ces éléments. Les risques liés à cette utilisation incombent pleinement à l’internaute, qui doit se conformer à leurs conditions d’utilisation. Les utilisateurs, les abonnés et les visiteurs des sites internet de ".$nomduSite." ne peuvent mettre en place un hyperlien en direction de ce site sans l’autorisation expresse et préalable de ".$nomduSite." . Dans l’hypothèse où un utilisateur ou visiteur souhaiterait mettre en place un hyperlien en direction d’un des sites internet de ".$nomduSite." , il lui appartiendra d’adresser un email accessible sur le site afin de formuler sa demande de mise en place. ".$nomduSite." se réserve le droit d’accepter ou de refuser un hyperlien sans avoir à en justifier sa décision.</p>";
$mentionsLegales .="<h2>Services fournis</h2>";
$mentionsLegales .="<p>L’ensemble des activités de la société ainsi que ses informations sont présentés sur notre site ".$urlduSite." . ".$nomduSite." s’efforce de fournir sur son site des informations aussi précises que possible. Les renseignements figurant sur ce site ne sont pas exhaustifs et les photos non contractuelles. Ils sont donnés sous réserve de modifications ayant été apportées depuis leur mise en ligne. Par ailleurs, toutes les informations indiquées sur le site ".$urlduSite." sont données à titre indicatif, et sont susceptibles de changer ou d’évoluer sans préavis.</p>";
$mentionsLegales .="<h2>Limitations contractuelles sur les données</h2>";
$mentionsLegales .="<p>Tout contenu téléchargé se fait aux risques et périls de l’utilisateur et sous sa seule responsabilité. En conséquence, ".$nomduSite." ne saurait être tenu responsable d’un quelconque dommage subi par l’ordinateur de l’utilisateur ou d’une quelconque perte de données consécutives au téléchargement. De plus, l’utilisateur du site s’engage à accéder au site en utilisant un matériel récent, ne contenant pas de virus et avec un navigateur de dernière génération mis-à-jour.</p>";
$mentionsLegales .="<h2>Médias & propriété intellectuelle</h2>";
$mentionsLegales .="<p>Tout le contenu présent sur ce site, incluant, de façon non limitative, le contenu textuel, graphique et multimédia ainsi que leur mise en forme sont la propriété exclusive de la société, à l’exception des marques, logos ou contenus appartenant à d’autres sociétés partenaires ou auteurs. Toute reproduction, toute distribution, toute modification, toute adaptation, retransmission ou publication, même partielle, de ces différents éléments est strictement interdite sans l’accord exprès par écrit de ".$nomduSite." . Le code de la propriété intellectuelle tel que cité dans les articles L.335-2 soumet le contrefacteur à des sanctions civiles et pénales pour le non-respect des droits d’auteur. Conformément à la nouvelle 25 mai 2018, ce site n’est pas soumis à une déclaration CNIL, mais respecte la loi RGPD.</p>";
$mentionsLegales .="<h2>Litiges</h2>";
$mentionsLegales .="<p>Les présentes conditions de ce site sont régies par la loi Française et toute contestation ou litige qui pourrait naître de l’interprétation ou de l’exécution de celles-ci sera de la compétence exclusive des tribunaux dont dépend le siège social de la société. La langue de référence, pour le règlement de contentieux éventuels, est le français.</p>";
Récapitulatif du code complet :
<?php
// Création de la page d'option
if( function_exists( 'acf_add_options_page' ) ) {
acf_add_options_page( array(
'page_title' => 'Votre entreprise', // On donne un titre à notre page option
'menu_title' => 'Votre entreprise', // On donne un titre au menu de WordPress
'menu_slug' => 'votre-entreprise',// On donne un slug (adresse) à notre page option
'capability' => 'edit_posts', // On donne cet accès à tous les utilisateurs qui ont les droit d'éditeur
'redirect' => true, // On redirige automatiquement vers le premier sous menu
'icon_url' => 'dashicons-admin-home', // je mets une icone de maison pour ce menu
'position' => 2 // On le place en haut des menus de l'adminsitration de WordPress
) );
acf_add_options_sub_page( array( // Création de la sous page "Mentions légales" de notre menu "Votre entreprise"
'page_title' => 'Mentions légales', // On donne un titre à notre sous page
'menu_title' => 'Mentions légales', // On donne un titre à notre sous menu
'parent_slug' => 'votre-entreprise', // On rattache cette sous page / sous menu au menu "votre entreprise"
) );
}
function shortcode_mentions_legales(){
// Récupération des champs ACF
$vousEtes = get_field('vous_etes', 'options');
$typeMoral = get_field('type_moral', 'options');
$typePhysique = get_field('type_physique', 'options');
$typeEI = get_field('type_ei', 'options');
$societes = get_field('societes', 'options');// Groupe
$statutLabel = $societes['statut']['label'];
$statutValue = $societes['statut']['value'];
$capital = $societes['capital'];
$obligationsPro = get_field('obligation_professionnels', 'options'); // groupe
$siret = $obligationsPro['siret_siren'];
$tva = $obligationsPro['tva'];
$rcs = $obligationsPro['rcs'];
$rne = get_field('rne', 'options');
$contactMentionslegales = get_field('contact_mentions', 'options');
$adresseMentions = $contactMentionslegales['adresse'];
$telephoneMentions = $contactMentionslegales['telephone'];
$mailMentions = $contactMentionslegales['email'];
$emailMentions= antispambot( $mailMentions ); // on met une fonction php pour securiser l'e-mail des robots
$reglemente = get_field('activites_reglementees', 'options');
$nomAutorite = $reglemente['nom_autorite'];
$adresseAutorite = $reglemente['adresse_autorite'];
$autorisation = get_field('activites_autorisations', 'options');
$titreProfessionnel = $autorisation['titre_professionnel'];
$nomOrdre = $autorisation['nom_ordre'];
$etatMembre = $autorisation['etat_membre'];
$regles = $autorisation['regles'];
$responsablePublication = get_field('responsable_de_publication', 'options');
$hebergeur = get_field('hebergeur', 'options');
$hebergeurNom = $hebergeur['nom_hebergeur'];
$hebergeurAdresse = $hebergeur['adresse_hebergeur'];
$hebergeurCapital = $hebergeur['capital_hebergeur'];
$hebergeurTelephone = $hebergeur['telephone_hebergeur'];
// Adresse du site et nom du site
$nomduSite = get_bloginfo('name');
$urlduSite = get_bloginfo('url');
// Affichage des champs personnalisés
$mentionsLegales = "<h2>Editeur</h2>";
$mentionsLegales .= "<ul>";
// On conditionne si c'est une entreprise :
//var_dump($typeMoral);
if($vousEtes == "morale" && $typeMoral == "association"){
$mentionsLegales .= "<li>Association : ".$nomduSite."</li>";
}else if($vousEtes == "morale" && $typeMoral == "societee"){
$mentionsLegales .= "<li>Entreprise : ".$nomduSite.", ".$statutLabel." au capital de ".$capital." €</li>";
}else if($vousEtes =="physique" && $typePhysique == "ei"){
$mentionsLegales .= "<li>Entreprise : ".$responsablePublication.", EI</li>";
}
if($vousEtes =="morale" && $typeMoral != "association" || $vousEtes =="physique" && $typePhysique == "ei"){ // si c'est une société ou un entrepreneur individuel
$mentionsLegales .= "<li>Numéro SIRET / SIREN : ".$siret."</li>";
if($rne){ // on vérifie que ce champ est rempli
$mentionsLegales .= "<li>Numéro RNE : ".$rne."</li>";
}
if($tva){ // on vérifie que ce champ est rempli
$mentionsLegales .= "<li>Numéro TVA : ".$tva."</li>";
}
if($rcs){ // on vérifie que ce champ est rempli
$mentionsLegales .= "<li>Numéro RCS : ".$rcs."</li>";
}
}
$mentionsLegales .= "</ul>";
$mentionsLegales .= "<ul>";
$mentionsLegales .= "<li>Adresse : ".$adresseMentions."</li>";
$mentionsLegales .= "<li>E-mail : ".$emailMentions."</li>";
$mentionsLegales .= "<li>Téléphone : ".$telephoneMentions."</li>";
$mentionsLegales .= "</ul>";
$mentionsLegales .= "<ul>";
$mentionsLegales .= "<li>Responsable de publication : ".$responsablePublication."</li>";
$mentionsLegales .= "</ul>";
if($typeEI=="reglementee"){
$mentionsLegales .= "<ul>";
$mentionsLegales .= "<strong>".$responsablePublication."</strong>, occupe une activitée réglementée";
$mentionsLegales .= "<li>Son activité est soumise au controle de ".$nomAutorite." situé à l'adresse ".$adresseAutorite."</li>";
$mentionsLegales .= "</ul>";
}else if ($typeEI=="autorisation"){
$mentionsLegales .= "<ul>";
$mentionsLegales .= "<strong>".$responsablePublication."</strong>, occupe une activitée soumise à autorisation";
$mentionsLegales .= "<li>".$responsablePublication." a obtenu son diplôme de ".$titreProfessionnel.", en ".$etatMembre." par ".$nomOrdre." </li>";
$mentionsLegales .= "<li>Son activité est soulise aux rèlges suivantes : ".$regles."</li>";
$mentionsLegales .= "</ul>";
}
$mentionsLegales .= "<h2>Hébergeur</h2>";
$mentionsLegales .= "<ul>";
$mentionsLegales .= "<li>".$hebergeurNom.", au capital de ".$hebergeurCapital."</li>";
$mentionsLegales .= "<li>Adresse : ".$hebergeurAdresse."</li>";
$mentionsLegales .= "<li> Téléphone : ".$hebergeurTelephone."</li>";
$mentionsLegales .= "</ul>";
if( have_rows("droit_dauteur", "options") ):
while( have_rows("droit_dauteur", "options") ): the_row();
$copyright = get_sub_field("copyright");
if( have_rows("copyright", "options") ):
$mentionsLegales .= "<h2>Copyright</h2>";
$mentionsLegales .= "<ul>";
while( have_rows("copyright", "options") ): the_row();
$auteur = get_sub_field("nom_de_lauteur");
$fonction = get_sub_field("fonction");
$swCopyright = get_sub_field("site_web");
$mailCopyright = get_sub_field("email");
$emailCopyright = antispambot( $mailCopyright);
$mentionsLegales .= "<li>".$auteur.", ".$fonction." - <a href='".$swCopyright."' target='_blank'>".$swCopyright."</a>, ";
$mentionsLegales .= "<a href='mailto: ".$mailCopyright."'>".$mailCopyright."</a>";
$mentionsLegales .= "</li>";
endwhile;
$mentionsLegales .= "</ul>";
endif;
endwhile;
endif;
// Suite des mentions légales :
$mentionsLegales .="<h2>Conditions d’utilisation</h2>";
$mentionsLegales .="<p>".$nomduSite." utilise différents langages web (HTML, HTML5, JavaScript, CSS, …). Afin de vous assurer d’un affichage optimal, nous vous recommandons d’utiliser des navigateurs modernes comme Internet explorer, Safari, Firefox, Google Chrome… ".$nomduSite." met en œuvre tous les moyens dont il dispose, pour assurer une information fiable et une mise à jour fiable des informations fournies par son site internet. Toutefois, certaines erreurs ou omissions peuvent subsister. L’internaute devra donc s’assurer de l’exactitude des informations et signaler toutes modifications du site qu’il jugerait utile. ".$nomduSite." n’est en aucun cas responsable de l’utilisation faite de ces informations, et de tout préjudice direct ou indirect pouvant en découler.</p>";
$mentionsLegales .="<h2>Cookies</h2>";
$mentionsLegales .="<p>".$nomduSite." peut être amené à vous demander l’acceptation des cookies pour des besoins de fonctionnement. Un cookie est un fichier déposé sur votre disque dur lors de la consultation de certains sites web. Il conserve des informations en vue d’une connexion ultérieure. Certaines parties de ce site ne peuvent être fonctionnelles sans l’acceptation de cookies. Vous pouvez, à tout moment, demander l’effacement de vos données personnelles. Il suffira de nous contacter par email à <a href='mailto: ". $emailMentions."'>".esc_html($emailMentions)."</a>";
$mentionsLegales .="<h2>Les liens</h2>";
$mentionsLegales .="<p>Les sites internet de ".$nomduSite." peuvent offrir des liens vers d’autres sites internet ou d’autres ressources disponibles sur Internet. ".$nomduSite." ne dispose d’aucun moyen pour contrôler les sites en connexion avec ses sites internet. ".$nomduSite." ne répond pas de la disponibilité de tels sites et sources externes, ni ne la garantit. Il ne peut être tenu pour responsable de tout dommage, de quelque nature que ce soit, résultant du contenu de ces sites ou sources externes. Notamment des informations, produits ou services qu’ils proposent, ou de tout usage qui peut être fait de ces éléments. Les risques liés à cette utilisation incombent pleinement à l’internaute, qui doit se conformer à leurs conditions d’utilisation. Les utilisateurs, les abonnés et les visiteurs des sites internet de ".$nomduSite." ne peuvent mettre en place un hyperlien en direction de ce site sans l’autorisation expresse et préalable de ".$nomduSite." . Dans l’hypothèse où un utilisateur ou visiteur souhaiterait mettre en place un hyperlien en direction d’un des sites internet de ".$nomduSite." , il lui appartiendra d’adresser un email accessible sur le site afin de formuler sa demande de mise en place. ".$nomduSite." se réserve le droit d’accepter ou de refuser un hyperlien sans avoir à en justifier sa décision.</p>";
$mentionsLegales .="<h2>Services fournis</h2>";
$mentionsLegales .="<p>L’ensemble des activités de la société ainsi que ses informations sont présentés sur notre site ".$urlduSite." . ".$nomduSite." s’efforce de fournir sur son site des informations aussi précises que possible. Les renseignements figurant sur ce site ne sont pas exhaustifs et les photos non contractuelles. Ils sont donnés sous réserve de modifications ayant été apportées depuis leur mise en ligne. Par ailleurs, toutes les informations indiquées sur le site ".$urlduSite." sont données à titre indicatif, et sont susceptibles de changer ou d’évoluer sans préavis.</p>";
$mentionsLegales .="<h2>Limitations contractuelles sur les données</h2>";
$mentionsLegales .="<p>Tout contenu téléchargé se fait aux risques et périls de l’utilisateur et sous sa seule responsabilité. En conséquence, ".$nomduSite." ne saurait être tenu responsable d’un quelconque dommage subi par l’ordinateur de l’utilisateur ou d’une quelconque perte de données consécutives au téléchargement. De plus, l’utilisateur du site s’engage à accéder au site en utilisant un matériel récent, ne contenant pas de virus et avec un navigateur de dernière génération mis-à-jour.</p>";
$mentionsLegales .="<h2>Médias & propriété intellectuelle</h2>";
$mentionsLegales .="<p>Tout le contenu présent sur ce site, incluant, de façon non limitative, le contenu textuel, graphique et multimédia ainsi que leur mise en forme sont la propriété exclusive de la société, à l’exception des marques, logos ou contenus appartenant à d’autres sociétés partenaires ou auteurs. Toute reproduction, toute distribution, toute modification, toute adaptation, retransmission ou publication, même partielle, de ces différents éléments est strictement interdite sans l’accord exprès par écrit de ".$nomduSite." . Le code de la propriété intellectuelle tel que cité dans les articles L.335-2 soumet le contrefacteur à des sanctions civiles et pénales pour le non-respect des droits d’auteur. Conformément à la nouvelle 25 mai 2018, ce site n’est pas soumis à une déclaration CNIL, mais respecte la loi RGPD.</p>";
$mentionsLegales .="<h2>Litiges</h2>";
$mentionsLegales .="<p>Les présentes conditions de ce site sont régies par la loi Française et toute contestation ou litige qui pourrait naître de l’interprétation ou de l’exécution de celles-ci sera de la compétence exclusive des tribunaux dont dépend le siège social de la société. La langue de référence, pour le règlement de contentieux éventuels, est le français.</p>";
return $mentionsLegales ;
}
add_shortcode('mentions-legales', 'shortcode_mentions_legales');
En conclusion
Grace à cette technique, vous pourrez aisément passer cette étape des mentions légales d’un site à un autre pour vos clients.
De plus, en utilisant la technique de créer des shortcodes et en vous inspirant du code fourni pour récupérer des données ACF, vous pourrez créer d’autres shortcodes qui vous permettront d’afficher des coordonnées par exemple sur votre site en les administrant à un seul endroit : la page option “Votre entreprise”.
Demandez votre devis pour le développement de nouvelles fonctionnalités