\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"POT-Creation-Date: 2025-11-13T13:50:53+00:00\n"
+"POT-Creation-Date: 2025-12-10T19:19:35+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.12.0\n"
"X-Domain: target-repo\n"
diff --git a/src/Internal/Telemetry/Events.php b/src/Internal/Telemetry/Events.php
index 3def395..874ab8e 100644
--- a/src/Internal/Telemetry/Events.php
+++ b/src/Internal/Telemetry/Events.php
@@ -20,6 +20,11 @@ class Events {
*/
public function __construct( ?callable $event_recorder = null ) {
$this->event_recorder = $event_recorder ?? function ( string $event_name, array $event_properties = array() ) {
+ // The WC_Site_Tracking class is not always available, depending on the WC version and request type (e.g. AJAX).
+ // This check prevents a fatal error if the class is not loaded.
+ if ( ! class_exists( 'WC_Site_Tracking' ) ) {
+ return;
+ }
// Note that the following method ensures nothing is sent home unless tracking is enabled.
WC_Tracks::record_event( $event_name, $event_properties );
};
diff --git a/templates/gifting/subscription-totals.php b/templates/gifting/subscription-totals.php
index bac0360..24956e7 100644
--- a/templates/gifting/subscription-totals.php
+++ b/templates/gifting/subscription-totals.php
@@ -5,7 +5,7 @@
* Shows the info of a particular subscription without pricing for the recipient on the account page
*
* @package WooCommerce Subscriptions Gifting/Templates
- * @version 2.0.0
+ * @version 8.2.0
*/
if ( ! defined( 'ABSPATH' ) ) {
@@ -32,13 +32,24 @@ if ( ! defined( 'ABSPATH' ) ) {
foreach ( $subscription_items as $item_id => $item ) {
$_product = apply_filters( 'woocommerce_subscriptions_order_item_product', $item->get_product(), $item );
if ( apply_filters( 'woocommerce_order_item_visible', true, $item ) ) {
+ // Translators: %s: product name.
+ $aria_label = sprintf( __( 'Remove %s', 'woocommerce-subscriptions' ), esc_html( $_product->get_name() ) );
?>
|
-
- ×
+
+
+ ×
+
|
diff --git a/templates/html-early-renewal-modal-content.php b/templates/html-early-renewal-modal-content.php
index 69c29da..5969c23 100644
--- a/templates/html-early-renewal-modal-content.php
+++ b/templates/html-early-renewal-modal-content.php
@@ -18,21 +18,34 @@ $include_item_removal_links = $include_switch_links = false;
-' . esc_html( date_i18n( wc_date_format(), $new_next_payment_date->getOffsetTimestamp() ) ) . ''
- ) );
+' . esc_html( date_i18n( wc_date_format(), $new_next_payment_date->getOffsetTimestamp() ) ) . ''
+ )
+ );
} else {
- echo wp_kses_post( sprintf(
- __( 'By renewing your subscription early, your scheduled next payment on %s will be cancelled.', 'woocommerce-subscriptions' ),
- '' . esc_html( date_i18n( wc_date_format(), $subscription->get_time( 'next_payment', 'site' ) ) ) . ''
- ) );
-}?>
+ echo wp_kses_post(
+ sprintf(
+ // Translators: 1: currently schedulednext payment date.
+ __( 'By renewing your subscription early, your scheduled next payment on %1$s will be cancelled.', 'woocommerce-subscriptions' ),
+ '' . esc_html( date_i18n( wc_date_format(), $subscription->get_time( 'next_payment', 'site' ) ) ) . ''
+ )
+ );
+}
+?>
-',
- ''
-) ) ?>
+',
+ ''
+ )
+)
+?>
diff --git a/templates/html-modal.php b/templates/html-modal.php
index e7f8f44..668b5e2 100644
--- a/templates/html-modal.php
+++ b/templates/html-modal.php
@@ -9,13 +9,19 @@ if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
-
-
+
+ has_heading() ) {
+ $article_attributes .= ' aria-labelledby="' . esc_attr( $modal->get_id() . '-heading' ) . '"';
+ }
+ ?>
+
>
diff --git a/templates/myaccount/my-subscriptions.php b/templates/myaccount/my-subscriptions.php
index 953e42c..37bd59e 100644
--- a/templates/myaccount/my-subscriptions.php
+++ b/templates/myaccount/my-subscriptions.php
@@ -22,7 +22,7 @@ if ( ! defined( 'ABSPATH' ) ) {
-
+
diff --git a/templates/myaccount/related-orders.php b/templates/myaccount/related-orders.php
index 8592e81..9130eac 100644
--- a/templates/myaccount/related-orders.php
+++ b/templates/myaccount/related-orders.php
@@ -27,7 +27,7 @@ if ( ! defined( 'ABSPATH' ) ) {
-
+
diff --git a/templates/myaccount/related-subscriptions.php b/templates/myaccount/related-subscriptions.php
index 176ca34..fac20bb 100644
--- a/templates/myaccount/related-subscriptions.php
+++ b/templates/myaccount/related-subscriptions.php
@@ -4,7 +4,7 @@
*
* @author Prospress
* @category WooCommerce Subscriptions/Templates
- * @version 7.3.0 - Migrated from WooCommerce Subscriptions v2.6.0
+ * @version 8.2.0
*/
if ( ! defined( 'ABSPATH' ) ) {
@@ -26,7 +26,14 @@ if ( ! defined( 'ABSPATH' ) ) {
- $subscription ) : ?>
+ $subscription ) {
+ $view_order_label = sprintf(
+ // Translators: %1$d is the subscription number.
+ __( 'View subscription %1$d', 'woocommerce-subscriptions' ),
+ $subscription_id
+ );
+ ?>
|
@@ -44,10 +51,16 @@ if ( ! defined( 'ABSPATH' ) ) {
get_formatted_order_total() ); ?>
|
-
+
+
+
|
-
+
diff --git a/templates/myaccount/subscription-details.php b/templates/myaccount/subscription-details.php
index 562f3c1..b37df47 100644
--- a/templates/myaccount/subscription-details.php
+++ b/templates/myaccount/subscription-details.php
@@ -5,7 +5,7 @@
* @author Prospress
* @package WooCommerce_Subscription/Templates
* @since 1.0.0 - Migrated from WooCommerce Subscriptions v2.2.19
- * @version 1.0.0 - Migrated from WooCommerce Subscriptions v2.6.5
+ * @version 8.2.0
*/
if ( ! defined( 'ABSPATH' ) ) {
@@ -43,22 +43,30 @@ if ( ! defined( 'ABSPATH' ) ) {
is_manual();
+ $toggle_classes = array( 'subscription-auto-renew-toggle', 'subscription-auto-renew-toggle--hidden' );
+ $is_duplicate_site = false;
- $toggle_classes = array( 'subscription-auto-renew-toggle', 'subscription-auto-renew-toggle--hidden' );
-
- if ( $subscription->is_manual() ) {
- $toggle_label = __( 'Enable auto renew', 'woocommerce-subscriptions' );
+ if ( $is_auto_renew_on ) {
+ $toggle_classes[] = 'subscription-auto-renew-toggle--on';
+ } else {
$toggle_classes[] = 'subscription-auto-renew-toggle--off';
if ( WCS_Staging::is_duplicate_site() ) {
- $toggle_classes[] = 'subscription-auto-renew-toggle--disabled';
+ $toggle_classes[] = 'subscription-auto-renew-toggle--disabled';
+ $is_duplicate_site = true;
}
- } else {
- $toggle_label = __( 'Disable auto renew', 'woocommerce-subscriptions' );
- $toggle_classes[] = 'subscription-auto-renew-toggle--on';
- }?>
-
-
+ }
+ ?>
+
+
@@ -88,10 +96,19 @@ if ( ! defined( 'ABSPATH' ) ) {
if ( wc_wp_theme_get_element_class_name( 'button' ) ) {
$classes[] = wc_wp_theme_get_element_class_name( 'button' );
}
+
+ // Role is used for accessibility purposes. Default role is 'button', because of the default visual styling.
+ $action_role = isset( $action['role'] ) ? $action['role'] : 'button';
?>
>
@@ -114,8 +131,8 @@ if ( ! defined( 'ABSPATH' ) ) {
comment_content ) ) ); ?>
-
-
+
+
diff --git a/templates/myaccount/subscription-totals-table.php b/templates/myaccount/subscription-totals-table.php
index f8faad9..d3cf77d 100644
--- a/templates/myaccount/subscription-totals-table.php
+++ b/templates/myaccount/subscription-totals-table.php
@@ -4,7 +4,7 @@
*
* @package WooCommerce_Subscription/Templates
* @since 1.0.0 - Migrated from WooCommerce Subscriptions v2.6.0
- * @version 7.2.0
+ * @version 8.2.0
*/
if ( ! defined( 'ABSPATH' ) ) {
@@ -43,8 +43,21 @@ if ( ! defined( 'ABSPATH' ) ) {
|
-
- ×
+ get_name() ) );
+ $confirm_notice = apply_filters( 'woocommerce_subscriptions_order_item_remove_confirmation_text', __( 'Are you sure you want to remove this item from your subscription?', 'woocommerce-subscriptions' ), $item, $_product, $subscription );
+ ?>
+
+ ×
+
|
diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php
index 6749fbe..c9ca6a1 100644
--- a/vendor/composer/installed.php
+++ b/vendor/composer/installed.php
@@ -1,9 +1,9 @@
array(
'name' => 'woocommerce/woocommerce-subscriptions',
- 'pretty_version' => 'dev-release/8.1.0',
- 'version' => 'dev-release/8.1.0',
- 'reference' => '073151600fa05dc26b7244faf4808c0f49e63436',
+ 'pretty_version' => 'dev-release/8.2.0',
+ 'version' => 'dev-release/8.2.0',
+ 'reference' => '649a58503cd3715ecc5d37281a2cbb62fe5ad320',
'type' => 'wordpress-plugin',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
@@ -29,9 +29,9 @@
'dev_requirement' => false,
),
'woocommerce/woocommerce-subscriptions' => array(
- 'pretty_version' => 'dev-release/8.1.0',
- 'version' => 'dev-release/8.1.0',
- 'reference' => '073151600fa05dc26b7244faf4808c0f49e63436',
+ 'pretty_version' => 'dev-release/8.2.0',
+ 'version' => 'dev-release/8.2.0',
+ 'reference' => '649a58503cd3715ecc5d37281a2cbb62fe5ad320',
'type' => 'wordpress-plugin',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
diff --git a/woocommerce-subscriptions.php b/woocommerce-subscriptions.php
index 43e6e94..d59311e 100644
--- a/woocommerce-subscriptions.php
+++ b/woocommerce-subscriptions.php
@@ -5,11 +5,11 @@
* Description: Sell products and services with recurring payments in your WooCommerce Store.
* Author: WooCommerce
* Author URI: https://woocommerce.com/
- * Version: 8.1.0
+ * Version: 8.2.0
* Requires Plugins: woocommerce
*
- * WC requires at least: 10.2.0
- * WC tested up to: 10.3.0
+ * WC requires at least: 10.3.0
+ * WC tested up to: 10.4.0
* Requires PHP: 7.4
*
* License: GNU General Public License v3.0
@@ -84,7 +84,7 @@ class WC_Subscriptions {
public static $plugin_file = __FILE__;
/** @var string */
- public static $version = '8.1.0'; // WRCS: DEFINED_VERSION.
+ public static $version = '8.2.0'; // WRCS: DEFINED_VERSION.
/** @var string */
public static $wc_minimum_supported_version = '7.7';