Accueil » Snippets WordPress » Woocommerce: modifier ou supprimer une partie des descriptions produits

Woocommerce: modifier ou supprimer une partie des descriptions produits

woocommerce snippet

Sous chaque produit WooCommerce se trouve un bloc de description contenant trois items: Description, Informations complémentaires et Avis .

descriptions produits woocommerce snippet wpmarmite

Dans ce snippet, nous allons voir comment modifier ces blocs, en ajouter, les réordonner, les supprimer, les renommer…

On commence de suite avec …

Supprimer un ou plusieurs blocs d’informations

Copiez-collez le code suivant dans le fichier functions.php de votre thème enfant:

// Gérer les blocs de description produits

add_filter( 'woocommerce_product_tabs', 'wpm_remove_product_tabs', 98 );

function wpm_remove_product_tabs( $tabs ) {

    unset( $tabs['description'] );      	// Supprime le bloc "Description"
    unset( $tabs['reviews'] ); 			// Supprime le bloc "Avis"
    unset( $tabs['additional_information'] );  	// Supprime le bloc "Information complémentaires"

    return $tabs;

}

Ce code supprime tous les blocs de description. Si vous souhaitez en conserver un ou plusieurs, effacez les lignes des encarts que vous voulez garder.

Par exemple, ici je n’ai supprimé que l’encart « Informations complémentaires »:

supprimer bloc descriptions woocommerce snippet wpmarmite

Renommer les blocs d’informations

Vous pouvez modifier les titres des blocs d’informations pour personnaliser un peu votre boutique. Pour cela copiez-coller le code suivant dans le fichier functions.php de votre thème enfant :

/* Modifier le nom des bloc d'informations WooCommerce */

add_filter( 'woocommerce_product_tabs', 'wpm_rename_tabs', 98 );
function wpm_rename_tabs( $tabs ) {

	$tabs['description']['title'] = __( 'A propos de ce produit' );		// Renomme le bloc "Description"
	$tabs['reviews']['title'] = __( 'Avis de nos clients' );				// Renomme le bloc "Avis"
	$tabs['additional_information']['title'] = __( '+ d\'infos' );	// Renomme le bloc "Informations complémentaires"

	return $tabs;

}

Modifiez les textes entre parenthèses par ceux que vous voulez utiliser sur votre boutique. La fonction __() permet de traduire la chaîne de caractère si vous utilisez le multilingue sur votre site WordPress.

Voici le résultat :

renommer bloc descriptions woocommerce snippet wpmarmite

Modifier l’ordre d’affichage des blocs de description

Si vous souhaitez réorganiser l’ordre d’affichage des blocs, copiez-collez le code suivant dans le fichier functions.php de votre thème enfant:

/* Réordonner les blocs de descriptions WooCommerce */

add_filter( 'woocommerce_product_tabs', 'wpm_reorder_tabs', 98 );

function wpm_reorder_tabs( $tabs ) {

	$tabs['reviews']['priority'] = 5;			// On affiche les avis en 1er
	$tabs['description']['priority'] = 10;			// ensuite le bloc "Description" en deuxieme
	$tabs['additional_information']['priority'] = 15;	// Et enfin les informations complémentaires

	return $tabs;
}

Et le résultat de ce snippet :

reorganiser blocs descriptions woocommerce snippet wpmarmite

Modifier le contenu d’un bloc

Vous pouvez tout à fait modifier le contenu d’un bloc par ce que vous voulez. Pour cela copiez-collez le snippet suivant dans le fichier functions.php de votre thème enfant:

/* Modifier le contenu d'un bloc d'informations WooCommerce */

add_filter( 'woocommerce_product_tabs', 'wpm_custom_description_tab', 98 );

function wpm_custom_description_tab( $tabs ) {

	$tabs['description']['callback'] = 'wpm_custom_description_tab_content';	// On remplace le contenu du bloc description avec notre fonction personnelle

	return $tabs;
}

function wpm_custom_description_tab_content() {
	echo '<h2>Ce bloc a changé de contenu</h2>';
	echo '<p>J\'écris ici du contenu personnalisé pour décrire mon produit</p>';
}

Il vous suffit maintenant de personnaliser la fonction wpm_custom_description_tab_content() pour y insérer le contenu de votre choix dans le bloc de description WooCommerce.

Voici le résultat du snippet:

modifier contenu bloc description woocommerce snippet wpmarmite

Ajouter un bloc supplémentaire personnalisé

Pour les besoins de votre site et de vos produits, il se peut que ces trois blocs de description ne suffisent pas.

Pas de problème, nous pouvons en ajouter d’autres !

Comme d’habitude, copiez-collez le code suivant dans le fichier functions.php de votre thème enfant:

/* Ajouter un bloc d'informations WooCommerce */

add_filter( 'woocommerce_product_tabs', 'wpm_new_product_tab' );

