Comment modifier le panier de WooCommerce, les pages de paiement (partie thème principal) )

j'ai fait des recherches et des retouches sur mon thème Wordpress personnalisé et j'ai dépassé les gabarits de WooCommerce avec Maintenant WooCommerce installé pour rectifier un tas de petits problèmes de formatage qui se produisent sur les pages de WooCommerce. Je suis en bas à la charrette et la caisse, qui Oui ils utilisent cart.php (et n'importe quel checkout php), mais utilise aussi le thème principal Wordpress page.php. J'ai été en mesure d'utiliser is_woocommerce() dans les conditionnels d'autres endroits mais pas ici comme j'ai appris Les Docs de WooCommerce disent que ne peut pas être utilisé sur la caisse et le chariot.

is_woocommerce () - retourne true si sur une page qui utilise des gabarits de WooCommerce (cart et checkout sont des pages standards avec des shortcodes et ne sont donc pas inclus). http://docs.woothemes.com/document/conditional-tags/

Alors, comment puis-je modifier l'apparence de ces pages? J'ai un "voir Tous les Messages" et une date/heure en haut, et les catégories barre latérale de la page.php que je n'ai pas vous voulez vous présenter pour des raisons évidentes sur la caisse et le chariot car ils n'ont pas de sens du tout. Quelles sont mes options?

puis-je le faire utiliser un modèle différent de page.le php?

Est-ce une option? C'est une mauvaise pratique... ne provoque plus de charge sur chaque page de cette boucle? Où dois-je les mettre? http://saiyedfaishal.wordpress.com/2014/01/06/check-if-it-is-woocommerce-page/

Quelle est la meilleure façon de procéder? Merci pour tout à l'aide! Cette question Est quelque peu liée à - comment modifier l'action woocommerce_before_cart

19
demandé sur Community 2014-10-10 02:07:47

6 réponses

Vous pouvez utiliser la fonction: wc_get_page_id ("panier") pour obtenir l'ID de la page. Cette fonction utilisera la page setup comme 'cart' page et pas la balle. Cela signifie qu'il continuera de fonctionner aussi lorsque vous configurez une url différente pour votre 'panier' sur la page des paramètres. Cela fonctionne pour tout type de page spéciale de Woocommerce, comme "checkout", "shop", etc.

exemple:

if (wc_get_page_id( 'cart' ) == get_the_ID()) {
  // Do something.
}
16
répondu Patrick van Efferen 2014-11-09 15:17:08

une autre façon d'outrepasser totalement le chariot.php est à copier:

woocommerce/templates/cart/cart.php to   
yourtheme/woocommerce/cart/cart.php

Puis faire ce que vous devez à la votretheme/thème/panier/panier.php

30
répondu ken 2015-04-06 10:29:13

Vous pouvez utiliser le is_cart () balise conditionnelle:

if (! is_cart() ) {
  // Do something.
}
8
répondu PimPiet 2016-12-02 11:18:32

j'ai trouvé que cela fonctionne bien comme un conditionnel à l'intérieur de page.php Cela inclut le panier de WooCommerce et les écrans de caisse.

!is_page(array('cart', 'checkout'))
2
répondu mikato 2014-10-10 19:27:27

WooCommerce a un certain nombre d'options pour modifier le panier, et les pages de paiement. Voici les trois que j'avais recommend:

Utiliser Thème Les Balises

is_cart() et is_checkout() les fonctions retournent true sur leur page. Exemple:

if ( is_cart() || is_checkout() ) {
    echo "This is the cart, or checkout page!";
}

Modifier le fichier de template

le fichier principal, cart template est situé à wp-content/themes/{current-theme}/woocommerce/cart/cart.php

le fichier principal du modèle de caisse est situé à wp-content/themes/{current-theme}/woocommerce/checkout/form-checkout.php

pour les éditer, copiez-les d'abord sur le thème de votre enfant.

Utiliser wp-content/themes/{current-theme}/page-{slug}.php

page-{slug}.php est le deuxième modèle qui sera utilisé, venant après ceux assignés manuellement par le tableau de bord WP.

C'est plus sûr que mes autres solutions, parce que si vous supprimez WooCommerce, mais oubliez de supprimer ce fichier, le code à l'intérieur (qui peut dépendre des fonctions de WooCommerce) ne se brisera pas, parce qu'il n'est jamais appelé (à moins que de cause Vous avez une page avec slug {slug}).

Par exemple:

  • wp-content/themes/{current-theme}/page-cart.php
  • wp-content/themes/{current-theme}/page-checkout.php
2
répondu Elliot Schep 2018-02-07 22:10:14

j'ai utilisé la page checkout.modèle php pour changer l'en-tête de ma page cart. Je l'ai renommé la page panier.php dans mon /wp-content/themes/childtheme/thème/. Cela vous donne plus de contrôle sur l'enrubannage html, l'en-tête et le pied de page.

1
répondu fryvisuals 2017-04-17 17:36:52