Pourquoi modifier les templates WooCommerce ?

Les achats en ligne sont plus confortables et plus rapides que d’aller dans des magasins physiques, c’est pourquoi le commerce électronique est devenu extrêmement populaire ces dernières années. Avec autant de concurrence, il ne suffit pas de monter sa boutique WooCommerce et de mettre ses produits en ligne. Vous devez trouver des moyens de différencier et se distinguer des autres. L’une des meilleures façons d’y parvenir est de personnaliser votre boutique. Outre la modification de l’en-tête et la modification des pages clés telles que la page de paiement ou la page de la boutique, vous pouvez également personnaliser les modèles que vous utilisez. Il n’y a pas beaucoup de sites qui modifient leurs modèles, vous pourrez donc avoir une longueur d’avance sur vos concurrents. Si vous avez des compétences en codage, vous savez probablement que l’utilisation d’un thème enfant est recommandée lors de l’édition de votre boutique. De même, les crochets intégrés de WordPress et WooCommerce offrent de nombreuses possibilités pour modifier et ajouter de nouvelles fonctionnalités à n’importe quel site Web.

Comment personnaliser les modèles WooCommerce par programmation

Il existe deux façons principales de personnaliser les modèles WooCommerce par programmation :

  1. Avec crochets
  2. Remplacer les modèles

Chacune de ces méthodes sert des objectifs différents. Examinons de plus près leurs principales différences.

Remplacer les fichiers de modèle ou utiliser des crochets ?

Personnaliser votre boutique avec des crochets est une pratique recommandée. Cependant, lors de la personnalisation de WooCommerce avec des crochets, vous pouvez rencontrer des problèmes d’incompatibilité. Pour des personnalisations plus complexes, écraser les fichiers de modèle WooCommerce peut être une meilleure option. Il est important de noter que lorsque vous écrasez un fichier de modèle, les crochets qui fonctionnent sur ce fichier cesseront de fonctionner. Chaque crochet pointe vers un fichier spécifique, vous ne pourrez donc pas les utiliser si vous modifiez le même fichier qui déclenche le crochet. Prenons par exemple le single-product.php fichier pour voir comment les crochets sont créés. Notez également où se trouvent les crochets avant et après la boucle.

