{"id":6407,"date":"2021-10-23T06:51:56","date_gmt":"2021-10-23T06:51:56","guid":{"rendered":"https:\/\/musilda.cz\/?p=6407"},"modified":"2021-10-23T06:51:56","modified_gmt":"2021-10-23T06:51:56","slug":"sleva-z-objednavky-podle-hodnoty-kosiku","status":"publish","type":"post","link":"https:\/\/affinite.io\/cs\/sleva-z-objednavky-podle-hodnoty-kosiku\/","title":{"rendered":"Sleva z objedn\u00e1vky podle hodnoty ko\u0161\u00edku"},"content":{"rendered":"\n

Pom\u011brn\u011b \u010dast\u00fdm tah\u00e1kem e-shop\u016f, je sleva na n\u00e1kup, kter\u00e1 se aplikuje p\u0159i dosa\u017een\u00ed ur\u010dit\u00e9 hodnoty objedn\u00e1vky. P\u0159esto\u017ee najdete \u0159adu plugin\u016f, kter\u00e9 to umo\u017e\u0148uj\u00ed nastavit, uk\u00e1\u017eeme si, jak toho dos\u00e1hnout pom\u011brn\u011b jednoduch\u00fdm k\u00f3dem. <\/p>\n\n\n\n

WooCommerce obsahuje v\u011bc, kter\u00e1 se jmenuje fee. P\u016fvodn\u011b byla zam\u00fd\u0161lena jako dopl\u0148uj\u00edc\u00ed poplatek za n\u011bco, nap\u0159\u00edklad za baln\u00e9. Velmi dob\u0159e se fee d\u00e1 pou\u017e\u00edt ke zpoplatn\u011bn\u00ed platebn\u00ed metody, jako je nap\u0159\u00edklad dob\u00edrka. <\/p>\n\n\n\n

Brzy se ale za\u010dalo fee pou\u017e\u00edvat i na slevy. Sta\u010d\u00ed, kdy\u017e zad\u00e1te z\u00e1pornou hodnotu a r\u00e1zem m\u00e1te slevu. <\/p>\n\n\n\n

M\u00e1 to ale jedno omezen\u00ed o kter\u00e9m mus\u00edte v\u011bd\u011bt. Fee bylo v\u017edy zam\u00fd\u0161leno na kladn\u00e9 hodnoty, tak\u017ee u n\u011bj nefunguje pro z\u00e1porn\u00e9 hodnoty nastaven\u00ed taxable = false. Pokud jde o slevu a vy jste pl\u00e1tci DPH, bude na fee v\u017edy uplatn\u011bna da\u0148. <\/p>\n\n\n\n

A te\u010f u\u017e k samotn\u00e9mu k\u00f3du.<\/p>\n\n\n\n

add_action( 'woocommerce_cart_calculate_fees' , 'calculate_order_total_fee' );\nfunction calculate_order_total_fee(){\n\n\tif ( function_exists( 'WC' ) ) {\n\n\t\t$total = WC()->cart->get_cart_contents_total(); \/\/hodnota bez dan\u011b\n\n\t\tif ( $total > 20 ) {\n\n\t\t\t$fee = ( $total * 0.1 ) * -1;\n\t\t\t$args = array(\n\t\t\t\t'id' \t\t=> 'sleva-10-procent',\n\t\t\t\t'name' \t\t=> __( 'Sleva na objedn\u00e1vku 10%','musilda' ),\n\t\t\t\t'amount' \t=> $fee,\n\t\t\t\t'taxable' \t=> true \/\/toto bude v\u017edy true, p\u0159i z\u00e1porn\u00e9 hodnot\u011b\n\t\t\t);\n\t\t\tWC()->cart->fees_api()->add_fee( $args );\n\t\t}\n\n\t}\n\n}<\/code><\/pre>\n\n\n\n

A hotovo, p\u0159i cen\u011b nad 20 korun dostanu slevu 10%.<\/h2>\n\n\n\n
\"\"<\/a><\/figure>\n\n\n\n

Jednoduch\u00e9, \u017ee?<\/p>\n\n\n\n

K snippetu m\u00e1m je\u0161t\u011b jednu informaci, kterou se jen tak n\u011bkde nedozv\u00edte. <\/p>\n\n\n\n

Nepou\u017eil jsem zcela z\u00e1m\u011brn\u011b:<\/p>\n\n\n\n

WC()->cart->add_fee( $args )<\/code><\/pre>\n\n\n\n

Tento postup najdete snad ve v\u0161ech mo\u017en\u00fdch n\u00e1vodech a postupech, jak p\u0159idat n\u011bjak\u00e9 p\u0159\u00edplatky a podobn\u011b. Probl\u00e9m vznikne v tu chv\u00edli, kdy budete s objedn\u00e1vkou pracovat a pos\u00edlat ji do n\u011bjak\u00e9ho jin\u00e9ho syst\u00e9mu. <\/p>\n\n\n\n

Pokud pou\u017eijete cart add_fee metodu, NEM\u016e\u017dETE <\/strong>ji nijak identifikovat. M\u00e1te k dispozici jen name a to je “ Sleva na objedn\u00e1vku 10% „. V tu chv\u00edli, kdy ho ud\u011bl\u00e1te p\u0159ekladateln\u00e9 a p\u0159elo\u017e\u00edte ho, ji\u017e nev\u00edte co \u017ee to v t\u00e9 objedn\u00e1vce vlastn\u011b je. <\/p>\n\n\n\n

Proto jsem pou\u017eil fees_api a zadal „sleva-10-procent“. Kdy\u017e budu pos\u00edlat data nap\u0159\u00edklad do \u00fa\u010detn\u00edho syst\u00e9mu, v\u00edm, \u017ee fee s t\u00edmto id je sleva.<\/p>\n","protected":false},"excerpt":{"rendered":"

Pom\u011brn\u011b \u010dast\u00fdm tah\u00e1kem e-shop\u016f, je sleva na n\u00e1kup, kter\u00e1 se aplikuje p\u0159i dosa\u017een\u00ed ur\u010dit\u00e9 hodnoty objedn\u00e1vky. P\u0159esto\u017ee najdete \u0159adu plugin\u016f, kter\u00e9 to umo\u017e\u0148uj\u00ed nastavit, uk\u00e1\u017eeme si, jak toho dos\u00e1hnout pom\u011brn\u011b jednoduch\u00fdm k\u00f3dem. WooCommerce obsahuje v\u011bc, kter\u00e1 se jmenuje fee. P\u016fvodn\u011b byla zam\u00fd\u0161lena jako dopl\u0148uj\u00edc\u00ed poplatek za n\u011bco, nap\u0159\u00edklad za baln\u00e9. Velmi dob\u0159e se fee d\u00e1<\/p>\n","protected":false},"author":1,"featured_media":5600,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[],"class_list":["post-6407","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-woocommerce-snippety"],"_links":{"self":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts\/6407"}],"collection":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/comments?post=6407"}],"version-history":[{"count":0,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts\/6407\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/media\/5600"}],"wp:attachment":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/media?parent=6407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/categories?post=6407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/tags?post=6407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}