Pourquoi nous avons créé notre plugin Monsieur Site Web

WordPress est assez magique, certes !
Mais pour réaliser un site internet professionnel, WordPress à quelques inconvénients et certaines fonctionnalités nécessaires doivent être ajoutées sur chaque site internet.

C’est pourquoi chez Monsieur Site Web, nous avons créé notre propre plugin qui nous permet d’effectuer des actions de manière automatique sur votre futur site.

Découvrons en détails le fonctionnement de notre plugin.

Pourquoi utiliser un plugin pour déployer des fonctionnalités ?

La question est intéressante. La première chose que l’on apprend lorsqu’on crée un site WordPress professionnel, c’est d’utiliser le fichier functions.php du thème enfant pour mettre en place des fonctionnalités sur mesure.

Pour un site qui possède de nombreuses fonctionnalités, ce fichier est rapidement très long. Même bien organisé, il est parfois difficile de s’y retrouver.

Certaines fonctionnalités sont vraiment propre à un site internet et ont complètement leur place dans ce fichier.

D’autres fonctionnalités, plus globales, peuvent être utilisées potentiellement par plusieurs sites internet. Le principe de plugin prend alors tout son sens pour activer rapidement ces fonctionnalités sur plusieurs sites.

L’avantage majeur d’utiliser un plugin est l’ajout de nouvelles fonctionnalités au fur et à mesure de la construction d’un nouveau site.
Ces ajouts peuvent s’installer facilement et de manière rétro-active sur les sites déjà réalisés, ce qui permet une amélioration constante de notre parc de sites internet.

Comment sont déployées ces fonctionnalités ?

Nous avons 3 grands types de fonctionnalités dans notre plugin :

Les fonctionnalités nécessaires

Elles sont déployées le plus simplement possible. Nous utilisons généralement un Hook ou un Filtre de WordPress (ou d’une extension) et nous personnalisons l’action de telle sorte qu’une fois le plugin activé, la fonctionnalité se mette en place de manière automatique.

Par exemple, nous renommons par défaut l’URL de la page des résultats de recherche WordPress qui est par défaut : https://monsieursiteweb.fr/?s=recherche

Une fois notre plugin activé, notre fonction personnalisée utilise le hook template_redirect pour personnaliser l’URL :

				
					//Changer l'URL de la page recherche
function MSW_changer_url_page_recherche() 
{
    if ( is_search() && ! empty( $_GET['s'] ) ) {
        wp_safe_redirect( home_url( "/search/" ) . urlencode( get_query_var( 's' ) ) );
        exit();
    }   
}
add_action( 'template_redirect', 'MSW_changer_url_page_recherche' );
				
			

Ainsi, l’URL de la page de recherche sera sous la forme : https://monsieursiteweb.fr/search/recherche

Les fonctionnalités conditionnelles

Ces fonctionnalités sont présentes dans notre plugin mais ne sont activées que si le plugin est paramétré pour l’activer.

Prenons un exemple :

Notre plugin embarque une fonctionnalité très simple, la possibilité d’afficher ou non le nombre de résultats de produits dans une boutique Woocommerce.
Certains clients vont vouloir cacher le nombre de produits que contient la boutique.

Dans ce cas, nous stockons dans la table options de la base de données les différentes fonctionnalités souhaitées par le client.

Nous récupérons les différentes fonctionnalités à activer à l’aide de fonctions sur mesure qui nous retournent un résultat.
Selon le paramétrage de notre plugin, nous appliquons ou non la fonctionnalité. Cela donne plus concrètement :

				
					//Retirer le nombre de produits affichés page boutique
function MSW_remove_result_count()
{
	$remove_result_count = MSW_get_woo_option( 'remove-result-count' );
	if ( $remove_result_count != false ) remove_action( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 );
}
add_action( 'init', 'MSW_remove_result_count', 10 );
				
			

Les fonctionnalités paramétrables

Ces fonctionnalités sont généralement activées par défaut sur notre plugin, mais elles nécessitent d’être personnalisées pour qu’elles fonctionnent sur mesure sur le site de notre client.

Prenons encore une fois un exemple :

Nous avons personnalisé via notre plugin l’espace compte client de Woocommerce. Le tableau de bord du client permet d’afficher de multiples informations.
Cependant, les informations à afficher sont spécifiques à chaque site E-commerce.

C’est pourquoi notre plugin intègre la fonctionnalité de base, mais utilise des filtres permettant de retourner un contenu unique.

En fonctionnant ainsi, nous n’avons plus qu’à appliquer dans le thème enfant un filtre pour personnaliser le tableau de bord, nous n’avons pas besoin de réécrire toutes les fonctionnalités.

