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
@@ -51,7 +51,7 @@ class WC_EDM_Admin_Shipping {
|
||||
|
||||
$action = isset( $raw_rules[ $method_id ] ) ? $raw_rules[ $method_id ] : '';
|
||||
|
||||
if ( ! in_array( $action, array( 'show', 'hide' ), true ) ) {
|
||||
if ( ! in_array( $action, array( 'show', 'hide', 'only' ), true ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ class WC_EDM_Admin_Shipping {
|
||||
?>
|
||||
<h2><?php esc_html_e( 'Shipping Rules', 'wc-email-discount' ); ?></h2>
|
||||
<p class="description">
|
||||
<?php esc_html_e( 'Choose which shipping methods are shown or hidden for customers in a discount group. If a group has no rules, all shipping methods behave normally. If any method is set to "Show", only "Show" methods are offered.', 'wc-email-discount' ); ?>
|
||||
<?php esc_html_e( 'Choose which shipping methods are shown or hidden for customers in a discount group. If a group has no rules, all shipping methods behave normally. If any method is set to "Show" or "Only", only those methods are offered to the group. "Only" also hides the method from every customer outside the group, which is what free delivery for one company needs; "Show" leaves it available to everybody.', 'wc-email-discount' ); ?>
|
||||
</p>
|
||||
|
||||
<?php if ( empty( $groups ) ) : ?>
|
||||
@@ -175,6 +175,10 @@ class WC_EDM_Admin_Shipping {
|
||||
<input type="radio" name="rule[<?php echo esc_attr( $method_id ); ?>]" value="show" <?php checked( $action, 'show' ); ?>>
|
||||
<?php esc_html_e( 'Show', 'wc-email-discount' ); ?>
|
||||
</label>
|
||||
<label title="<?php esc_attr_e( 'Shown to this group, and hidden from everybody else', 'wc-email-discount' ); ?>">
|
||||
<input type="radio" name="rule[<?php echo esc_attr( $method_id ); ?>]" value="only" <?php checked( $action, 'only' ); ?>>
|
||||
<?php esc_html_e( 'Only', 'wc-email-discount' ); ?>
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" name="rule[<?php echo esc_attr( $method_id ); ?>]" value="hide" <?php checked( $action, 'hide' ); ?>>
|
||||
<?php esc_html_e( 'Hide', 'wc-email-discount' ); ?>
|
||||
|
||||
Reference in New Issue
Block a user