V říjnu byla vydána aktualizace WooCommerce, která v sobě měla jednu nepříjemnou změnu a to odlišný přístup k definování statusu objednávky. Bohužel je tato změna zpětně nekompatibilní a řada funkcí, nebo pluginů, které toto v sobě mají, může být nefunkční.
Na to, že tvůrci pluginů budou hned upravovat své produkty se nemůžete spolehnout, viz. tady . Náprava naštěstí není složitá, i když mi to chvíli zabralo, než jsem na to přišel.
Původní vytvoření custom order status byl ve vytvoření nového termu. V podstatě stačilo použít tuto funkci
function add_custom_status(){ $term = get_term_by( 'name', 'Custom status', 'shop_order_status' ); if ( ! $term ) { wp_insert_term( 'Custom status', 'shop_order_status' ); } } |
V polovině září se však použití termu změnilo na status postu. Objednávky ve WooCommerce jsou vlastně custom post type a jsou tak ukládány do tabulky wp_posts (wp_ dle aktuálního prefixu). A stavy objednávek tak byly taxonomie pro custom post type.
V rámci zjednodušení přístupu ke stavům, se vývojáři rozhodli vytvořit custom post statusy, které budou mít prefix wc. Takže objednávka ve stavu čekající, má v nyní post status wc-pending. A v tom je zakopaný pes.
Custom order status ve WooCommerce nově vytvoříte takto
add_action( 'init', 'register_custom_order_status', 5 ); function register_custom_order_status(){ register_post_status( 'wc-control', array( 'label' => _x( 'Custom status', 'Order status', 'woocommerce' ), 'public' => true, 'exclude_from_search' => false, 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true, 'label_count' => _n_noop( 'Control order <span class="count">(%s)</span>', 'Control order <span class="count">(%s)</span>', 'woocommerce' ) ) ); } |
Samozřejmě všude, kde programátoři použili pro výpis objednávek s vlastním statusem, je potřeba upravit funkce, aby místo termu používaly post_status.
Doufám, že vám tip pomůže, protože na webu jsou nyní dohledatelné spíše starší návody.
Další užitečné snippety najdete na stránce Užitečné snippety pro WooCommerce
Nj, co se dá dělat. Když je něco špatně napsaný a je třeba to napsat konečně „správně“, musí padat hlavy :-) Aneb, když se kácí les hold občas můžou lítat třísky ;-)
Mam dotaz k tomuto pluginu, instalace uplne v pohode.
kdyz dam prudukt jako jednoduchy vse funguje
ale kdyz sem dal prudukt s variantami (jedna se o velikosti trik) tak mi v adminu ukazuje celkem pocet skladem, ale kdyz si otevru stranky tak mam pouze moznost vyberu velikost a pak se nic nestane, nezobrazuje se tlacitko pridat do kosiku ani stavy u jednotlivych velikosti…
nevite co s tim? predem dekuji