{"id":6417,"date":"2021-10-25T08:11:00","date_gmt":"2021-10-25T08:11:00","guid":{"rendered":"https:\/\/musilda.cz\/?p=6417"},"modified":"2021-10-25T08:11:00","modified_gmt":"2021-10-25T08:11:00","slug":"automaticke-vygenerovani-kuponu-na-slevu-za-prvni-nakup-ve-woocommerce","status":"publish","type":"post","link":"https:\/\/affinite.io\/cs\/automaticke-vygenerovani-kuponu-na-slevu-za-prvni-nakup-ve-woocommerce\/","title":{"rendered":"Automatick\u00e9 vygenerov\u00e1n\u00ed kup\u00f3nu na slevu za prvn\u00ed n\u00e1kup ve WooCommerce"},"content":{"rendered":"\n

Slevy a kup\u00f3ny jsou mocn\u00fd marketingov\u00fd n\u00e1stroj. Pomoc\u00ed nich m\u016f\u017eete levn\u011b a snadno vytvo\u0159il loaj\u00e1ln\u00edho z\u00e1kazn\u00edka. <\/p>\n\n\n\n

A my si dnes uk\u00e1\u017eeme, jak ve WooCommerce automaticky vygenerovat kup\u00f3n za prvn\u00ed n\u00e1kup. <\/p>\n\n\n\n

Jedine\u010dn\u00fdm identifik\u00e1torem z\u00e1kazn\u00edka je e-mail, tak\u017ee budeme vych\u00e1zet z toho, \u017ee m\u00e1me pouze jednu objedn\u00e1vku e-mailem z\u00e1kazn\u00edka. Pokud jich bude v\u00edce, nebudeme kup\u00f3n generovat.<\/p>\n\n\n\n

Pou\u017eijeme hook woocommerce_checkout_order_created, kter\u00fd je aktivn\u00ed, kdy\u017e je objedn\u00e1vka vytvo\u0159ena pomoc\u00ed pokladny. Zkontrolujeme po\u010det objedn\u00e1vek a vygenerujeme kup\u00f3n:<\/p>\n\n\n\n

add_action( 'woocommerce_checkout_order_created', 'generate_custom_coupon' );\nfunction generate_custom_coupon( $order ) {\n\n\tglobal $wpdb;\n\t$table = $wpdb->prefix . 'postmeta';\n\t$query   = $wpdb->prepare( \"SELECT meta_id FROM $table WHERE meta_key = '_billing_email' AND meta_value = '%s'\", array( $order->get_billing_email() ) );\n\t$results = $wpdb->get_results( $query );\n\tif ( !empty( $results ) && count( $results ) == 1 ) {\n\n\t   \t$code = '';\n        $keys = array_merge( range( 0, 9 ), range( 'a', 'z' ) );\n\n        for ($i = 0; $i < 10; $i++) {\n            $code .= $keys[array_rand( $keys )];\n        }\n\n\t\t$code = strtoupper( $code );\n\n\t\t$coupon_args = array(\n\t\t\t'post_title' \t=> $code,\n\t\t\t'post_content' \t=> '',\n\t\t\t'post_status' \t=> 'publish',\n\t\t\t'post_author' \t=> 1,\n\t\t\t'post_type' \t=> 'shop_coupon'\n\t\t);\n\n\t\t$coupon_id = wp_insert_post( $coupon_args );\n\n\t\tupdate_post_meta( $coupon_id, 'discount_type', 'percent' );\n\t\tupdate_post_meta( $coupon_id, 'coupon_amount', 10 );\n\t\tupdate_post_meta( $coupon_id, 'free_shipping', 'no' );\n\t\tupdate_post_meta( $coupon_id, 'usage_limit', 1 );\n\n\t\tupdate_post_meta( $order->get_id(), 'generated_coupon', $code );\n\t\tupdate_post_meta( $order->get_id(), 'generated_coupon_id', $coupon_id );\n\n\t}\n\n}<\/code><\/pre>\n\n\n\n

Jak m\u016f\u017eete vid\u011bt, vygenerovali jsme n\u00e1hodn\u00fd \u0159et\u011bzec a n\u00e1sledn\u011b jsme vygenerovali kup\u00f3n. Nastavili jsme jej na 10% slevu a jedno pou\u017eit\u00ed. <\/p>\n\n\n\n

Nav\u00edc jsme si u objedn\u00e1vky ulo\u017eili i k\u00f3d a id kup\u00f3nu, pokud bychom to n\u011bkdy pot\u0159ebovali. <\/p>\n\n\n\n

Vygenerovan\u00fd kup\u00f3n v administraci<\/h2>\n\n\n\n
\"\"<\/a><\/figure>\n\n\n\n

Zobrazen\u00ed k\u00f3du kup\u00f3nu na d\u011bkovn\u00e9 str\u00e1nce<\/h2>\n\n\n\n

Proto\u017ee mus\u00edme o kup\u00f3nu d\u00e1t z\u00e1kazn\u00edkovi v\u011bd\u011bt, zobraz\u00edme mu informaci na d\u011bkovn\u00e9 str\u00e1nce.<\/p>\n\n\n\n

add_action( 'woocommerce_thankyou', 'display_generated_coupon' );\nfunction display_generated_coupon( $order_id ) {\n\n\t$coupon_code = get_post_meta( $order_id, 'generated_coupon', true );\n\tif ( !empty( $coupon_code ) ) {\n\t\techo '<h3>' . __( 'D\u011bkujme za v\u00e1\u0161 prvn\u00ed n\u00e1kup!', 'musilda' ) . '<\/h3>';\n\t\techo '<p>' . __( 'Jako pod\u011bkov\u00e1n\u00ed jsme V\u00e1m vytvo\u0159ili slevov\u00fd kup\u00f3n ve v\u00fd\u0161i 10% na dal\u0161\u00ed n\u00e1kup.', 'musilda' ) . '<br\/>';\n\t\techo __( 'Pro z\u00edsk\u00e1n\u00ed slevy, p\u0159i dal\u0161\u00edm n\u00e1kupu zadete v pokladn\u011b n\u00e1sleduj\u00edc\u00ed k\u00f3d:', 'musilda' ) . ' ' , $coupon_code .'<\/p>';\n\t}\n\n}<\/code><\/pre>\n\n\n\n

Na d\u011bkovn\u00e9 str\u00e1nce se n\u00e1m informace vyp\u00ed\u0161e a\u017e pod adresami, pokud ji budete cht\u00edt n\u011bkde v\u00fd\u0161e, pou\u017eijte jin\u00fd hook.<\/p>\n\n\n\n

\"\"<\/a><\/figure>\n\n\n\n

Takto jednoduch\u00e9 to opravdu je a p\u0159\u00ed\u0161t\u011b si uk\u00e1\u017eeme, jak informaci o kup\u00f3nu poslat na z\u00e1kazn\u00edk\u016fv e-mail.<\/p>\n","protected":false},"excerpt":{"rendered":"

Slevy a kup\u00f3ny jsou mocn\u00fd marketingov\u00fd n\u00e1stroj. Pomoc\u00ed nich m\u016f\u017eete levn\u011b a snadno vytvo\u0159il loaj\u00e1ln\u00edho z\u00e1kazn\u00edka. A my si dnes uk\u00e1\u017eeme, jak ve WooCommerce automaticky vygenerovat kup\u00f3n za prvn\u00ed n\u00e1kup. Jedine\u010dn\u00fdm identifik\u00e1torem z\u00e1kazn\u00edka je e-mail, tak\u017ee budeme vych\u00e1zet z toho, \u017ee m\u00e1me pouze jednu objedn\u00e1vku e-mailem z\u00e1kazn\u00edka. Pokud jich bude v\u00edce, nebudeme kup\u00f3n generovat. Pou\u017eijeme<\/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-6417","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\/6417"}],"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=6417"}],"version-history":[{"count":0,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts\/6417\/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=6417"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/categories?post=6417"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/tags?post=6417"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}