function wpm_new_product_tab( $tabs ) {
	
	// On ajoute un nouveau bloc
	
	$tabs['nouveau_bloc'] = array(
		'title' 	=> __( 'Mon nouveau bloc', 'woocommerce' ),
		'priority' 	=> 50,
		'callback' 	=> 'wpm_new_product_tab_content'
	);

	return $tabs;

}
function wpm_new_product_tab_content() {

	// Insérez ici le contenu de votre nouveau bloc

	echo '<h2>Le titre de mon nouveau bloc</h2>';
	echo '<p>Le contenu de mon nouveau bloc.</p>';
	
}

Vous pouvez modifier l’attribut ‘priority’ si vous ne souhaitez pas que votre nouveau bloc apparaisse en dernier, comme dans le snippet plus haut « Modifier l’ordre d’affichage des blocs de description »

Modifiez le contenu de la fonction wpm_new_product_tab_content() pour personnaliser ce nouveau bloc.

Et le résultat en image :

ajouter bloc description woocommerce snippet wpmarmite

Conclusion

À l’aide de quelques lignes de code, il est possible de modifier à sa guise les blocs de description des pages produits de WooCommerce.

Résultat des courses, on obtient des pages produits comportant uniquement les informations dont les visiteurs ont besoin. En effet, mettre trop de contenu sur une page peut plus perdre les gens qu’autre chose…

Avez-vous utilisé un de ces snippets sur votre site ? Dites-nous en plus en commentaire 🙂

Source: Woocommerce.com

Vous débutez ? Procurez-vous le Kit du Freelance WordPress

Trouver les bons clients, leur vendre des prestations et bien communiquer avec eux n'est pas inné. Évitez les galères et gagnez du temps en vous formant aux côtés de 7 professionnels aguerris.

Commencer maintenant

