Skip to content

v1.4.7

Choose a tag to compare

@originalconcepts originalconcepts released this 13 Sep 20:36
· 8 commits to main since this release

1.4.7 — bundle components as ordinary order lines

  • Orders: a bundle split for the invoice (invoice_display = components) now lists each component as an ordinary WooCommerce line. The line shows the product's name, the quantity that ships in the quantity column, and its unit as item meta. Previously the quantity was spelled out in the line name.
  • Re-weighing: edit the component line's quantity, like any weighable product. This works on the order screen while the order is pending payment or on hold, or through the WooCommerce REST API.
    • Saving settles component stock by the difference.
    • The line keeps its checkout amount unless the bundle has reweigh_price.
  • No separate table: the "Weighed quantities" table under the bundle line no longer appears for these orders. Orders split before 1.4.7 keep it.
  • Removed lines: removing a component line, or saving it at quantity 0, returns that component's stock.
  • Two lines of the same bundle: each component line is tied to its own bundle line, so two lines of the same bundle in one order never mix.
  • REST updates: WooCommerce REST order updates settle component stock too, once the order has taken its stock.

For integrations (e.g. Giorgio): order line structure changed in 1.4.7

  • Quantity and name: a component line's quantity is the quantity that ships (it may be a decimal), not 1. Its name is the product name, so don't parse quantities out of line names. The unit is visible item meta (Unit, translated; יחידת מידה on Hebrew sites).

  • Identifying lines: component lines have no product_id, so identify them by hidden meta, returned in meta_data.

    Line Meta Meaning
    Component _oc_bundle_component_of Bundle product ID
    Component _oc_bundle_component_index Component index in the bundle
    Component _oc_bundle_component_parent The bundle line's _oc_bundle_line_uid
    Component _oc_bundle_component_qty_line 1
    Bundle _oc_bundle_line_uid Links the bundle line to its component lines
    Bundle _oc_bundle_qty_lines 1
  • Pushing a weighed amount: send PUT /wp-json/wc/v3/orders/{id} with line_items: [{"id": <component line id>, "quantity": 0.6}]. No plugin endpoint is needed.

  • Older orders: orders split before 1.4.7 keep the old shape: the quantity is in the name and the line quantity is 1.

Also in this release (tagged earlier, first GitHub Release)

  • 1.4.6: a bundle line in the Deliz float cart gets the theme's "Edit" button. It reopens the product popup with the customer's quantity and swaps, and saving replaces the cart line. The popup REST payload accepts oc_bundle_selection.
  • 1.4.5: a discounted bundle reports regular = before the discount and sale = after it, so it shows struck-through and in sale colours like any product on sale. A coupon that excludes sale items now skips it. Deliz popup: bundles get the theme's opening scroll nudge.
  • 1.4.4: in the Deliz float cart, a bundle keeps the standard cart row and lists its contents on a full-width line under it, with no sideways scroll.