web-dev-qa-db-fra.com

Modèle personnalisé de page de boutique Woocommerce

Si je comprends bien, la page de la boutique Woocommerce utilise par défaut un modèle d’archive de produit. Ce que je recherche, c’est d’utiliser un modèle personnalisé pour la page de magasin.

Voici ce que j'ai fait:

  1. Créer un modèle "my-shop"
  2. Créer la page "Ma boutique" -> choisir le modèle "ma boutique"
  3. Choisissez "Ma boutique" comme page de boutique Woocommerce

Mais aucune des modifications apportées au modèle "my-shop" n'est présente sur la page de la boutique.

Qu'est-ce que j'oublie ici? Je ne voudrais pas changer l'archive de produit elle-même, juste la page de la boutique.

Existe-t-il un moyen de désactiver l’archive de produit comme étant une page par défaut pour la boutique?

Merci

3
Silver Ringvee

Je sais qu'il est trop tard et vous l'avez peut-être déjà compris. Dans tous les cas, les modifications que vous souhaitez apporter à la page Boutique WooCommerce doivent être effectuées dans le fichier archive-products.php et il serait plus sûr de créer un thème enfant et d'effectuer ces modifications. Il est recommandé d’apporter des améliorations et des personnalisations à un thème enfant. Vous pouvez ainsi mettre à jour le thème parent à tout moment sans que cela n’affecte votre magasin.

J'espère que cela vous aidera. Pour plus d'informations sur l'utilisation des codes de fonction WooCommerce pour personnaliser votre boutique, consultez la section { ici .

3
Blue Grass

Pour ajouter à la réponse de Silver Ringvee - il a utilisé is_page mais cela ne fonctionne que sur les pages wordpress. Pour woocommerce, vous devez utiliser quelque chose comme is_woocommerce(). Voir Woocommerce page tags conditionnels.

Mon exemple de code utilise la balise conditionnelle is_shop car c'est la page que vous souhaitez modifier. le code get_template_part( 'content', 'shop' ); appellera le fichier content-shop.php dans le dossier racine de votre thème. Ce code doit être ajouté en haut de wp-content\themes\*theme*\woocommerce\archive-product.php que vous pouvez copier à partir de wp-content\plugins\woocommerce\templates\archive-product.php

Vous pouvez l'ajouter juste avant get_header( 'shop' ); line 23 dans mon fichier - et la page entière sera tirée de votre modèle. Si vous souhaitez conserver l'en-tête de la page de la boutique, placez ce code après le code get_header. N'oubliez pas d'inclure également un pied de page dans votre dossier.

if (is_shop()) {
 get_template_part( 'content', 'shop' );
} else  {  
#normal archive-product code here
}
2
Jon

La solution (pas parfaite) que je pensais être la plus efficace, jusqu'à ce que quelqu'un trouve le moyen de changer le modèle à partir du tableau de bord:

Ajouter:

<?php
if (is_page( 'Page Title' ) ):
  # Do your stuff
endif;
?>

content-product.php dans le dossier woocommerce de mon thème.

0
Silver Ringvee