24 commentaires Ajoutez le vôtre

  1. Bonjour,

    En remplacement des Tabs, je souhaite insérer du texte avec un H2, H3, etc…, comment puis je procéder simplement ?

    Dans ma page produit je peux inserer du texte dans 2 zones :
    – Short description
    – Tabs..

    En supprimant les Tabs, je me prive d’une zone de texte bien utile.. comment la retrouver sans l’usage de Tabs ?

    Avez vous une solution ? Merci beaucoup

    Répondre
    • Bonjour, c’est exactement ce que j’explique dans la partie « Ajouter un bloc supplémentaire personnalisé » ou j’y ajoute un h2 et un bout de texte. Cela devrait te suffire à faire quasiment tout ce que tu veux.

  2. Bonjour,
    j’aimerais insérer mon contact form dans un nouveau bloc. J’ai mon nouveau bloc mais je n’arrive pas et ne sais pas comment insérer le contact form dedans…
    Pouvez vous m’aider ?
    Merci !

    Répondre
    • Bonjour, tu peux insérer le shortcode dans le template avec la fonction do_shortcode()

  3. Bonjour,
    d’abord merci pour toutes ces infos et ce super site, ensuite j’arrive très bien à rajouter un bloc, mais lorsque j’en met un second cela me crée une erreur « une new product table » a déjà été créée.
    Quelle est l’info qui me manque?

    Répondre
  4. Désolé Julien, j’étais en galère sur un autre problème 😀
    En fait je copie/colle 2 fois le code :

    /* Ajouter un bloc d’informations WooCommerce */

    add_filter( ‘woocommerce_product_tabs’, ‘wpm_new_product_tab’ );

    function wpm_new_product_tab( $tabs ) {

    // On ajoute un nouveau bloc

    $tabs[‘nouveau_bloc’] = array(
    ‘title’ => __( ‘Entretien’, ‘woocommerce’ ),
    ‘priority’ => 50,
    ‘callback’ => ‘wpm_new_product_tab_content’
    );

    return $tabs;

    }
    function wpm_new_product_tab_content() {

    // Insérez ici le contenu de votre nouveau bloc

    echo ‘Entretien des sacs.’;
    echo ‘Mon texte blabla.’;

    }

    /* Ajouter un bloc d’informations WooCommerce */

    add_filter( ‘woocommerce_product_tabs’, ‘wpm_new_product_tab’ );

    function wpm_new_product_tab( $tabs ) {

    // On ajoute un 2eme bloc

    $tabs[‘nouveau_bloc’] = array(
    ‘title’ => __( ‘Livraison’, ‘woocommerce’ ),
    ‘priority’ => 50,
    ‘callback’ => ‘wpm_new_product_tab_content’
    );

    return $tabs;

    }
    function wpm_new_product_tab_content() {

    // Insérez ici le contenu de votre nouveau bloc

    echo ‘Délais de livraison’;
    echo ‘Mon autre texte blabla’;

    }

    j’ai essayé différentes variantes sans succès.

    Répondre
    • Bonjour. Dans ce cas c’est normal. Il est impossible d’utiliser deux fois la même fonction (ou deux fontions portant le même nom), du coup si tu veux l’utiliser plusieurs fois il faudra que tu changes le nom à chaque fois.N’oublie de modifier le nom de la fonction dans le add_filter() aussi

  5. Bonjour,
    Merci pour vos informations plus qu’efficaces et précieuses!
    J’arrive à ajouter un bloc supplémentaire, à modifier le titre etc
    Je me demande maintenant comment est-ce que je peux avoir un contenu différent pour chaque article.

    Pour être plus precise, mon nouvel onglet ajouté est « accessoires », et j’aimerai savoir qu’est-ce que je dois écrire dans le contenu du bloc pour qu’il puisse être différent pour chaque article.

    Répondre
    • Bonjour. Si tu veux que cette partie soit dynamique (donc différente pour chaque produit) tu vas devoir utiliser des variables. Pour ceci je te conseille d’utiliser le plugin ACF qui va ajouter un champs personnalisé à tes produits. Tu pourras le nommer « accessoires » si tu veux, et ensuite le récupérer en ePHP pour qu’il change automatiquement sans rentrer dans le code à chaque fois.

  6. Deuxième petite question,
    Mon site est en français et en anglais, puis-je mettre un onglet « Accessoires » sur la partie française, et un onglet « Accessories » sur lapartie anglaise ?
    Merci d’avance!

    Répondre
    • Bonjour. Oui tu peux mais il faudra que tu utilises un plugin multilingue comme Polylang ou WMPL pour le faire.

    • Bonjour,

      je reviens sur la question de typhène, a savoir pour que le contenu soit traduisible :

      Si on ajoute une fonction pour créer un nouvel onglet + son contenu, le tout en dur dans la fonction, je ne vois pas comment, en l’état, le titre & contenu de l’onglet peuvent être traduisible via un Polylang ou WPML… ?

    • Salut, si tu ajoutes une fonction pour créer un onglet et du contenu alors il faut que tu utilises la fontions PHP _(‘ton texte’) pour englober ton texte. C’est une fonction permettant de rendre les chaines de caractères traduisibles. Bonne journée

    • Merci julien pour la réponse rapide ! 🙂

      bonne nouvelle pour la possibilité de rendre traduisible le texte, mais je suis pas sur d’avoir capté le type de syntaxe…
      est ce que c’est bon dans l’exemple ci-dessous ?

      function wpm_new_product_tab_content() {
      // Insérez ici le contenu de votre nouveau bloc

      echo ‘ _(‘Titre du Bloc’)’;
      echo ‘ _(‘Le contenu de mon nouveau bloc.’)’;
      }
      d’avance merci…

  7. Bonjour,
    J’ai la même question que Martin du 19 mars pour intégrer formcraft au bloc supplémentaire. J’ai lu ton conseil pour intégrer le shortcode avec la fonction do_shortcode() mais je ne sais pas comment intégrer le shortcode formcraft [fc id=’1′][/fc] avec do_shortcode().
    Et comment ajouter tout ça dans le code d’ajout de bloc, est-ce que ça doit bien aller dans la partie echo ‘contenu’;
    Merci d’avance et merci pour toutes ces précieuses informations.

    Répondre
    • Bonjour, en gros pour ce que tu veux faire, tu dois avoir ça:
      function wpm_new_product_tab_content() {

      // Insérez ici le contenu de votre nouveau bloc

      echo ‘Le titre de mon nouveau bloc’;
      echo do_shortcode( ‘[fc id=’1′][/fc]’ );;

      }

  8. C’est parfait, ça fonctionne. Un grand merci pour ton temps et le service apporté, c’est super.

    Répondre
  9. Bonjour,

    J’ai deux questions après avoir créer un onglet supplémentaire :

    – comment y insérer une image,
    – comment récupérer les données d’une variable pour un contenu dynamique (je ne sais pas ce que c’est que l’ePHP mentionné dans la réponse du 13 avril)

    Merci d’avance

    Répondre
    • Bonjour, pour insérer l’image il va falloir le faire en utilisant la balise HTML , pour le PHP ça dépend de ce que tu veux ajouter?

  10. Bonjour et merci pour ce merveilleux site, c’est un travail de fou et hyper bien fait !

    Ma question est de savoir si il y a moyen d’enlever la barre avec les onglets de chaque ? Car je ne garde qu’un seul bloc alors cette barre ne me sert à rien …

    Merci d’avance

    Répondre
  11. Bonjour,

    C’est dur à expliquer mais en fait quand on a plusieurs blocs juste au dessus du titre du bloc ouvert il y a une barre avec des onglets qui permet de sélectionner le bloc que l’on veut afficher.

    Dans mon cas je n’es garde qu’un seul bloc j’aimerai donc supprimer cette barre juste au dessus du titre.

    Merci d’avance 😉

    Répondre
    • Bonjour, il faut utiliser du CSS personnalisé pour ça si j’ai bien compris ta question.

Laisser un commentaire

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

La Marmite ne peut malheureusement pas fournir de support. Merci d'en tenir compte dans votre commentaire 😉

Si vous ne lui en voulez pas, donnez-lui un j'aime sur Facebook :



leo. elementum efficitur. adipiscing quis diam leo elit. Praesent mattis Lorem Curabitur
Partagez
Tweetez
Partagez