Heel specifiek verzoekje voor wordpress met WooCommerce. Ik heb daar een plugin toegevoegd voor product offertes, (YITH request a quote).
De request a quote krijg ik netjes onder de producten te zien naast de add to cart knop, echter onder bepaalde productvariaties is het niet handig om de add to cart knop te laten staan.
Heel simpel voorbeeld, als ik een t-shirt heb, kan ik hem in groen in XL direct bestellen met een bepaalde prijs. echter als ik er een tekst op wil, dan is het niet handig om die direct te laten bestellen. Dan wil ik dat dit gebeurd via de offerte knop. De add to cart mag dan onzichtbaar. (of op zijn minst niet aanklikbaar)
Ik heb de volgende code nu, maar die werkt niet, ik begrijp niet helemaal waarom. De slug voor de variatie is in dit geval optioneelpersonliseren, en het specifieke productvariatie is 24-1kleurenbedrukking
De request a quote krijg ik netjes onder de producten te zien naast de add to cart knop, echter onder bepaalde productvariaties is het niet handig om de add to cart knop te laten staan.
Heel simpel voorbeeld, als ik een t-shirt heb, kan ik hem in groen in XL direct bestellen met een bepaalde prijs. echter als ik er een tekst op wil, dan is het niet handig om die direct te laten bestellen. Dan wil ik dat dit gebeurd via de offerte knop. De add to cart mag dan onzichtbaar. (of op zijn minst niet aanklikbaar)
Ik heb de volgende code nu, maar die werkt niet, ik begrijp niet helemaal waarom. De slug voor de variatie is in dit geval optioneelpersonliseren, en het specifieke productvariatie is 24-1kleurenbedrukking
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| add_filter( 'woocommerce_variation_is_purchasable', 'conditional_variation_is_purchasable', 20, 2 ); function conditional_variation_is_purchasable( $purchasable, $product ) { $taxonomy = 'optioneelpersonaliseren'; $term_name = '24-1kleurenbedrukking'; $found = false; foreach ( $product->get_variation_attributes() as $variation_attribute => $term_slug ){ $attribute_taxonomy = str_replace('attribute_', '', $variation_attribute); $term = get_term_by( 'slug', $term_slug, $taxonomy ); if($attribute_taxonomy == $taxonomy && $term->name == $term_name ){ $found = true; break; } } if( $found ) $purchasable = false; return $purchasable; } |
[ Voor 6% gewijzigd door Timmeah op 18-04-2018 10:57 ]