2013-11-27 5 views
6

Ich arbeite auf dieser Website, wo ich gebeten wurde, eine Liste der Warenkorb Artikel auf der Kasse Seite hinzuzufügen. Ich beschloss, denWooCommerce Warenkorb anzeigen Artikel auf Zur Kasse Seite

[woocommerce_cart] 

Shortcode zur Kasse Seite hinzuzufügen, über dem

[woocommerce_checkout] 

Shortcode und einfach mit CSS der „Weiter zur Kasse ->“ verstecken Taste im Warenkorb auf der Checkout-Seite .

Dies hat jedoch ein neues Problem eingeführt. Wenn der Versand auf der Checkout-Seite ausgewählt ist, wird standardmäßig der Versand für den Einkaufswagen auf der Seite "Warenkorb" verwendet, auch wenn auf der Checkout-Seite ein neuer Versand ausgewählt wurde.

Es war klar, dass dies nicht der Weg war, die Warenkorbausgabe zur Checkout-Seite hinzuzufügen.

Gibt es einen Shortcode, um die Artikel selbst anzuzeigen?

Was muss ich bearbeiten, um die Einkaufswagenartikel auf der Kassenseite anzuzeigen?

Antwort

15

Ich werde meine eigene Frage beantworten, da ich es mit etwas zusätzlichen stochern gelöst habe. Hoffentlich hilft es später jemand anderem.

Ich habe keinen Shortcode gefunden, um einfach den Warenkorb oben auf der Checkout-Seite hinzuzufügen. Ich musste die Vorlagendatei direkt bearbeiten.

Also, ich kopiert:

/wp-content/plugins/woocommerce/templates/checkout/form-checkout.php 

zu:

/wp-content/mytheme/woocommerce/checkout/form-checkout.php 

meiner Änderungen an dieser Datei vornehmen direkt so würde ich sie nicht verlieren, wenn WooCommerce aktualisiert wurde. Ich kopierte dann das Formular Code aus:

/wp-content/plugins/woocommerce/templates/cart/cart.php 

und klebte es in der Datei, die ich zu meinem Thema Verzeichnis kopiert:

/wp-content/mytheme/woocommerce/checkout/form-checkout.php 

, wo ich die Form wollte erscheinen.

Es mag elegantere Wege geben, aber das behebt mein Problem.

+0

Gerettete eine Menge Arbeit :-D vielen Dank dafür soooo. – Jack

3

Sie können auch einen Haken für diese verwenden

// put this in functions.php, it will produce code before the form 
add_action('woocommerce_before_checkout_form','show_cart_summary',9); 

// gets the cart template and outputs it before the form 
function show_cart_summary() { 
    wc_get_template_part('cart/cart'); 
} 

ich einen Warenkorb-part.php Vorlage erstellt haben, die jus den Warenkorb Tabelle enthält und ersetzt den Code mit wc_get_template_part (‚Warenkorb/cart "," Teil ");

0

Ein einfacherer Weg, dies zu tun ist, indem Sie den folgenden Code in Ihre functions.php Datei in Ihrem Kind Thema hinzufügen.

Auf diese Weise müssen Sie keine Vorlagen hinzufügen oder Kern-Woocommerce-Code ändern.

function remove_cart_collaterals() { 
    if (is_checkout()) { 
     remove_action('woocommerce_cart_collaterals', 'woocommerce_cross_sell_display'); 
     remove_action('woocommerce_cart_collaterals', 'woocommerce_cart_totals', 10); 
    } 
} 
add_action('wp', 'remove_cart_collaterals');