{"id":5401,"date":"2020-01-02T05:54:04","date_gmt":"2020-01-02T05:54:04","guid":{"rendered":"https:\/\/musilda.cz\/?p=5401"},"modified":"2020-01-02T05:54:04","modified_gmt":"2020-01-02T05:54:04","slug":"jak-vytvorit-vlastni-stav-objednavky-ve-woocommerce","status":"publish","type":"post","link":"https:\/\/affinite.io\/cs\/jak-vytvorit-vlastni-stav-objednavky-ve-woocommerce\/","title":{"rendered":"Jak vytvo\u0159it vlastn\u00ed stav objedn\u00e1vky ve WooCommerce"},"content":{"rendered":"\n<p>WooCommerce p\u0159i vytv\u00e1\u0159en\u00ed objedn\u00e1vky, pou\u017e\u00edv\u00e1 n\u011bkolik v\u00fdchoz\u00edch stav\u016f, kter\u00e9 pou\u017eije pro ozna\u010den\u00ed stavu, v kter\u00e9m se objedn\u00e1vka nach\u00e1z\u00ed. Tyto stavy jdou pom\u011brn\u011b jednodu\u0161e roz\u0161\u00ed\u0159it.<\/p>\n\n\n\n<p>Objedn\u00e1vka je technicky post type. To znamen\u00e1, \u017ee m\u00e1 stejn\u00e9 prvky, jako post a pro stavy objedn\u00e1vek se pou\u017e\u00edv\u00e1 post status. Ka\u017ed\u00fd post m\u00e1 stavy draft, publish atd. WordPress umo\u017e\u0148uje registrovat vlastn\u00ed stavy pomoc\u00ed <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/register_post_status\/\" target=\"_blank\" rel=\"noopener\">register_post_status<\/a>.<\/p>\n\n\n\n<p>Toho vyu\u017e\u00edv\u00e1 i WooCommerce a roz\u0161i\u0159uje stavy post\u016f o:<\/p>\n\n\n\n<p><strong>Pending payment<\/strong> (\u010dek\u00e1 na platbu) &#8211; p\u0159i vytvo\u0159en\u00ed objedn\u00e1vky, kdy\u017e je\u0161t\u011b nebyla zpracov\u00e1na platebn\u00ed metoda.<\/p>\n\n\n\n<p><strong>On hold<\/strong> (\u010dek\u00e1 na vy\u0159\u00edzen\u00ed) &#8211; vytvo\u0159en\u00e1 objedn\u00e1vka, jsou t\u0159eba dal\u0161\u00ed kroky, typicky se jedn\u00e1 o bankovn\u00ed p\u0159evod, kdy \u010dek\u00e1te na pen\u00edze, aby jste poslali objedn\u00e1vku z\u00e1kazn\u00edkovi.<\/p>\n\n\n\n<p><strong>Processing<\/strong> (zpracov\u00e1v\u00e1 se) &#8211; stav, kdy je objedn\u00e1vka ji\u017e ve zpracov\u00e1v\u00e1n\u00ed, ale nen\u00ed dokon\u010den\u00e1. Pou\u017e\u00edv\u00e1m pro platbu kartou, nebo p\u0159i odesl\u00e1n\u00ed z\u00e1silky na dob\u00edrku. <\/p>\n\n\n\n<p><strong>Completed<\/strong> (dokon\u010deno) &#8211; dokon\u010den\u00e1 objedn\u00e1vka.<\/p>\n\n\n\n<p><strong>Cancelled<\/strong> (zru\u0161eno) &#8211; \u00fasp\u011b\u0161n\u00e1 objedn\u00e1vka, kter\u00e1 byla zru\u0161ena.<\/p>\n\n\n\n<p><strong>Failed<\/strong> (selhalo) &#8211; ne\u00fasp\u011b\u0161n\u00e1 objedn\u00e1vka, v\u011bt\u0161inou se jedn\u00e1 o technickou chybu, nebo zru\u0161en\u00ed platby na  platebn\u00ed br\u00e1ny.<\/p>\n\n\n\n<p><strong>Refunded<\/strong> (vr\u00e1ceno) &#8211; stav objedn\u00e1vky po vr\u00e1cen\u00ed. <\/p>\n\n\n\n<p>O <a href=\"https:\/\/musilda.cz\/stavy-objednavek-ve-woocommerce\/\" target=\"_blank\" rel=\"noopener\">stavech objedn\u00e1vky<\/a> jsem psal ji\u017e d\u0159\u00edve v <a href=\"https:\/\/musilda.cz\/woocommerce-navod\/\" target=\"_blank\" rel=\"noopener\">n\u00e1vodu k WooCommerce<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Registrace stav\u016f objedn\u00e1vky<\/h2>\n\n\n\n<p>WooCommerce registruje vlastn\u00ed stavy post\u016f v souboru wc-class-post-types.php v metod\u011b register_post_types. Zde je nadefinov\u00e1no pole pol\u00ed, kter\u00e9 jsou pak proch\u00e1zeny a pou\u017e\u00edv\u00e1ny jako argumenty pro register_post_status. <\/p>\n\n\n\n<p>Cel\u00e9 nadefinovan\u00e9 pole m\u00e1te k dispozici pomoc\u00ed filtru  woocommerce_register_shop_order_post_statuses . <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Definov\u00e1n\u00ed stavu objedn\u00e1vky<\/h3>\n\n\n\n<p>Pro definici pot\u0159ebujete zadat:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>id stavu &#8211; wc-custom-status (stav objedn\u00e1vky mus\u00ed v\u017edy za\u010d\u00ednat <strong>wc-<\/strong>)<\/li><li>label &#8211; n\u00e1zev stavu &#8211; Custom status<\/li><li>public &#8211; zobrazen\u00ed stavu postu na frontendu (v\u017edy false pro stav objedn\u00e1vky)<\/li><li> exclude_from_search &#8211; vylou\u010den\u00ed post\u016f z vyhled\u00e1v\u00e1n\u00ed (false)<\/li><li> show_in_admin_all_list  &#8211; zobrazen\u00ed v adminu (true)<\/li><li> show_in_admin_status_list &#8211; zobrazen\u00ed v seznamu stav\u016f (true)<\/li><li> label_count  &#8211; n\u00e1zev pro zobrazen\u00ed po\u010dtu objedn\u00e1vek s t\u00edmto stavem<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2. P\u0159id\u00e1n\u00ed stavu do seznamu v\u00fdchoz\u00edch stav\u016f<\/h3>\n\n\n\n<p>Jako druh\u00fd krok, mus\u00edme p\u0159idat nov\u00fd stav do seznamu v\u0161ech stav\u016f ve Woocommerce. Toto se pou\u017e\u00edv\u00e1 nap\u0159\u00edklad v detailu objedn\u00e1vky, pro vykreslen\u00ed selectu se stavy objedn\u00e1vek.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"463\" height=\"304\" src=\"https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2020\/01\/stavy-objednavek.jpg\" alt=\"\" class=\"wp-image-5402\" srcset=\"https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2020\/01\/stavy-objednavek.jpg 463w, https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2020\/01\/stavy-objednavek-300x197.jpg 300w\" sizes=\"auto, (max-width: 463px) 100vw, 463px\" \/><\/figure>\n\n\n\n<p>WooCommerce m\u00e1 filtr  wc_order_statuses, kam vlo\u017e\u00edte ji\u017e nadefinovan\u00e9 id stavu a n\u00e1zev stavu. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. P\u0159id\u00e1n\u00ed do hromadn\u00fdch \u00faprav<\/h3>\n\n\n\n<p>Posledn\u00edm krokem je p\u0159id\u00e1n\u00ed stavu do hromadn\u00fdch \u00faprav, aby bylo mo\u017en\u00e9 v administraci objedn\u00e1vek, hromadn\u011b ozna\u010dit v\u00edce objedn\u00e1vek nov\u00fdm stavem. <\/p>\n\n\n\n<p>Proto se pou\u017e\u00edv\u00e1 filtr  bulk_actions-edit-shop_order, kam id bulk akce a jej\u00ed n\u00e1zev. Pozor na to, \u017ee, nyn\u00ed ji\u017e nesm\u00edme pou\u017e\u00edt prefix <strong>wc-<\/strong> , ale <strong>mark_<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Kompletn\u00ed k\u00f3d pro vytvo\u0159en\u00ed stavu<\/h3>\n\n\n\n<p>V\u0161echny t\u0159i kroky pak v k\u00f3du vypadaj\u00ed takto:<\/p>\n\n\n\n\n\n\n\n<p>T\u00edm jste do e-shopu p\u0159idali nov\u00fd vlastn\u00ed stav, ale v\u011bt\u0161inou nen\u00ed pr\u00e1ce u konce, proto\u017ee na stavy objedn\u00e1vek navazuj\u00ed tak\u00e9 dal\u0161\u00ed kroky, jako t\u0159eba odesl\u00e1n\u00ed e-mailu. Tak\u00e9 je v\u011bt\u0161inou pot\u0159eba p\u0159idat tla\u010d\u00edtko do akc\u00ed objedn\u00e1vek, ale to bude t\u00e9matem jin\u00e9ho \u010dl\u00e1nku. <\/p>\n\n\n\n<p> Dal\u0161\u00ed u\u017eite\u010dn\u00e9 snippety najdete na str\u00e1nce <strong><a href=\"https:\/\/musilda.cz\/uzitecne-snippety-pro-woocommerce\/\" target=\"_blank\" rel=\"noreferrer noopener\">U\u017eite\u010dn\u00e9 snippety pro WooCommerce<\/a><\/strong> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>WooCommerce p\u0159i vytv\u00e1\u0159en\u00ed objedn\u00e1vky, pou\u017e\u00edv\u00e1 n\u011bkolik v\u00fdchoz\u00edch stav\u016f, kter\u00e9 pou\u017eije pro ozna\u010den\u00ed stavu, v kter\u00e9m se objedn\u00e1vka nach\u00e1z\u00ed. Tyto stavy jdou pom\u011brn\u011b jednodu\u0161e roz\u0161\u00ed\u0159it. Objedn\u00e1vka je technicky post type. To znamen\u00e1, \u017ee m\u00e1 stejn\u00e9 prvky, jako post a pro stavy objedn\u00e1vek se pou\u017e\u00edv\u00e1 post status. Ka\u017ed\u00fd post m\u00e1 stavy draft, publish atd. WordPress umo\u017e\u0148uje registrovat<\/p>\n","protected":false},"author":1,"featured_media":8732,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_uag_custom_page_level_css":"","footnotes":""},"categories":[25,29],"tags":[],"class_list":["post-5401","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-woocommerce","category-woocommerce-snippety"],"acf":[],"uagb_featured_image_src":{"full":["https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2016\/05\/wordpress-woocommerce-musilda.png",1200,800,false],"thumbnail":["https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2016\/05\/wordpress-woocommerce-musilda-150x150.png",150,150,true],"medium":["https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2016\/05\/wordpress-woocommerce-musilda-300x200.png",300,200,true],"medium_large":["https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2016\/05\/wordpress-woocommerce-musilda-768x512.png",640,427,true],"large":["https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2016\/05\/wordpress-woocommerce-musilda-1024x683.png",640,427,true],"1536x1536":["https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2016\/05\/wordpress-woocommerce-musilda.png",1200,800,false],"2048x2048":["https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2016\/05\/wordpress-woocommerce-musilda.png",1200,800,false],"archive-list":["https:\/\/affinite.io\/cs\/wp-content\/uploads\/sites\/2\/2016\/05\/wordpress-woocommerce-musilda-400x265.png",400,265,true]},"uagb_author_info":{"display_name":"Affinite","author_link":"https:\/\/affinite.io\/cs\/author\/affinite\/"},"uagb_comment_info":1,"uagb_excerpt":"WooCommerce p\u0159i vytv\u00e1\u0159en\u00ed objedn\u00e1vky, pou\u017e\u00edv\u00e1 n\u011bkolik v\u00fdchoz\u00edch stav\u016f, kter\u00e9 pou\u017eije pro ozna\u010den\u00ed stavu, v kter\u00e9m se objedn\u00e1vka nach\u00e1z\u00ed. Tyto stavy jdou pom\u011brn\u011b jednodu\u0161e roz\u0161\u00ed\u0159it. Objedn\u00e1vka je technicky post type. To znamen\u00e1, \u017ee m\u00e1 stejn\u00e9 prvky, jako post a pro stavy objedn\u00e1vek se pou\u017e\u00edv\u00e1 post status. Ka\u017ed\u00fd post m\u00e1 stavy draft, publish atd. WordPress umo\u017e\u0148uje registrovat","_links":{"self":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts\/5401","targetHints":{"allow":["GET"]}}],"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=5401"}],"version-history":[{"count":0,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts\/5401\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/media\/8732"}],"wp:attachment":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/media?parent=5401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/categories?post=5401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/tags?post=5401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}