Voici une partie de notre fonction liée au tableau de bord :

				
					//Afficher un dashboard personnalisé sur la page mon compte
function MSW_custom_dashboard() 
{ 
	global $wp; 
	$request = explode( '/', $wp->request );
	if( ( end($request) == 'mon-compte' && is_account_page() ) )
	{
		echo ' <div class="container_dashboard">';
		$html = apply_filters('MSW_filter_custom_dashboard_text' , $html = '');
		echo $html;
		echo '</div>'; 
	} 
} 
add_action('woocommerce_before_my_account', 'MSW_custom_dashboard', 10);
				
			

Ce bout de code n’est qu’une petite partie de la fonctionnalité, mais on peut voir que le contenu s’affiche à l’aide du filtre MSW_filter_custom_dashboard_text().

Pour mettre en place le tableau de bord de l’espace client, il ne nous reste plus qu’à écrire le texte nécessaire dans notre fichier functions.php du thème enfant :

				
					//Afficher le contenu du dashboard personnalisé mon compte
function MSW_content_custom_dashboard( $html ) 
{
	$user = wp_get_current_user();
	$nom_entreprise = do_shortcode('[MSW_NOM_COMMERCIAL_ENTREPRISE]');
	
	$html = '<h2>Bonjour ' . $user->first_name . ', bienvenue chez ' . $nom_entreprise . '</h2>
	$html.=	'<p><strong>Bonne visite sur votre boutique ' . $nom_entreprise . ' !</strong></p>';
	$html.=	'<a class="bouton bouton_alternatif" href="' . get_permalink( woocommerce_get_page_id( 'shop' ) ) . '">Visiter la boutique</a>

	return $html;
}
add_filter('MSW_filter_custom_dashboard_text', 'MSW_content_custom_dashboard', 10);
				
			

Les grandes familles de fonctionnalité de notre plugin

La sécurité

WordPress représente près de 40% des sites internet mondiaux, il est donc la cible potentielle de hackers, toujours à la recherche de vulnérabilité.
Nous vous en parlions d’ailleurs dans notre article dédié aux meilleures actions pour sécuriser votre site WordPress.

Certaines actions importantes sont à mettre en place sur un site propulsé par WordPress, et ces actions sont à mettre en place sur chaque site.

Notre plugin embarque de multiples fonctionnalités de sécurité pour s’assurer que votre site soit protégé contre les attaques.

L'esthétique

Notre plugin vous permet d’intégrer rapidement votre charte graphique au site Web.
En effet, nous stockons en base de données et déployons sous forme de variables CSS plusieurs choix de couleurs et polices.

Les intérêts sont multiples :

  • Nous pouvons, pendant le développement de votre site, faire des essais rapide pour modifier une couleur ou une police et prendre les bonnes décisions graphiques.
  • Une fois votre site en ligne, le client peut, en quelques clics, modifier à son tour les couleurs du site (utile par exemple en cas de campagne Noël, Halloween ou Black Friday par exemple).

L'optimisation des performances

Certaines fonctionnalités nécessitent d’autres plugins pour fonctionner. Ces extensions ne sont malheureusement pas toujours optimisées et certaines pages se retrouvent avec des fichiers inutiles au bon fonctionnement de la page.

Notre plugin examine la liste des extensions installées sur le site, et vérifie pour chaque page que seulement les fichiers nécessaires sont chargés.
Cela diminue le nombre de requêtes pour la page et donc son temps de chargement.

Prenons par exemple une extension de gestion des cookies. Une fois les cookies acceptés et le cookie d’autorisation déposé, le site web n’a plus besoin d’utiliser les fichiers CSS et JS de l’extension.

Notre plugin va donc dequeue les fichiers du plugin lorsque la condition demandée est réalisée.

L'optimisation des sites vitrine

Votre entreprise possède un site vitrine pour gérer son activité, et pour une raison X ou Y votre entreprise déménage, ou votre numéro de téléphone change.
Vous devez mettre à jour votre site et vous rendez compte que ces informations sont affichés à plusieurs endroits  (page accueil, footer, page contact).

Notre plugin prévoit ce type de modification et embarque sous forme de Shortcode l’affichage de ces informations.

				
					function MSW_tel_contact()
{
	$output = '';
	
	$tel_contact = MSW_get_vitrine_option( 'tel-contact' );
	if ( $tel_contact != false ) $output.= '<a href="tel:' . $tel_contact . '">' . $tel_contact . '</a>';

	return $output;					
}
add_shortcode('MSW_TEL' , 'MSW_tel_contact');
				
			

Ainsi, vous n’avez plus qu’à modifier cette information dans les paramètres de notre plugin.
Nous gérons ainsi des dizaines d’informations, comme votre adresse, vos horaires ou encore vos réseaux sociaux.

