2013-11-27 21 views
6

Pracuję nad tym serwisem, na którym zostałem poproszony o dodanie listy elementów koszyka do strony zamówienia. Postanowiłem dodaćWooCommerce Pokaż koszyk Przedmioty na kasie Strona

[woocommerce_cart] 

shortcode na stronie transakcji, powyżej

[woocommerce_checkout] 

SHORTCODE i po prostu użyć CSS, aby ukryć „Przejdź do kasy ->” przycisk w koszyku na stronie transakcji .

Jednak wprowadziło to nowy problem. Teraz, gdy wysyłka jest wybrana na stronie realizacji transakcji, domyślnie jest ona ustawiona niezależnie od dostawy dla koszyka na stronie koszyka ... nawet jeśli na stronie zamówienia wybrano nową wysyłkę.

Oczywiście, nie było sposobu, aby dodać dane wyjściowe koszyka do strony kasy.

Czy istnieje sam kod, aby pokazać same elementy koszyka?

Co muszę edytować, aby wyświetlić elementy koszyka na stronie kasy?

Odpowiedz

15

Zamierzam odpowiedzieć na moje własne pytanie, ponieważ rozwiązałem to z dodatkowym grzebaniem w pobliżu. Mam nadzieję, że pomoże to komuś innemu w dalszej drodze.

Nie znalazłem krótkiego kodu, aby po prostu dodać koszyk na górę strony zamówienia. Musiałem bezpośrednio edytować plik szablonu.

Więc skopiowane:

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

do:

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

aby moje zmiany do tego pliku bezpośrednio, więc nie straci je, gdy woocommerce został uaktualniony. I potem skopiowany kod z formularza:

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

i wkleić go w pliku skopiowane do mojego katalogu motywu:

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

gdzie chciałem formularz do stawienia się.

Może być więcej eleganckich sposobów, ale to rozwiązało mój problem.

+0

Zaoszczędzono mnóstwo pracy :-D wielkie dzięki za to. – Jack

3

Można również użyć hak do tego

// 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'); 
} 

Utworzyłem koszyk-part.php szablon, który zawiera tabelę jus z wózkiem i zastąpić kod z wc_get_template_part („koszyk/koszyk "," część ");

0

Łatwiejszym sposobem jest dodanie następującego kodu do pliku functions.php w swoim dziecięcym motywie.

W ten sposób nie trzeba dodawać żadnych szablonów ani zmieniać żadnego podstawowego kodu woocommerce.

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'); 
Powiązane problemy