From bff59757b6b10a3414d93765e082efd4e7c0cce0 Mon Sep 17 00:00:00 2001
From: dkoo
Date: Wed, 15 Apr 2026 13:24:27 -0600
Subject: [PATCH 01/15] feat(access-control): group subscription human-readable
names
---
.../class-group-subscription-settings.php | 28 +++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/includes/plugins/woocommerce-subscriptions/group-subscription/class-group-subscription-settings.php b/includes/plugins/woocommerce-subscriptions/group-subscription/class-group-subscription-settings.php
index 95a5dea1f5..7bcec7fd45 100644
--- a/includes/plugins/woocommerce-subscriptions/group-subscription/class-group-subscription-settings.php
+++ b/includes/plugins/woocommerce-subscriptions/group-subscription/class-group-subscription-settings.php
@@ -19,6 +19,7 @@ class Group_Subscription_Settings {
const DEFAULT_SETTINGS = [
'enabled' => false,
'limit' => 0,
+ 'name' => '',
];
/**
@@ -185,6 +186,13 @@ public static function get_subscription_settings( $subscription ) {
$settings = self::get_product_settings( $product_id );
$settings['enabled'] = $subscription->get_meta( self::GROUP_SUBSCRIPTION_META_PREFIX . 'enabled', true ) ? \wc_string_to_bool( $subscription->get_meta( self::GROUP_SUBSCRIPTION_META_PREFIX . 'enabled', true ) ) : $settings['enabled'];
$settings['limit'] = (int) $subscription->get_meta( self::GROUP_SUBSCRIPTION_META_PREFIX . 'limit', true ) ?: $settings['limit']; // phpcs:ignore Universal.Operators.DisallowShortTernary.Found
+ $settings['name'] = $subscription->get_meta( self::GROUP_SUBSCRIPTION_META_PREFIX . 'name', true ) ?
+ $subscription->get_meta( self::GROUP_SUBSCRIPTION_META_PREFIX . 'name', true ) :
+ sprintf(
+ /* translators: %s: The subscription owner's name. */
+ __( '%s’s Group', 'newspack-plugin' ),
+ $subscription->get_formatted_billing_full_name()
+ );
/**
* Filter the group subscription settings for a subscription.
@@ -290,6 +298,22 @@ public static function add_group_subscription_options( $subscription ) {
+
+ self::GROUP_SUBSCRIPTION_META_PREFIX . 'name',
+ 'name' => self::GROUP_SUBSCRIPTION_META_PREFIX . 'name',
+ 'label' => __( 'Group subscription name', 'newspack-plugin' ),
+ 'value' => $settings['name'],
+ 'type' => 'text',
+ 'wrapper_class' => 'show_if_newspack_group_subscription_enabled',
+ ]
+ )
+ );
+ ?>
+