L'optimisation des sites E-commerce

Notre plugin prévoit également à ce jour plus de 130 fonctionnalités liées à votre site E-commerce.

Ainsi, nous pouvons efficacement vous mettre en place :

  • Une boutique optimisée et performante
  • Des pages d’archive produit sur mesure
  • Une fiche produit 100% personnalisée 
  • Une page panier sur mesure et un tunnel de vente optimisée
  • Une page de remerciement entièrement personnalisable.
  • Un système de gestion de Newsletter
  • Un système de Wishlist
  • Un système de relance de paniers abandonnés
  • Un système d’avis client optimisé
  • Une gestion de plusieurs type / rôle de client (client classique, client pro etc).
  • Une gestion de boutique avec des stocks en plusieurs unités (Kg, L, g)…
  • Une différenciation des quantités en stock E-commerce / boutique sur un seul stock physique
  • Et bien d’autres fonctionnalités. 

L'optimisation du back-office

Chez Monsieur Site Web, nous ne nous occupons pas uniquement du front-end pour satisfaire nos clients. Notre plugin intègre l’ajout d’un rôle utilisateur spécifique pour nos clients. Grâce à ce rôle utilisateur, nous pouvons personnaliser au mieux le back-office pour nos clients.

Ainsi, votre back-office sera 100% personnalisé, ce qui inclut :

  • Un nettoyage des fonctionnalités inutiles pour le client
  • Un back-office entièrement personnalisé pour une meilleure expérience utilisateur (activable ou non)
  • Une réorganisation du menu d’onglet pour une meilleure productivité
  • Un tableau de bord sur mesure pour visualiser rapidement les actions à mener sur votre site.

Un tableau de bord sur mesure

Fini le tableau de bord par défaut de WordPress !

Pour piloter au mieux votre activité, notre plugin est équipé d’un tableau de bord sur mesure modulable selon les fonctionnalités de votre site.
Le tableau de bord en détails :

  • To Do List : Récapitule les actions que vous avez à entreprendre sur votre site.
    Il vous suffit de cliquer sur une tâche à traiter pour accéder directement à la section correspondante.
  • Commandes : Nous récapitulons les commandes en attente de traitement et vous mettons également à disposition quelques statistiques sur vos ventes.
  • Avis clients : Retrouvez un tableau récapitulatif des avis en attente d’approbation et des avis en attente de réponse. Nous vous mettons également à disposition quelques statistiques sur les avis clients.
  • Produits : Récapitulatif des derniers produits ajoutés, statistiques sur les produits et leur répartition dans les différentes catégories.
  • Retour en stock : Retrouvez un récapitulatif des demandes de retour en stock de vos clients. Cet indicateur vous permet de savoir quel produit il est important de rentrer en stock.
  • Wishlist : Retrouvez un tableau récapitulatif des produits les plus ajoutés à la Wishlist par vos clients + des statistiques sur les Wishlists de vos clients.
  • Clients : Récapitulatif des derniers clients, statistiques sur le nombre de nouveaux clients.
  • Newsletter : Retrouverez également des statistiques sur les inscriptions à la Newsletter de vos clients.
  • Articles: Récapitulatif des derniers articles publiés, statistiques sur vos articles et leur répartition dans les différentes catégories.

La conclusion !

Développer un plugin demande des compétences et nécessite notamment une bonne connaissance de WordPress et de son Codex.
Il est également nécessaire de posséder une certaine expérience en développement et maîtriser plusieurs langages de programmation.
Cela dit, lorsqu’on commence à gouter aux plugins pour embarquer différentes fonctionnalités, on devient allergique au fichier functions.php qui fait office de fourre-tout dans le thème enfant !

Si le développement de plugin sur mesure vous intéresse, n’hésitez pas à nous laisser un commentaire pour en discuter.

Si vous êtes à la recherche d’un prestataire pour réaliser sur mesure votre site internet, n’hésitez pas à nous contacter :

Les tags

A bientôt pour de nouvelles astuces ! 🙂

Vous avez aimé cet article ? Vous pouvez

Le partager avec votre communauté

ou
ou

Nous laisser votre commentaire pour nous en dire plus

Articles similaires

Personnaliser le formulaire de validation de commande Woocommerce

Le tunnel de vente d’un site E-commerce est extrêmement important pour que les ventes se convertissent.
Une page de validation de commande trop succincte, peu réfléchie, ou au contraire une page surchargée aura un impact négatif sur vos ventes.
Découvrons ensemble comment personnaliser la page de checkout pour offrir une expérience utilisateur optimale à vos clients.

Lire l'article

Les commentaires

Aucun commentaire enregistré. Soyez le premier à laisser un commentaire.

Laisser un commentaire