it-swarm.com.de

So ändern Sie den WooCommerce-Warenkorb und die Checkout-Seiten (Hauptthema)

Ich habe mein benutzerdefiniertes Wordpress -Thema recherchiert und optimiert und WooCommerce-Vorlagen überschrieben, wobei jetzt WooCommerce installiert ist, um eine Reihe kleiner Formatierungsprobleme zu beheben, die auf den WooCommerce-Seiten auftreten. Ich bin bis jetzt mit dem Einkaufswagen und der Kasse fertig, welche ja sie benutzen cart.php (Und welche Checkout-PHP-Version auch immer), aber sie benutzen auch das Hauptthema Wordpress page.php. Ich konnte is_woocommerce() an anderen Stellen verwenden, aber hier nicht, da ich erfahren habe, dass die WooCommerce-Dokumente sagen, dass sie an der Kasse und im Einkaufswagen nicht verwendet werden können.

is_woocommerce () - Gibt true zurück, wenn auf einer Seite WooCommerce-Vorlagen verwendet werden (Einkaufswagen und Kasse sind Standardseiten mit Shortcodes und daher nicht enthalten). http://docs.woothemes.com/document/conditional-tags/

Wie kann ich das Erscheinungsbild dieser Seiten ändern? Ich habe ein "View All Posts" und ein Datum/eine Uhrzeit oben und eine Kategorieseitenleiste in page.php, die ich aus offensichtlichen Gründen nicht auf der Kasse und im Einkaufswagen anzeigen möchte, da sie überhaupt keinen Sinn ergeben. Welche Möglichkeiten habe ich?

Kann ich dafür eine andere Vorlage als page.php verwenden?

Ist das eine Option? Ist es eine schlechte Übung? Verursacht sie mit dieser Schleife mehr Last auf jeder Seite? Wo lege ich es hin? http://saiyedfaishal.wordpress.com/2014/01/06/check-if-it-is-woocommerce-page/

Was ist der beste Weg, um dies zu tun? Vielen Dank für jede Hilfe! Diese Frage hat etwas mit - Wie man die Aktion woocommerce_before_cart ändert zu tun

23
mikato

Sie können die folgende Funktion verwenden: wc_get_page_id ('cart') , um die ID der Seite abzurufen. Diese Funktion verwendet das Seiten-Setup als "Warenkorb" -Seite und nicht den Slug. Das bedeutet, dass es auch dann funktioniert, wenn Sie auf der Einstellungsseite eine andere URL für Ihren "Warenkorb" einrichten. Dies funktioniert für alle Arten von Woocommerce-Spezialseiten, wie 'Checkout', 'Shop' usw.

beispiel:

if (wc_get_page_id( 'cart' ) == get_the_ID()) {
  // Do something.
}
18

Eine andere Möglichkeit, die cart.php vollständig zu überschreiben, besteht darin, Folgendes zu kopieren:

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

Dann tun Sie, was Sie brauchen, unter yourtheme/woocommerce/cart/cart.php

38
ken

Sie können das bedingte Tag is_cart () verwenden:

if (! is_cart() ) {
  // Do something.
}
8
PimPiet

WooCommerce bietet eine Reihe von Optionen zum Ändern des Einkaufswagens und zum Auschecken von Seiten. Hier sind die drei, die ich empfehlen würde:

Verwenden Sie WooCommerce Conditional Tags

is_cart() und is_checkout() Funktionen geben auf ihrer Seite true zurück. Beispiel:

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

Ändern Sie die Vorlagendatei

Die Hauptvorlagendatei für den Einkaufswagen befindet sich unter wp-content/themes/{current-theme}/woocommerce/cart/cart.php

Die Haupt-Checkout-Vorlagendatei befindet sich unter wp-content/themes/{current-theme}/woocommerce/checkout/form-checkout.php

Um diese zu bearbeiten, kopieren Sie sie zuerst in Ihr untergeordnetes Thema.

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

page-{slug}.php ist die zweite Vorlage, die nach manuell zugewiesenen Vorlagen über das WP Dashboard verwendet wird.

Dies ist sicherer als meine anderen Lösungen, denn wenn Sie WooCommerce entfernen, aber vergessen, diese Datei zu entfernen, wird der darin enthaltene Code (der möglicherweise auf WooCommerce-Funktionen beruht) nicht beschädigt, da er niemals aufgerufen wird (es sei denn, Sie haben eine Seite mit Schnecke {slug}).

Beispielsweise:

  • wp-content/themes/{current-theme}/page-cart.php
  • wp-content/themes/{current-theme}/page-checkout.php
3
ratskin

Ich habe festgestellt, dass dies als Bedingung in page.php Gut funktioniert, die den WooCommerce-Warenkorb und die Kassenbildschirme enthält.

!is_page(array('cart', 'checkout'))
2
mikato

Ich habe die page-checkout.php-Vorlage verwendet, um den Header für meine Warenkorbseite zu ändern. Ich habe es in meinem/wp-content/themes/childtheme/woocommerce/in page-cart.php umbenannt. Dies gibt Ihnen mehr Kontrolle über den Umbruch von HTML, Header und Footer.

1
fryvisuals