{"id":2301,"date":"2015-01-10T06:42:57","date_gmt":"2015-01-10T06:42:57","guid":{"rendered":"http:\/\/musilda.cz\/?p=2301"},"modified":"2015-01-10T06:42:57","modified_gmt":"2015-01-10T06:42:57","slug":"vase-sablona-obsahuje-zastarale-soubory-sablon-woocommerce","status":"publish","type":"post","link":"https:\/\/affinite.io\/cs\/vase-sablona-obsahuje-zastarale-soubory-sablon-woocommerce\/","title":{"rendered":"Va\u0161e \u0161ablona obsahuje zastaral\u00e9 soubory \u0161ablon WooCommerce"},"content":{"rendered":"
Na informaci z nadpisu dne\u0161n\u00edho \u010dl\u00e1nku, m\u016f\u017eete \u010dasto narazit po aktualizaci WooCommerce. Co vlastn\u011b znamen\u00e1 a jak se s n\u00ed vypo\u0159\u00e1dat?<\/p>\n
<\/p>\n
WooCommerce m\u00e1 v sob\u011b zabudovan\u00fd syst\u00e9m, d\u00edky kter\u00e9mu m\u016f\u017eete ve slo\u017ece \u0161ablony vytvo\u0159it slo\u017eku s n\u00e1zvem WooCommerce a upravovat si tak soubory, dle vlastn\u00ed pot\u0159eby.<\/p>\n
P\u0159i na\u010d\u00edt\u00e1n\u00ed soubor\u016f, kter\u00e9 jsou pot\u0159eba pro vykreslen\u00ed aktu\u00e1ln\u00ed str\u00e1nky, plugin nejprve kontroluje, zda existuje p\u0159\u00edslu\u0161n\u00e1 slo\u017eka, ve kter\u00e9 hled\u00e1 odpov\u00eddaj\u00edc\u00ed soubor. Pokud existuje, na\u010dte jej, pokud ne, na\u010dte soubor ze slo\u017eky templates, ve slo\u017ece pluginu.<\/p>\n
Tento postup m\u00e1 jednu obrovskou v\u00fdhodu. M\u016f\u017eete upravovat zobrazov\u00e1n\u00ed nap\u0159\u00edklad detailu produktu, bez toho, aby se v\u00e1s dot\u00fdkaly aktualizace WooCommerce.<\/p>\n
To v\u0161ak\u00a0plat\u00ed jen \u010d\u00e1ste\u010dn\u011b<\/strong><\/p>\n Ka\u017ed\u00fd soubor, kter\u00fd pou\u017e\u00edv\u00e1 plugin pro v\u00fdpis, obsahuje na sv\u00e9m za\u010d\u00e1tku podobn\u00fd z\u00e1pis:<\/p>\n Prvn\u00ed je jm\u00e9no souboru, n\u00e1sleduje autor, package a verze. Z t\u011bchto \u00fadaj\u016f se m\u011bn\u00ed pouze \u010d\u00edslo verze a to v\u017edy, kdy\u017e se zm\u011bn\u00ed samotn\u00fd soubor. Verze tedy ozna\u010duje verzi WooCommerce, ve kter\u00e9 byl soubor zm\u011bn\u011bn, nebo vytvo\u0159en. V tomto p\u0159\u00edpad\u011b se jedn\u00e1 o 2.0.0.<\/p>\n V p\u0159\u00edpad\u011b, \u017ee dojde k aktualizaci souboru a \u010d\u00edslo verze se zm\u011bn\u00ed, WooCommerce o tom zobraz\u00ed informaci v z\u00e1hlav\u00ed administrace a na str\u00e1nce Stav syst\u00e9mu.<\/p>\n Mohu tuto informaci ignorovat?<\/strong><\/p>\n Ano i ne.<\/p>\n Zat\u00edm se setk\u00e1v\u00e1m s t\u00edm, \u017ee provozovatel\u00e9 web\u016f, podobn\u011b jako na aktualizace plugin\u016f, i toto upozorn\u011bn\u00ed ignoruj\u00ed. Jak\u00e9 mohou vzniknout probl\u00e9my<\/strong><\/p>\n Str\u00e1nka m\u016f\u017ee p\u0159estat fungovat,nebo nebudou pracovat pluginy, kter\u00e9 jsou nov\u011bj\u0161\u00edho data.<\/p>\n M\u016f\u017ee se st\u00e1t, \u017ee dojde k p\u0159id\u00e1n\u00ed akce, nebo filtru do \u0161ablony, kterou bude plugin vyu\u017e\u00edvat a vy ji v \u0161ablon\u011b nebudete m\u00edt.<\/p>\n P\u0159\u00edklad:<\/strong><\/p>\n Soubor thankyou.php,kter\u00fd se star\u00e1 o zobrazen\u00ed d\u011bkovn\u00e9 str\u00e1nky,po proveden\u00ed objedn\u00e1vky.<\/p>\n Verze 2.0.0<\/p>\n Verze 2.2.0<\/p>\n Pokud si na web s neaktualizovan\u00fdmi soubory v \u0161ablon\u011b nainstalujete plugin, kter\u00fd bude vyu\u017e\u00edvat pr\u00e1v\u011b tento filter „woocommerce_thankyou_order_received_text“, marn\u011b budete hledat probl\u00e9m v pluginu.<\/p>\n P\u0159\u00edklad 2:<\/strong><\/p>\n wc_get_order()<\/strong> vs new WC_Order()<\/strong><\/p>\n Pokud si prohl\u00e9dnete soubory ve verzi 2.0.0, uvid\u00edte, \u017ee k z\u00edsk\u00e1n\u00ed dat objedn\u00e1vky je pou\u017e\u00edv\u00e1no:<\/p>\n WC_Order je t\u0159\u00edda v souboru class-wc-order.php<\/p>\n V t\u00e9m\u017ee souboru ve verzi 2.2.0 (nap\u0159\u00edklad order-details.php),m\u016f\u017eete m\u00edsto toho vid\u011bt:<\/p>\n Na prvn\u00ed pohled nepatrn\u00e1 zm\u011bna.<\/p>\n Z\u00edsk\u00e1n\u00ed dat objedn\u00e1vky ve verzi 2.0.0 funguje tak, \u017ee vytvo\u0159\u00edte objekt pomoc\u00ed t\u0159\u00eddy WC_Order. Ta zohled\u0148uje to, zda se jedn\u00e1 o custom order type a teprve pot\u00e9 vrac\u00ed vytvo\u0159en\u00fd objekt pomoc\u00ed WC_Order.<\/p>\n Pokud si tedy zakoup\u00edte, nebo si nech\u00e1te naprogramovat roz\u0161\u00ed\u0159en\u00ed, kter\u00e9 bude vytv\u00e1\u0159et vlastn\u00ed typy objedn\u00e1vky, tak v\u00e1m je \u0161ablona spr\u00e1vn\u011b nevyp\u00ed\u0161e.<\/p>\n Z\u00e1v\u011br:<\/strong> Pokud si upravujete vzhled soubor\u016f WooCommerce, tak p\u0159i kop\u00edrov\u00e1n\u00ed soubor\u016f do slo\u017eky \u0161ablony, p\u0159esouvejte pouze ty, kter\u00e9 re\u00e1ln\u011b pot\u0159ebujete<\/strong>. V\u00edm, \u017ee t\u011bch 30 vte\u0159in va\u0161eho \u017eivota, kter\u00e9 v\u00e1s bude st\u00e1t vytvo\u0159en\u00ed n\u011bkolika slo\u017eek, m\u00edsto p\u0159eta\u017een\u00ed jedn\u00e9, v\u00e1m nikdo nevr\u00e1t\u00ed, ale a\u017e budete proch\u00e1zet des\u00edtky soubor\u016f a hledat rozd\u00edly a kontrolovat \u00fapravy, pochop\u00edte.<\/p>\n","protected":false},"excerpt":{"rendered":" Na informaci z nadpisu dne\u0161n\u00edho \u010dl\u00e1nku, m\u016f\u017eete \u010dasto narazit po aktualizaci WooCommerce. Co vlastn\u011b znamen\u00e1 a jak se s n\u00ed vypo\u0159\u00e1dat?<\/p>\n","protected":false},"author":1,"featured_media":8732,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[425],"class_list":["post-2301","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-woocommerce","tag-woocommerce"],"_links":{"self":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts\/2301"}],"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=2301"}],"version-history":[{"count":0,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts\/2301\/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=2301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/categories?post=2301"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/tags?post=2301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}\/**\n * Thankyou page\n *\n * @author WooThemes\n * @package \tWooCommerce\/Templates\n * @version 2.0.0\n *\/\n<\/pre>\n
\nTeoreticky by se nem\u011blo nic st\u00e1t. Plugin je vyv\u00edjen s ohledem na zp\u011btnou kompatibilitu, ale je ot\u00e1zka, jak dlouho bude trvat. U pr\u00e9miov\u00fdch \u0161ablon, p\u0159edev\u0161\u00edm z ThemeForest b\u00fdvaj\u00ed tyto soubory upravov\u00e1ny a zde pak p\u0159ich\u00e1z\u00ed na \u0159adu ot\u00e1zka, zda toto autor \u0161ablony zohled\u0148uje a vyd\u00e1v\u00e1 aktualizace.<\/p>\n$order = new WC_Order( $order_id );\n<\/pre>\n
$order = wc_get_order( $order_id );\n<\/pre>\n
\nU verze 2.2.0 nejprve zavol\u00e1te funkci wc_get_order() ze souboru wc-order-functions.php, kter\u00e1 vrac\u00ed metodu get_order() z t\u0159\u00eddy WC_Order_Factory, ze souboru class-wc-order-factory.php.<\/p>\n
\nV p\u0159\u00edpad\u011b, \u017ee se v\u00e1m v administraci zobrazuje informace o tom, \u017ee m\u00e1te zastaral\u00e9 soubory \u0161ablony, tak je t\u0159eba tomu v\u011bnovat pozornost, p\u0159edejdete zbyte\u010dn\u00fdm probl\u00e9m\u016fm.<\/p>\n