1.7.0: shipping rule "Only" reserves a method, "Show" no longer does
Since 1.6.0 "Show" both whitelisted a method for its group and hid it from everybody else. A group shown ordinary methods next to a free one therefore took the ordinary ones away from every stranger, who was left with only the free method. "Only" now carries the reservation; "Show" is just the group's whitelist. Existing show rules are converted to only once on update so the checkout does not change until the shop chooses. Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Code
parent
5875638f2c
commit
0793a1ee82
+1
-1
@@ -1,6 +1,6 @@
|
||||
# Contract
|
||||
|
||||
Every hook this plugin offers, and every family hook it answers. Version 1.6.3.
|
||||
Every hook this plugin offers, and every family hook it answers. Version 1.7.0.
|
||||
|
||||
A contract is a name somebody else has to know. Core hooks this plugin merely
|
||||
listens to — `init`, `admin_menu`, `wp_enqueue_scripts` — are not here;
|
||||
|
||||
+6
-3
@@ -1,6 +1,6 @@
|
||||
# Nolimit Discounts
|
||||
|
||||
Version 1.6.3 · a WooCommerce plugin · slug `woocommerce-email-discount-manager`
|
||||
Version 1.7.0 · a WooCommerce plugin · slug `woocommerce-email-discount-manager`
|
||||
|
||||
Gives a customer a discount, and decides which shipping methods they may
|
||||
choose, based on the email address they check out with.
|
||||
@@ -29,11 +29,14 @@ address, then domain, then fragment.
|
||||
A discount group can be given shipping rules, which is the half worth reading
|
||||
twice because it decides what a stranger sees.
|
||||
|
||||
A method a group is told to **show** is *reserved* for that group. Customers
|
||||
A method a group is set to **only** is *reserved* for that group. Customers
|
||||
who match no group do not see it. Before 1.6.0 a method set up for approved
|
||||
company addresses stayed on the checkout for everybody, so free delivery meant
|
||||
for one customer could be chosen by anyone who found it — the bug that release
|
||||
fixed.
|
||||
fixed. **Show** is the weaker rule and reserves nothing: it offers the method
|
||||
to the group and leaves everyone else alone. 1.6.0 made show do both, which
|
||||
took ordinary methods away from strangers whenever they were listed beside a
|
||||
free one; 1.7.0 split them and turned every old show rule into only.
|
||||
|
||||
The plugin never leaves a customer with no shipping method at all. If applying
|
||||
the rules would empty the list, every method comes back.
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
# Releasing
|
||||
|
||||
One release a day at most, cut by hand. Version 1.6.3 is current.
|
||||
One release a day at most, cut by hand. Version 1.7.0 is current.
|
||||
|
||||
## The sequence
|
||||
|
||||
@@ -233,7 +233,7 @@ derives everything from the header, so splitting them was a one-line change —
|
||||
and it means the source repository's visibility is a separate decision from the
|
||||
feed's.
|
||||
|
||||
⚠️ The source repository is **still public** as of 1.6.3. Making it private is
|
||||
⚠️ The source repository is **still public** as of 1.7.0. Making it private is
|
||||
safe only once no installation is still pointing its `Update URI` at the old
|
||||
address; an install on a pre-1.5.0 build reads its feed from
|
||||
`kw/nolimit-discounts`, and making that private would silently stop its
|
||||
|
||||
+9
-7
@@ -53,13 +53,15 @@ A fragment pattern (`john`) matches `john@anywhere.com` and also
|
||||
|
||||
### Shipping
|
||||
|
||||
Per group, per shipping method, one of **show** or **hide**.
|
||||
Per group, per shipping method, one of **show**, **only** or **hide**.
|
||||
|
||||
The consequence worth understanding before using this tab: a method any group
|
||||
is told to **show** becomes reserved. Customers who match no group stop seeing
|
||||
it everywhere on the shop, not only inside that group. That is the point — it
|
||||
is how "free delivery for approved addresses" stays unavailable to everybody
|
||||
else — but it means adding one show rule changes what strangers see.
|
||||
**Show** offers the method to the group (and, once any method is shown, the
|
||||
group is offered only the methods marked show or only). Nobody else is
|
||||
affected. **Only** does the same and also *reserves* the method: customers
|
||||
outside the group stop seeing it everywhere on the shop. That is how "free
|
||||
delivery for approved addresses" stays unavailable to everybody else — set the
|
||||
free methods to **only** and the ordinary ones (parcel shops, pickup) to
|
||||
**show**. Adding one only rule changes what strangers see.
|
||||
|
||||
## How to tell it is working
|
||||
|
||||
@@ -81,7 +83,7 @@ Not "no errors". A specific number on a specific screen:
|
||||
|
||||
4. **Shipping, if you set any rules.** With rules in place, compare the
|
||||
checkout as a matching customer and in a private window as a stranger. The
|
||||
reserved method must be absent for the stranger. Both should show at least
|
||||
method marked only must be absent for the stranger. Both should show at least
|
||||
one method; if the stranger sees *everything*, the rules emptied the list
|
||||
and the never-leave-them-stranded fallback returned all of them.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user