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
@@ -709,10 +709,10 @@ class WC_EDM_REST_API {
|
||||
$method_id = isset( $rule['shipping_method_id'] ) ? sanitize_text_field( (string) $rule['shipping_method_id'] ) : '';
|
||||
$action = isset( $rule['action'] ) ? sanitize_key( (string) $rule['action'] ) : '';
|
||||
|
||||
if ( '' === $method_id || ! in_array( $action, array( 'show', 'hide' ), true ) ) {
|
||||
if ( '' === $method_id || ! in_array( $action, array( 'show', 'hide', 'only' ), true ) ) {
|
||||
return new WP_Error(
|
||||
'wc_edm_invalid',
|
||||
__( 'Each rule needs a shipping_method_id and an action of "show" or "hide".', 'wc-email-discount' ),
|
||||
__( 'Each rule needs a shipping_method_id and an action of "show", "hide" or "only".', 'wc-email-discount' ),
|
||||
array( 'status' => 400 )
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user