if ( ! defined( 'ABSPATH' ) ) {          exit; // Exit if accessed directly     }         get_header( 'shop' ); ?>                       /**                   * woocommerce_before_main_content hook.                   *                   * @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content)                   * @hooked woocommerce_breadcrumb - 20                   */                  do_action( 'woocommerce_before_main_content' );          ?>                                                                                                                                    /**                   * woocommerce_after_main_content hook.                   *                   * @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content)                   */                  do_action( 'woocommerce_after_main_content' );          ?>                                /**                   * woocommerce_sidebar hook.                   *                   * @hooked woocommerce_get_sidebar - 10                   */                  do_action( 'woocommerce_sidebar' );          ?>              get_footer( 'shop' );

Si vous regardez le script, vous verrez comment nous créons les crochets sur le do_action(‘name-of-the-hook’); lignes. Disons que vous avez le crochet suivant sur le fonctions.php fichier de votre thème enfant :

add_action('woocommerce_after_main_content',function(){echo “custom content after single product template file”;});

Vous pouvez répercuter le même contenu directement sur le fichier de modèle comme suit :

               echo “custom content after single product template file”;                  /**                   * woocommerce_after_main_content hook. do_action( 'woocommerce_after_main_content' );

Cependant, ce faisant, le do_action(‘woocommerce_after_main_content’); fonction deviendra inutile puisque vous y avez ajouté votre code au lieu de le tirer avec le crochet. Donc, vous voudrez peut-être supprimer tous les crochets inutiles dans le fichier en supprimant le do_action(‘nom-du-hook’); sections. Gardez à l’esprit que si vous utilisez le woocommerce_after_main_content() hook ailleurs sur votre site Web et vous supprimez le do_action( 'name_of_your_hook' ); dans ce fichier, le crochet ne fonctionnera plus. Après avoir supprimé les crochets et les balises PHP inutiles, votre fichier devrait ressembler à ceci :

if ( ! defined( 'ABSPATH' ) ) {        exit; // Exit if accessed directly } get_header( 'shop' );  while ( have_posts() ) : the_post(); wc_get_template_part( 'content', 'single-product' );  endwhile; // end of the loop.  do_action( 'woocommerce_sidebar' ); get_footer( 'shop' );

REMARQUE: La suppression des crochets de cette manière peut affecter le code tiers, tel que les plugins et les thèmes, provoquant des échecs ou cassant votre site Web. On suppose que vous savez ce que vous faites.

Personnalisez et écrasez les fichiers de modèle WooCommerce

L’écrasement des fichiers de modèle WooCommerce vous offre une grande flexibilité pour personnaliser votre boutique. Cependant, comme mentionné précédemment, vous devez comprendre que lorsque vous écrasez le contenu d’un fichier de modèle, les crochets qui fonctionnent sur ce fichier cesseront de fonctionner. De plus, WooCommerce peut modifier les fichiers de modèle de temps en temps, donc s’il y a une mise à jour et qu’ils modifient les fichiers, vous pouvez constater que le fichier que vous modifiez est obsolète.

Éléments à garder à l’esprit lors de l’écrasement de modèles

Si vous êtes ici, vous avez probablement des compétences en codage et vous savez comment utiliser et installer un thème enfant. Si ce n’est pas le cas, consultez notre guide pour créer un thème enfant ou utilisez l’un de ces plugins. L’écrasement des modèles WooCommerce est similaire à l’écrasement du functions.php fichier. La principale différence est que vous modifiez les fichiers de modèle de WooCommerce au lieu de vos fichiers de thème. Pour ce faire, vous devez copier le fichier de modèle souhaité à partir du dossier des modèles de plug-in WooCommerce et le coller dans votre thème enfant sous le dossier WooCommerce. Si vous suivez la même structure du dossier des modèles WooCommerce, des noms de fichiers et des sous-dossiers ; vous pourrez écraser les fichiers de modèle, même ceux des sous-dossiers. Il existe de nombreux fichiers de modèles WooCommerce et chacun d’eux est responsable d’une seule tâche. vous pouvez consulter la liste complète des fichiers modèles que vous pouvez modifier ainsi que les sous-répertoires et la structure des dossiers dans ce lien. Comme vous pouvez le constater, il existe des fichiers dans le dossier racine du modèle ainsi que plusieurs sous-répertoires. Vous pouvez personnaliser les fichiers dans n’importe quel sous-répertoire de la même manière que vous modifiez les fichiers principaux tels que archive-product.php, single-product.php ou content-single-product.php. De même, vous pouvez également personnaliser les fichiers dans le panier, Mon compte, les e-mails ou les dossiers de paiement si vous suivez les mêmes noms de dossiers et de structure que dans votre thème enfant. Ainsi, si vous souhaitez personnaliser certains de ces fichiers, votre thème enfant ressemblera à ceci :Comment personnaliser les modèles woocommerce par programmation Cela dit, examinons quelques exemples de choses que vous pouvez faire pour personnaliser les modèles WooCommerce.

1. Ajouter des shortcodes au modèle WooCommerce

Une alternative intéressante consiste à utiliser des shortcodes dans votre code. La plupart des codes courts existants devraient fonctionner ici, mais il est également courant de trouver des codes courts non pris en charge en dehors des codes officiels WooCommerce et WordPress. Par exemple, le script suivant inclura le tableau de bord du compte dans toutes les pages de produit unique. N’oubliez pas de le coller sur le single-product.php fichier que vous avez créé sur votre thème enfant.

My Account

";    $t.= do_shortcode("[woocommerce_my_account]");    $t.="