Updates to 6.6.2

This commit is contained in:
WooCommerce
2024-09-13 10:14:49 +00:00
parent 072c76acb5
commit ccb5fe37b5
30 changed files with 291 additions and 234 deletions

View File

@@ -1,5 +1,16 @@
*** WooCommerce Subscriptions Changelog *** *** WooCommerce Subscriptions Changelog ***
2024-09-13 - version 6.7.0
* Fix: Resolved two issues preventing the correct display of the "Subscription items can no longer be edited." message on the Edit Subscription page.
* Fix: Checks for the existence of `wc_get_page_screen_id` before calling it on `wcs_get_page_screen_id`, and for the admin context before calling `list_table_primary_column` to prevent fatal errors.
* Fix: Blocks the reactivation of a subscription when the end date is in the past.
* Fix: Ensure a subscription's modified date is updated when its related order cache is updated on non-HPOS sites.
* Fix: Ensure trial period form data is set before use to prevent fatal errors when the data is missing.
* Fix: Resolved an error with coupon discount calculations for manual or early renewal orders on stores with tax-inclusive pricing.
* Fix: Add the theme-compatible button class to the switch button on the My Account > Subscription page.
* Dev: Removing the unused method `maybe_remove_formatted_order_total_filter` hooked to `woocommerce_get_formatted_order_total` which was deprecated.
* Dev: Update subscriptions-core to 7.5.0
2024-09-05 - version 6.6.2 2024-09-05 - version 6.6.2
* Fix: Prevent errors during checkout when a customer is switching their subscription product and does not require payment. * Fix: Prevent errors during checkout when a customer is switching their subscription product and does not require payment.
* Dev: Update subscriptions-core to 7.4.3. * Dev: Update subscriptions-core to 7.4.3.

View File

@@ -550,7 +550,7 @@ class WC_Subscriptions_Switcher {
$switch_url = esc_url( self::get_switch_url( $item_id, $item, $subscription ) ); $switch_url = esc_url( self::get_switch_url( $item_id, $item, $subscription ) );
$switch_text = apply_filters( 'woocommerce_subscriptions_switch_link_text', get_option( WC_Subscriptions_Admin::$option_prefix . '_switch_button_text', __( 'Upgrade or Downgrade', 'woocommerce-subscriptions' ) ), $item_id, $item, $subscription ); $switch_text = apply_filters( 'woocommerce_subscriptions_switch_link_text', get_option( WC_Subscriptions_Admin::$option_prefix . '_switch_button_text', __( 'Upgrade or Downgrade', 'woocommerce-subscriptions' ) ), $item_id, $item, $subscription );
$switch_classes = apply_filters( 'woocommerce_subscriptions_switch_link_classes', array( 'wcs-switch-link', 'button' ), $item_id, $item, $subscription ); $switch_classes = apply_filters( 'woocommerce_subscriptions_switch_link_classes', array( 'wcs-switch-link', 'button', wc_wp_theme_get_element_class_name( 'button' ) ), $item_id, $item, $subscription );
$switch_link = sprintf( '<a href="%s" class="%s">%s</a>', $switch_url, implode( ' ', (array) $switch_classes ), $switch_text ); $switch_link = sprintf( '<a href="%s" class="%s">%s</a>', $switch_url, implode( ' ', (array) $switch_classes ), $switch_text );

View File

@@ -2,14 +2,14 @@
# This file is distributed under the same license as the WooCommerce Subscriptions plugin. # This file is distributed under the same license as the WooCommerce Subscriptions plugin.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: WooCommerce Subscriptions 6.6.2\n" "Project-Id-Version: WooCommerce Subscriptions 6.7.0\n"
"Report-Msgid-Bugs-To: https://woocommerce.com/contact-us\n" "Report-Msgid-Bugs-To: https://woocommerce.com/contact-us\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2024-09-05T03:31:47+00:00\n" "POT-Creation-Date: 2024-09-13T00:40:26+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.9.0\n" "X-Generator: WP-CLI 2.9.0\n"
"X-Domain: woocommerce-subscriptions\n" "X-Domain: woocommerce-subscriptions\n"
@@ -50,8 +50,8 @@ msgstr ""
#: includes/admin/class-wcs-admin-reports.php:81 #: includes/admin/class-wcs-admin-reports.php:81
#: includes/admin/reports/class-wcs-report-subscription-events-by-date.php:922 #: includes/admin/reports/class-wcs-report-subscription-events-by-date.php:922
#: includes/api/class-wc-rest-subscriptions-settings.php:29 #: includes/api/class-wc-rest-subscriptions-settings.php:29
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1030 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1027
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1182 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1179
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:59 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:59
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-wc-admin-manager.php:38 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-wc-admin-manager.php:38
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-wc-admin-manager.php:48 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-wc-admin-manager.php:48
@@ -99,14 +99,14 @@ msgid "Report Cache Enabled"
msgstr "" msgstr ""
#: includes/admin/reports/class-wcs-report-cache-manager.php:316 #: includes/admin/reports/class-wcs-report-cache-manager.php:316
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1724 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1721
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1793 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1790
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:98 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:98
msgid "Yes" msgid "Yes"
msgstr "" msgstr ""
#: includes/admin/reports/class-wcs-report-cache-manager.php:316 #: includes/admin/reports/class-wcs-report-cache-manager.php:316
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1724 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1721
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:98 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:98
msgid "No" msgid "No"
msgstr "" msgstr ""
@@ -1939,70 +1939,70 @@ msgstr ""
msgid "Invalid relation type: %1$s. Order relationship type must be one of: %2$s." msgid "Invalid relation type: %1$s. Order relationship type must be one of: %2$s."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:214 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:211
msgid "Simple subscription" msgid "Simple subscription"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:215 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:212
msgid "Variable subscription" msgid "Variable subscription"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:236 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:233
msgid "Downloadable" msgid "Downloadable"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:237 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:234
msgid "Virtual" msgid "Virtual"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:301 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:298
msgid "Choose the subscription price, billing interval and period." msgid "Choose the subscription price, billing interval and period."
msgstr "" msgstr ""
#. translators: placeholder is trial period validation message if passed an invalid value (e.g. "Trial period can not exceed 4 weeks") #. translators: placeholder is trial period validation message if passed an invalid value (e.g. "Trial period can not exceed 4 weeks")
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:303 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:300
msgctxt "Trial period field tooltip on Edit Product administration screen" msgctxt "Trial period field tooltip on Edit Product administration screen"
msgid "An optional period of time to wait before charging the first recurring payment. Any sign up fee will still be charged at the outset of the subscription. %s" msgid "An optional period of time to wait before charging the first recurring payment. Any sign up fee will still be charged at the outset of the subscription. %s"
msgstr "" msgstr ""
#. translators: %s: currency symbol. #. translators: %s: currency symbol.
#. translators: placeholder is a currency symbol / code #. translators: placeholder is a currency symbol / code
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:317 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:314
#: vendor/woocommerce/subscriptions-core/templates/admin/html-variation-price.php:44 #: vendor/woocommerce/subscriptions-core/templates/admin/html-variation-price.php:44
msgid "Subscription price (%s)" msgid "Subscription price (%s)"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:321 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:318
msgctxt "example price" msgctxt "example price"
msgid "e.g. 5.90" msgid "e.g. 5.90"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:322 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:319
msgid "Subscription interval" msgid "Subscription interval"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:328 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:325
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:484 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:481
msgid "Subscription period" msgid "Subscription period"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:344 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:341
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:485 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:482
#: vendor/woocommerce/subscriptions-core/templates/admin/html-variation-price.php:66 #: vendor/woocommerce/subscriptions-core/templates/admin/html-variation-price.php:66
msgid "Stop renewing after" msgid "Stop renewing after"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:347 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:344
msgid "Automatically stop renewing the subscription after this length of time. This length is in addition to any free trial or amount of time provided before a synchronised first renewal date." msgid "Automatically stop renewing the subscription after this length of time. This length is in addition to any free trial or amount of time provided before a synchronised first renewal date."
msgstr "" msgstr ""
#. translators: %s is a currency symbol / code #. translators: %s is a currency symbol / code
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:358 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:355
#: vendor/woocommerce/subscriptions-core/templates/admin/html-variation-price.php:20 #: vendor/woocommerce/subscriptions-core/templates/admin/html-variation-price.php:20
msgid "Sign-up fee (%s)" msgid "Sign-up fee (%s)"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:359 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:356
#: vendor/woocommerce/subscriptions-core/templates/admin/deprecated/html-variation-price.php:31 #: vendor/woocommerce/subscriptions-core/templates/admin/deprecated/html-variation-price.php:31
#: vendor/woocommerce/subscriptions-core/templates/admin/deprecated/html-variation-price.php:86 #: vendor/woocommerce/subscriptions-core/templates/admin/deprecated/html-variation-price.php:86
#: vendor/woocommerce/subscriptions-core/templates/admin/html-variation-price.php:21 #: vendor/woocommerce/subscriptions-core/templates/admin/html-variation-price.php:21
@@ -2011,90 +2011,90 @@ msgctxt "example price"
msgid "e.g. 9.90" msgid "e.g. 9.90"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:360 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:357
msgid "Optionally include an amount to be charged at the outset of the subscription. The sign-up fee will be charged immediately, even if the product has a free trial or the payment dates are synced." msgid "Optionally include an amount to be charged at the outset of the subscription. The sign-up fee will be charged immediately, even if the product has a free trial or the payment dates are synced."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:374 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:371
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-cart.php:2479 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-cart.php:2479
#: vendor/woocommerce/subscriptions-core/templates/admin/html-variation-price.php:25 #: vendor/woocommerce/subscriptions-core/templates/admin/html-variation-price.php:25
msgid "Free trial" msgid "Free trial"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:377 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:374
#: vendor/woocommerce/subscriptions-core/templates/admin/deprecated/html-variation-price.php:115 #: vendor/woocommerce/subscriptions-core/templates/admin/deprecated/html-variation-price.php:115
msgid "Subscription Trial Period" msgid "Subscription Trial Period"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:417 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:414
msgid "One time shipping" msgid "One time shipping"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:418 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:415
msgid "Shipping for subscription products is normally charged on the initial order and all renewal orders. Enable this to only charge shipping once on the initial order. Note: for this setting to be enabled the subscription must not have a free trial or a synced renewal date." msgid "Shipping for subscription products is normally charged on the initial order and all renewal orders. Enable this to only charge shipping once on the initial order. Note: for this setting to be enabled the subscription must not have a free trial or a synced renewal date."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:481 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:478
msgid "Subscription pricing" msgid "Subscription pricing"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:482 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:479
msgid "Subscription sign-up fee" msgid "Subscription sign-up fee"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:483 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:480
msgid "Subscription billing interval" msgid "Subscription billing interval"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:486 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:483
msgid "Free trial length" msgid "Free trial length"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:487 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:484
msgid "Free trial period" msgid "Free trial period"
msgstr "" msgstr ""
#. translators: %s: subscription status. #. translators: %s: subscription status.
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:810 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:807
msgid "Unable to change subscription status to \"%s\". Please assign a customer to the subscription to activate it." msgid "Unable to change subscription status to \"%s\". Please assign a customer to the subscription to activate it."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:864 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:861
msgid "Trashing this order will also trash the subscriptions purchased with the order." msgid "Trashing this order will also trash the subscriptions purchased with the order."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:877 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:874
msgid "Enter the new period, either day, week, month or year:" msgid "Enter the new period, either day, week, month or year:"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:878 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:875
msgid "Enter a new length (e.g. 5):" msgid "Enter a new length (e.g. 5):"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:879 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:876
msgid "Enter a new interval as a single number (e.g. to charge every 2nd month, enter 2):" msgid "Enter a new interval as a single number (e.g. to charge every 2nd month, enter 2):"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:880 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:877
msgid "Delete all variations without a subscription" msgid "Delete all variations without a subscription"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:886 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:883
msgid "An error occurred determining if that variation can be deleted. Please try again." msgid "An error occurred determining if that variation can be deleted. Please try again."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:887 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:884
msgid "That variation can not be removed because it is associated with active subscriptions. To remove this variation, please cancel and delete the subscriptions for it." msgid "That variation can not be removed because it is associated with active subscriptions. To remove this variation, please cancel and delete the subscriptions for it."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:892 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:889
msgid "" msgid ""
"You are about to trash one or more orders which contain a subscription.\n" "You are about to trash one or more orders which contain a subscription.\n"
"\n" "\n"
"Trashing the orders will also trash the subscriptions purchased with these orders." "Trashing the orders will also trash the subscriptions purchased with these orders."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:900 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:897
msgid "" msgid ""
"WARNING: Bad things are about to happen!\n" "WARNING: Bad things are about to happen!\n"
"\n" "\n"
@@ -2103,179 +2103,179 @@ msgid ""
"Changes to the billing period, recurring discount, recurring tax or recurring total may not be reflected in the amount charged by the payment gateway." "Changes to the billing period, recurring discount, recurring tax or recurring total may not be reflected in the amount charged by the payment gateway."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:901 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:898
msgid "You are deleting a subscription item. You will also need to manually cancel and trash the subscription on the Manage Subscriptions screen." msgid "You are deleting a subscription item. You will also need to manually cancel and trash the subscription on the Manage Subscriptions screen."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:908 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:905
msgid "" msgid ""
"Warning: Deleting a user will also delete the user's subscriptions. The user's orders will remain but be reassigned to the 'Guest' user.\n" "Warning: Deleting a user will also delete the user's subscriptions. The user's orders will remain but be reassigned to the 'Guest' user.\n"
"\n" "\n"
"Do you want to continue to delete this user and any associated subscriptions?" "Do you want to continue to delete this user and any associated subscriptions?"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:912 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:909
msgid "PayPal Standard has a number of limitations and does not support all subscription features." msgid "PayPal Standard has a number of limitations and does not support all subscription features."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:912 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:909
msgid "Because of this, it is not recommended as a payment method for Subscriptions unless it is the only available option for your country." msgid "Because of this, it is not recommended as a payment method for Subscriptions unless it is the only available option for your country."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:915 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:912
msgid "This action cannot be reversed. Are you sure you wish to erase personal data from the selected subscriptions?" msgid "This action cannot be reversed. Are you sure you wish to erase personal data from the selected subscriptions?"
msgstr "" msgstr ""
#. translators: placeholders are for HTML tags. They are 1$: "<h3>", 2$: "</h3>", 3$: "<p>", 4$: "<em>", 5$: "</em>", 6$: "<em>", 7$: "</em>", 8$: "</p>" #. translators: placeholders are for HTML tags. They are 1$: "<h3>", 2$: "</h3>", 3$: "<p>", 4$: "<em>", 5$: "</em>", 6$: "<em>", 7$: "</em>", 8$: "</p>"
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:932 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:929
msgctxt "used in admin pointer script params in javascript as type pointer content" msgctxt "used in admin pointer script params in javascript as type pointer content"
msgid "%1$sChoose Subscription%2$s%3$sThe WooCommerce Subscriptions extension adds two new subscription product types - %4$sSimple subscription%5$s and %6$sVariable subscription%7$s.%8$s" msgid "%1$sChoose Subscription%2$s%3$sThe WooCommerce Subscriptions extension adds two new subscription product types - %4$sSimple subscription%5$s and %6$sVariable subscription%7$s.%8$s"
msgstr "" msgstr ""
#. translators: placeholders are for HTML tags. They are 1$: "<h3>", 2$: "</h3>", 3$: "<p>", 4$: "</p>" #. translators: placeholders are for HTML tags. They are 1$: "<h3>", 2$: "</h3>", 3$: "<p>", 4$: "</p>"
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:934 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:931
msgctxt "used in admin pointer script params in javascript as price pointer content" msgctxt "used in admin pointer script params in javascript as price pointer content"
msgid "%1$sSet a Price%2$s%3$sSubscription prices are a little different to other product prices. For a subscription, you can set a billing period, length, sign-up fee and free trial.%4$s" msgid "%1$sSet a Price%2$s%3$sSubscription prices are a little different to other product prices. For a subscription, you can set a billing period, length, sign-up fee and free trial.%4$s"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:960 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:957
msgid "Active subscriber?" msgid "Active subscriber?"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1004 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1001
msgid "Manage Subscriptions" msgid "Manage Subscriptions"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1008 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1005
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-core-plugin.php:381 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-core-plugin.php:381
msgid "Search Subscriptions" msgid "Search Subscriptions"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1234 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1231
msgctxt "options section heading" msgctxt "options section heading"
msgid "Miscellaneous" msgid "Miscellaneous"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1241 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1238
msgid "Mixed Checkout" msgid "Mixed Checkout"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1242 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1239
msgid "Allow multiple subscriptions and products to be purchased simultaneously." msgid "Allow multiple subscriptions and products to be purchased simultaneously."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1246 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1243
msgid "Allow a subscription product to be purchased with other products and subscriptions in the same transaction." msgid "Allow a subscription product to be purchased with other products and subscriptions in the same transaction."
msgstr "" msgstr ""
#. translators: placeholder is a number #. translators: placeholder is a number
#. translators: placeholder is a subscription ID. #. translators: placeholder is a subscription ID.
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1348 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1345
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1590 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1587
msgid "We can't find a subscription with ID #%d. Perhaps it was deleted?" msgid "We can't find a subscription with ID #%d. Perhaps it was deleted?"
msgstr "" msgstr ""
#. translators: Placeholders are opening and closing link tags. #. translators: Placeholders are opening and closing link tags.
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1441 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1438
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1503 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1500
msgid "We weren't able to locate the set of report results you requested. Please regenerate the link from the %1$sSubscription Reports screen%2$s." msgid "We weren't able to locate the set of report results you requested. Please regenerate the link from the %1$sSubscription Reports screen%2$s."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1558 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1555
msgid "We can't find a paid subscription order for this user." msgid "We can't find a paid subscription order for this user."
msgstr "" msgstr ""
#. translators: placeholders are opening link tag, ID of sub, and closing link tag #. translators: placeholders are opening link tag, ID of sub, and closing link tag
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1597 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1594
msgid "Showing orders for %1$sSubscription %2$s%3$s" msgid "Showing orders for %1$sSubscription %2$s%3$s"
msgstr "" msgstr ""
#. translators: number of 1$: days, 2$: weeks, 3$: months, 4$: years #. translators: number of 1$: days, 2$: weeks, 3$: months, 4$: years
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1620 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1617
msgid "The trial period can not exceed: %1$s, %2$s, %3$s or %4$s." msgid "The trial period can not exceed: %1$s, %2$s, %3$s or %4$s."
msgstr "" msgstr ""
#. translators: placeholder is a time period (e.g. "4 weeks") #. translators: placeholder is a time period (e.g. "4 weeks")
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1625 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1622
msgid "The trial period can not exceed %s." msgid "The trial period can not exceed %s."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1650 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1647
msgid "Please log in to your account to view your subscriptions." msgid "Please log in to your account to view your subscriptions."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1687 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1684
msgid "No subscriptions found for that customer." msgid "No subscriptions found for that customer."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1689 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1686
msgid "You do not have permission to view those subscriptions." msgid "You do not have permission to view those subscriptions."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1723 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1720
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:96 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:96
msgctxt "label that indicates whether debugging is turned on for the plugin" msgctxt "label that indicates whether debugging is turned on for the plugin"
msgid "WCS_DEBUG" msgid "WCS_DEBUG"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1729 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1726
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:110 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:110
msgctxt "Live or Staging, Label on WooCommerce -> System Status page" msgctxt "Live or Staging, Label on WooCommerce -> System Status page"
msgid "Subscriptions Mode" msgid "Subscriptions Mode"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1730 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1727
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:112 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:112
msgctxt "refers to staging site" msgctxt "refers to staging site"
msgid "Staging" msgid "Staging"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1730 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1727
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:112 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-system-status.php:112
msgctxt "refers to live site" msgctxt "refers to live site"
msgid "Live" msgid "Live"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1760 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1757
msgid "Automatic Recurring Payments" msgid "Automatic Recurring Payments"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1793 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1790
msgid "Supports automatic renewal payments." msgid "Supports automatic renewal payments."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1891 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1871
msgid "Subscription items can no longer be edited." msgid "Subscription items can no longer be edited."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1895 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1876
msgid "This subscription is no longer editable because the payment gateway does not allow modification of recurring amounts." msgid "This subscription is no longer editable because the payment gateway does not allow modification of recurring amounts."
msgstr "" msgstr ""
#. translators: $1-2: opening and closing tags of a link that takes to Woo marketplace / Stripe product page #. translators: $1-2: opening and closing tags of a link that takes to Woo marketplace / Stripe product page
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1914 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1895
msgid "No payment gateways capable of processing automatic subscription payments are enabled. If you would like to process automatic payments, we recommend the %1$sfree Stripe extension%2$s." msgid "No payment gateways capable of processing automatic subscription payments are enabled. If you would like to process automatic payments, we recommend the %1$sfree Stripe extension%2$s."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1921 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1902
msgid "Recurring Payments" msgid "Recurring Payments"
msgstr "" msgstr ""
#. translators: placeholders are opening and closing link tags #. translators: placeholders are opening and closing link tags
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1929 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:1910
msgid "Payment gateways which don't support automatic recurring payments can be used to process %1$smanual subscription renewal payments%2$s." msgid "Payment gateways which don't support automatic recurring payments can be used to process %1$smanual subscription renewal payments%2$s."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:2049 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:2030
msgid "Note that purchasing a subscription still requires an account." msgid "Note that purchasing a subscription still requires an account."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:2063 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:2044
msgid "The product type can not be changed because this product is associated with subscriptions." msgid "The product type can not be changed because this product is associated with subscriptions."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:2120 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:2101
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:2121 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wc-subscriptions-admin.php:2102
msgid "Allow subscription customers to create an account during checkout" msgid "Allow subscription customers to create an account during checkout"
msgstr "" msgstr ""
@@ -2540,7 +2540,7 @@ msgstr[1] ""
#. translators: placeholder is the display name of a payment gateway a subscription was paid by #. translators: placeholder is the display name of a payment gateway a subscription was paid by
#. translators: %s: payment method. #. translators: %s: payment method.
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-post-types.php:652 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-post-types.php:652
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2158 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2164
msgid "Via %s" msgid "Via %s"
msgstr "" msgstr ""
@@ -2608,7 +2608,7 @@ msgid "None"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-post-types.php:1174 #: vendor/woocommerce/subscriptions-core/includes/admin/class-wcs-admin-post-types.php:1174
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2140 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2146
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-change-payment-method-admin.php:170 #: vendor/woocommerce/subscriptions-core/includes/class-wcs-change-payment-method-admin.php:170
msgid "Manual Renewal" msgid "Manual Renewal"
msgstr "" msgstr ""
@@ -2959,7 +2959,7 @@ msgid "Error: unable to find timezone of your browser."
msgstr "" msgstr ""
#. Translators: The %1 placeholder is the translated order relationship ("Parent Order"), %2 placeholder is a <br> HTML tag. #. Translators: The %1 placeholder is the translated order relationship ("Parent Order"), %2 placeholder is a <br> HTML tag.
#: vendor/woocommerce/subscriptions-core/includes/admin/meta-boxes/views/html-unknown-related-orders-row.php:24 #: vendor/woocommerce/subscriptions-core/includes/admin/meta-boxes/views/html-unknown-related-orders-row.php:25
msgid "This %1$s couldn't be loaded from the database. %1$s Click to learn more." msgid "This %1$s couldn't be loaded from the database. %1$s Click to learn more."
msgstr "" msgstr ""
@@ -2968,139 +2968,139 @@ msgid "Read more"
msgstr "" msgstr ""
#. translators: %s: subscription status. #. translators: %s: subscription status.
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:437 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:443
msgid "Unable to change subscription status to \"%s\"." msgid "Unable to change subscription status to \"%s\"."
msgstr "" msgstr ""
#. translators: 1: subscription status, 2: error message. #. translators: 1: subscription status, 2: error message.
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:560 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:566
msgid "Unable to change subscription status to \"%1$s\". Exception: %2$s" msgid "Unable to change subscription status to \"%1$s\". Exception: %2$s"
msgstr "" msgstr ""
#. translators: 1: old subscription status 2: new subscription status #. translators: 1: old subscription status 2: new subscription status
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:593 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:599
msgid "Status changed from %1$s to %2$s." msgid "Status changed from %1$s to %2$s."
msgstr "" msgstr ""
#. translators: %s: new order status #. translators: %s: new order status
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:607 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:613
msgid "Status set to %s." msgid "Status set to %s."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:621 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:627
msgid "Error during subscription status transition." msgid "Error during subscription status transition."
msgstr "" msgstr ""
#. translators: placeholder is human time diff (e.g. "3 weeks") #. translators: placeholder is human time diff (e.g. "3 weeks")
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1308 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1314
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-manager.php:2405 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-manager.php:2405
msgid "In %s" msgid "In %s"
msgstr "" msgstr ""
#. translators: placeholder is human time diff (e.g. "3 weeks") #. translators: placeholder is human time diff (e.g. "3 weeks")
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1311 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1317
#: vendor/woocommerce/subscriptions-core/includes/wcs-formatting-functions.php:246 #: vendor/woocommerce/subscriptions-core/includes/wcs-formatting-functions.php:246
msgid "%s ago" msgid "%s ago"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1318 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1324
msgid "Not yet ended" msgid "Not yet ended"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1321 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1327
msgid "Not cancelled" msgid "Not cancelled"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1326 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1332
msgctxt "original denotes there is no date to display" msgctxt "original denotes there is no date to display"
msgid "-" msgid "-"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1434 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1440
msgid "The creation date of a subscription can not be deleted, only updated." msgid "The creation date of a subscription can not be deleted, only updated."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1437 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1443
msgid "The start date of a subscription can not be deleted, only updated." msgid "The start date of a subscription can not be deleted, only updated."
msgstr "" msgstr ""
#. translators: %s: date type (e.g. "trial_end"). #. translators: %s: date type (e.g. "trial_end").
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1442 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1448
msgid "The %s date of a subscription can not be deleted. You must delete the order." msgid "The %s date of a subscription can not be deleted. You must delete the order."
msgstr "" msgstr ""
#. translators: %d: subscription ID. #. translators: %d: subscription ID.
#. translators: %d: order ID. #. translators: %d: order ID.
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1451 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1457
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2581 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2587
msgid "Subscription #%d: " msgid "Subscription #%d: "
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1865 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1871
msgid "Payment status marked complete." msgid "Payment status marked complete."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1907 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1913
msgid "Payment failed." msgid "Payment failed."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1912 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:1918
msgid "Subscription Cancelled: maximum number of failed payments reached." msgid "Subscription Cancelled: maximum number of failed payments reached."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2022 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2028
msgid "The \"all\" value for $order_type parameter is deprecated. It was a misnomer, as it did not return resubscribe orders. It was also inconsistent with order type values accepted by wcs_get_subscription_orders(). Use array( \"parent\", \"renewal\", \"switch\" ) to maintain previous behaviour, or \"any\" to receive all order types, including switch and resubscribe." msgid "The \"all\" value for $order_type parameter is deprecated. It was a misnomer, as it did not return resubscribe orders. It was also inconsistent with order type values accepted by wcs_get_subscription_orders(). Use array( \"parent\", \"renewal\", \"switch\" ) to maintain previous behaviour, or \"any\" to receive all order types, including switch and resubscribe."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2237 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2243
#: vendor/woocommerce/subscriptions-core/wcs-functions.php:834 #: vendor/woocommerce/subscriptions-core/wcs-functions.php:834
msgid "Payment method meta must be an array." msgid "Payment method meta must be an array."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2473 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2479
msgid "Invalid format. First parameter needs to be an array." msgid "Invalid format. First parameter needs to be an array."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2477 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2483
msgid "Invalid data. First parameter was empty when passed to update_dates()." msgid "Invalid data. First parameter was empty when passed to update_dates()."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2484 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2490
msgid "Invalid data. First parameter has a date that is not in the registered date types." msgid "Invalid data. First parameter has a date that is not in the registered date types."
msgstr "" msgstr ""
#. translators: placeholder is date type (e.g. "end", "next_payment"...) #. translators: placeholder is date type (e.g. "end", "next_payment"...)
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2511 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2517
msgctxt "appears in an error message if date is wrong format" msgctxt "appears in an error message if date is wrong format"
msgid "Invalid %s date. The date must be of the format: \"Y-m-d H:i:s\"." msgid "Invalid %s date. The date must be of the format: \"Y-m-d H:i:s\"."
msgstr "" msgstr ""
#. translators: %s: date type (e.g. "end"). #. translators: %s: date type (e.g. "end").
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2549 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2555
msgid "The %s date must occur after the cancellation date." msgid "The %s date must occur after the cancellation date."
msgstr "" msgstr ""
#. translators: %s: date type (e.g. "end"). #. translators: %s: date type (e.g. "end").
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2555 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2561
msgid "The %s date must occur after the last payment date." msgid "The %s date must occur after the last payment date."
msgstr "" msgstr ""
#. translators: %s: date type (e.g. "end"). #. translators: %s: date type (e.g. "end").
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2560 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2566
msgid "The %s date must occur after the next payment date." msgid "The %s date must occur after the next payment date."
msgstr "" msgstr ""
#. translators: %s: date type (e.g. "end"). #. translators: %s: date type (e.g. "end").
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2566 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2572
msgid "The %s date must occur after the trial end date." msgid "The %s date must occur after the trial end date."
msgstr "" msgstr ""
#. translators: %s: date type (e.g. "next_payment"). #. translators: %s: date type (e.g. "next_payment").
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2571 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2577
msgid "The %s date must occur after the start date." msgid "The %s date must occur after the start date."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2601 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscription.php:2607
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-checkout.php:348 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-checkout.php:348
msgid "Backordered" msgid "Backordered"
msgstr "" msgstr ""
@@ -3455,9 +3455,9 @@ msgstr ""
msgid "Support" msgid "Support"
msgstr "" msgstr ""
#. translators: placeholders are opening and closing tags. Leads to docs on version 2 #. translators: placeholders are opening and closing tags. Leads to docs on upgrading WooCommerce Subscriptions
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-core-plugin.php:573 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-core-plugin.php:573
msgid "Warning! Version 2.0 is a major update to the WooCommerce Subscriptions extension. Before updating, please create a backup, update all WooCommerce extensions and test all plugins, custom code and payment gateways with version 2.0 on a staging site. %1$sLearn more about the changes in version 2.0 &raquo;%2$s" msgid "Warning! Version 2.0 is a major update to the WooCommerce Subscriptions extension. Before updating, please create a backup, update all WooCommerce extensions and test all plugins, custom code and payment gateways with version 2.0 on a staging site. %1$sLearn more about updating older versions of WooCommerce Subscriptions &raquo;%2$s"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-coupon.php:134 #: vendor/woocommerce/subscriptions-core/includes/class-wc-subscriptions-coupon.php:134
@@ -4207,7 +4207,7 @@ msgctxt "Used in WooCommerce by removed item notification: \"_All linked subscri
msgid "All linked subscription items were" msgid "All linked subscription items were"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/class-wcs-cart-renewal.php:1543 #: vendor/woocommerce/subscriptions-core/includes/class-wcs-cart-renewal.php:1548
msgctxt "The place order button text while renewing a subscription" msgctxt "The place order button text while renewing a subscription"
msgid "Renew subscription" msgid "Renew subscription"
msgstr "" msgstr ""
@@ -5117,18 +5117,14 @@ msgid "PayPal API error - credentials are incorrect."
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/gateways/paypal/includes/templates/html-ipn-failure-notice.php:18 #: vendor/woocommerce/subscriptions-core/includes/gateways/paypal/includes/templates/html-ipn-failure-notice.php:18
msgid "A fatal error has occurred while processing a recent subscription payment with PayPal. Please %1$sopen a new ticket at WooCommerce Support%3$s immediately to get this resolved. %2$sLearn more &raquo;%3$s" msgid "A fatal error has occurred while processing a recent subscription payment with PayPal. Please %1$sopen a new ticket at WooCommerce Support%3$s immediately to get this resolved. See our documentation on %2$sdebugging IPN issues in PayPal Standard to Learn more &raquo;%3$s"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/gateways/paypal/includes/templates/html-ipn-failure-notice.php:29 #: vendor/woocommerce/subscriptions-core/includes/gateways/paypal/includes/templates/html-ipn-failure-notice.php:26
msgid "To resolve this as quickly as possible, please create a %1$stemporary administrator account%3$s with the user email woologin@woocommerce.com and share the credentials with us via %2$sQuickForget.com%3$s."
msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/gateways/paypal/includes/templates/html-ipn-failure-notice.php:36
msgid "Last recorded error:" msgid "Last recorded error:"
msgstr "" msgstr ""
#: vendor/woocommerce/subscriptions-core/includes/gateways/paypal/includes/templates/html-ipn-failure-notice.php:46 #: vendor/woocommerce/subscriptions-core/includes/gateways/paypal/includes/templates/html-ipn-failure-notice.php:36
msgid "To see the full error, view the %1$s log file from the %2$sWooCommerce logs screen.%3$s." msgid "To see the full error, view the %1$s log file from the %2$sWooCommerce logs screen.%3$s."
msgstr "" msgstr ""

2
vendor/autoload.php vendored
View File

@@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
require_once __DIR__ . '/composer/autoload_real.php'; require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit7e691db14332db79e94ffb5244979d5e::getLoader(); return ComposerAutoloaderInit0a0744246f082255078926698437a7a5::getLoader();

View File

@@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer // autoload_real.php @generated by Composer
class ComposerAutoloaderInit7e691db14332db79e94ffb5244979d5e class ComposerAutoloaderInit0a0744246f082255078926698437a7a5
{ {
private static $loader; private static $loader;
@@ -24,12 +24,12 @@ class ComposerAutoloaderInit7e691db14332db79e94ffb5244979d5e
require __DIR__ . '/platform_check.php'; require __DIR__ . '/platform_check.php';
spl_autoload_register(array('ComposerAutoloaderInit7e691db14332db79e94ffb5244979d5e', 'loadClassLoader'), true, true); spl_autoload_register(array('ComposerAutoloaderInit0a0744246f082255078926698437a7a5', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInit7e691db14332db79e94ffb5244979d5e', 'loadClassLoader')); spl_autoload_unregister(array('ComposerAutoloaderInit0a0744246f082255078926698437a7a5', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php'; require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit7e691db14332db79e94ffb5244979d5e::getInitializer($loader)); call_user_func(\Composer\Autoload\ComposerStaticInit0a0744246f082255078926698437a7a5::getInitializer($loader));
$loader->register(true); $loader->register(true);

View File

@@ -4,7 +4,7 @@
namespace Composer\Autoload; namespace Composer\Autoload;
class ComposerStaticInit7e691db14332db79e94ffb5244979d5e class ComposerStaticInit0a0744246f082255078926698437a7a5
{ {
public static $prefixLengthsPsr4 = array ( public static $prefixLengthsPsr4 = array (
'C' => 'C' =>
@@ -129,9 +129,9 @@ class ComposerStaticInit7e691db14332db79e94ffb5244979d5e
public static function getInitializer(ClassLoader $loader) public static function getInitializer(ClassLoader $loader)
{ {
return \Closure::bind(function () use ($loader) { return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit7e691db14332db79e94ffb5244979d5e::$prefixLengthsPsr4; $loader->prefixLengthsPsr4 = ComposerStaticInit0a0744246f082255078926698437a7a5::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit7e691db14332db79e94ffb5244979d5e::$prefixDirsPsr4; $loader->prefixDirsPsr4 = ComposerStaticInit0a0744246f082255078926698437a7a5::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit7e691db14332db79e94ffb5244979d5e::$classMap; $loader->classMap = ComposerStaticInit0a0744246f082255078926698437a7a5::$classMap;
}, null, ClassLoader::class); }, null, ClassLoader::class);
} }

View File

@@ -156,17 +156,17 @@
}, },
{ {
"name": "woocommerce/subscriptions-core", "name": "woocommerce/subscriptions-core",
"version": "7.4.3", "version": "7.5.0",
"version_normalized": "7.4.3.0", "version_normalized": "7.5.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/Automattic/woocommerce-subscriptions-core.git", "url": "https://github.com/Automattic/woocommerce-subscriptions-core.git",
"reference": "eba9c58a2fd2a65e55c533f24cd20af2084a8265" "reference": "32bcb16e1a0d87e55214aaff1fa80b45bd1b43df"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/Automattic/woocommerce-subscriptions-core/zipball/eba9c58a2fd2a65e55c533f24cd20af2084a8265", "url": "https://api.github.com/repos/Automattic/woocommerce-subscriptions-core/zipball/32bcb16e1a0d87e55214aaff1fa80b45bd1b43df",
"reference": "eba9c58a2fd2a65e55c533f24cd20af2084a8265", "reference": "32bcb16e1a0d87e55214aaff1fa80b45bd1b43df",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -179,7 +179,7 @@
"woocommerce/woocommerce-sniffs": "0.1.0", "woocommerce/woocommerce-sniffs": "0.1.0",
"yoast/phpunit-polyfills": "1.1.0" "yoast/phpunit-polyfills": "1.1.0"
}, },
"time": "2024-09-05T02:55:11+00:00", "time": "2024-09-12T23:46:14+00:00",
"type": "wordpress-plugin", "type": "wordpress-plugin",
"extra": { "extra": {
"phpcodesniffer-search-depth": 2 "phpcodesniffer-search-depth": 2
@@ -209,7 +209,7 @@
"description": "Sell products and services with recurring payments in your WooCommerce Store.", "description": "Sell products and services with recurring payments in your WooCommerce Store.",
"homepage": "https://github.com/Automattic/woocommerce-subscriptions-core", "homepage": "https://github.com/Automattic/woocommerce-subscriptions-core",
"support": { "support": {
"source": "https://github.com/Automattic/woocommerce-subscriptions-core/tree/7.4.3", "source": "https://github.com/Automattic/woocommerce-subscriptions-core/tree/7.5.0",
"issues": "https://github.com/Automattic/woocommerce-subscriptions-core/issues" "issues": "https://github.com/Automattic/woocommerce-subscriptions-core/issues"
}, },
"install-path": "../woocommerce/subscriptions-core" "install-path": "../woocommerce/subscriptions-core"

View File

@@ -1,9 +1,9 @@
<?php return array( <?php return array(
'root' => array( 'root' => array(
'name' => 'woocommerce/woocommerce-subscriptions', 'name' => 'woocommerce/woocommerce-subscriptions',
'pretty_version' => 'dev-release/6.6.2', 'pretty_version' => 'dev-release/6.7.0',
'version' => 'dev-release/6.6.2', 'version' => 'dev-release/6.7.0',
'reference' => 'dfdcf5705059ca03ecc9c5b2c21910f8c932b082', 'reference' => '094d1fce371e91c7c3ac11ce7f11eda8f2002eeb',
'type' => 'wordpress-plugin', 'type' => 'wordpress-plugin',
'install_path' => __DIR__ . '/../../', 'install_path' => __DIR__ . '/../../',
'aliases' => array(), 'aliases' => array(),
@@ -32,18 +32,18 @@
), ),
), ),
'woocommerce/subscriptions-core' => array( 'woocommerce/subscriptions-core' => array(
'pretty_version' => '7.4.3', 'pretty_version' => '7.5.0',
'version' => '7.4.3.0', 'version' => '7.5.0.0',
'reference' => 'eba9c58a2fd2a65e55c533f24cd20af2084a8265', 'reference' => '32bcb16e1a0d87e55214aaff1fa80b45bd1b43df',
'type' => 'wordpress-plugin', 'type' => 'wordpress-plugin',
'install_path' => __DIR__ . '/../woocommerce/subscriptions-core', 'install_path' => __DIR__ . '/../woocommerce/subscriptions-core',
'aliases' => array(), 'aliases' => array(),
'dev_requirement' => false, 'dev_requirement' => false,
), ),
'woocommerce/woocommerce-subscriptions' => array( 'woocommerce/woocommerce-subscriptions' => array(
'pretty_version' => 'dev-release/6.6.2', 'pretty_version' => 'dev-release/6.7.0',
'version' => 'dev-release/6.6.2', 'version' => 'dev-release/6.7.0',
'reference' => 'dfdcf5705059ca03ecc9c5b2c21910f8c932b082', 'reference' => '094d1fce371e91c7c3ac11ce7f11eda8f2002eeb',
'type' => 'wordpress-plugin', 'type' => 'wordpress-plugin',
'install_path' => __DIR__ . '/../../', 'install_path' => __DIR__ . '/../../',
'aliases' => array(), 'aliases' => array(),

View File

@@ -1,5 +1,14 @@
*** WooCommerce Subscriptions Core Changelog *** *** WooCommerce Subscriptions Core Changelog ***
= 7.5.0 - 2024-09-12 =
* Dev - Removing the unused method `maybe_remove_formatted_order_total_filter` hooked to `woocommerce_get_formatted_order_total` which was deprecated.
* Fix - Resolved two issues preventing the correct display of the "Subscription items can no longer be edited." message on the Edit Subscription page.
* Fix - Checks for the existence of `wc_get_page_screen_id` before calling it on `wcs_get_page_screen_id`, and for the admin context before calling `list_table_primary_column` to prevent fatal errors.
* Fix - Blocks the reactivation of a subscription when the end date is in the past.
* Fix - Ensure a subscription's modified date is updated when its related order cache is updated on non-HPOS sites.
* Fix - Ensure trial period form data is set before use to prevent fatal errors when the data is missing.
* Fix - Resolved an error with coupon discount calculations for manual or early renewal orders on stores with tax-inclusive pricing.
= 7.4.3 - 2024-09-05 = = 7.4.3 - 2024-09-05 =
* Fix - Prevent errors during checkout when a customer is switching their subscription product and does not require payment. * Fix - Prevent errors during checkout when a customer is switching their subscription product and does not require payment.

View File

@@ -132,9 +132,6 @@ class WC_Subscriptions_Admin {
add_action( 'woocommerce_payment_gateways_setting_column_renewals', array( __CLASS__, 'payment_gateways_renewal_support' ) ); add_action( 'woocommerce_payment_gateways_setting_column_renewals', array( __CLASS__, 'payment_gateways_renewal_support' ) );
// Do not display formatted order total on the Edit Order administration screen
add_filter( 'woocommerce_get_formatted_order_total', __CLASS__ . '::maybe_remove_formatted_order_total_filter', 0, 2 );
add_action( 'woocommerce_payment_gateways_settings', __CLASS__ . '::add_recurring_payment_gateway_information', 10, 1 ); add_action( 'woocommerce_payment_gateways_settings', __CLASS__ . '::add_recurring_payment_gateway_information', 10, 1 );
// Change text for when order items cannot be edited // Change text for when order items cannot be edited
@@ -536,9 +533,9 @@ class WC_Subscriptions_Admin {
// Make sure trial period is within allowable range // Make sure trial period is within allowable range
$subscription_ranges = wcs_get_subscription_ranges(); $subscription_ranges = wcs_get_subscription_ranges();
$max_trial_length = count( $subscription_ranges[ $_POST['_subscription_trial_period'] ] ) - 1; $max_trial_length = ! empty( $_POST['_subscription_trial_period'] ) ? count( $subscription_ranges[ $_POST['_subscription_trial_period'] ] ) - 1 : 0;
$_POST['_subscription_trial_length'] = absint( $_POST['_subscription_trial_length'] ); $_POST['_subscription_trial_length'] = ! empty( $_POST['_subscription_trial_length'] ) ? absint( $_POST['_subscription_trial_length'] ) : 0;
if ( $_POST['_subscription_trial_length'] > $max_trial_length ) { if ( $_POST['_subscription_trial_length'] > $max_trial_length ) {
$_POST['_subscription_trial_length'] = $max_trial_length; $_POST['_subscription_trial_length'] = $max_trial_length;
@@ -754,9 +751,9 @@ class WC_Subscriptions_Admin {
// Make sure trial period is within allowable range // Make sure trial period is within allowable range
$subscription_ranges = wcs_get_subscription_ranges(); $subscription_ranges = wcs_get_subscription_ranges();
$max_trial_length = count( $subscription_ranges[ $_POST['variable_subscription_trial_period'][ $index ] ] ) - 1; $max_trial_length = ! empty( $_POST['variable_subscription_trial_period'][ $index ] ) ? count( $subscription_ranges[ $_POST['variable_subscription_trial_period'][ $index ] ] ) - 1 : 0;
$_POST['variable_subscription_trial_length'][ $index ] = absint( $_POST['variable_subscription_trial_length'][ $index ] ); $_POST['variable_subscription_trial_length'][ $index ] = ! empty( $_POST['variable_subscription_trial_length'][ $index ] ) ? absint( $_POST['variable_subscription_trial_length'][ $index ] ) : 0;
if ( $_POST['variable_subscription_trial_length'][ $index ] > $max_trial_length ) { if ( $_POST['variable_subscription_trial_length'][ $index ] > $max_trial_length ) {
$_POST['variable_subscription_trial_length'][ $index ] = $max_trial_length; $_POST['variable_subscription_trial_length'][ $index ] = $max_trial_length;
@@ -1829,18 +1826,10 @@ class WC_Subscriptions_Admin {
* Do not display formatted order total on the Edit Order administration screen * Do not display formatted order total on the Edit Order administration screen
* *
* @since 1.0.0 - Migrated from WooCommerce Subscriptions v1.5.17 * @since 1.0.0 - Migrated from WooCommerce Subscriptions v1.5.17
* @deprecated 7.5.0
*/ */
public static function maybe_remove_formatted_order_total_filter( $formatted_total, $order ) { public static function maybe_remove_formatted_order_total_filter( $formatted_total, $order ) {
wcs_deprecated_function( __METHOD__, '7.5.0' );
// Check if we're on the Edit Order screen - get_current_screen() only exists on admin pages so order of operations matters here
if ( is_admin() && function_exists( 'get_current_screen' ) ) {
$screen = get_current_screen();
if ( is_object( $screen ) && 'shop_order' == $screen->id ) {
remove_filter( 'woocommerce_get_formatted_order_total', 'WC_Subscriptions_Order::get_formatted_order_total', 10 );
}
}
return $formatted_total; return $formatted_total;
} }
@@ -1852,14 +1841,10 @@ class WC_Subscriptions_Admin {
*/ */
public static function maybe_attach_gettext_callback() { public static function maybe_attach_gettext_callback() {
if ( is_admin() && function_exists( 'get_current_screen' ) ) { if ( self::is_edit_subscription_page() ) {
$screen = get_current_screen();
if ( is_object( $screen ) && 'shop_subscription' === $screen->id ) {
add_filter( 'gettext', array( __CLASS__, 'change_order_item_editable_text' ), 10, 3 ); add_filter( 'gettext', array( __CLASS__, 'change_order_item_editable_text' ), 10, 3 );
} }
} }
}
/** /**
* Only unattach the gettext callback when it was attached * Only unattach the gettext callback when it was attached
@@ -1868,15 +1853,10 @@ class WC_Subscriptions_Admin {
*/ */
public static function maybe_unattach_gettext_callback() { public static function maybe_unattach_gettext_callback() {
if ( is_admin() && function_exists( 'get_current_screen' ) ) { if ( self::is_edit_subscription_page() ) {
$screen = get_current_screen();
if ( is_object( $screen ) && 'shop_subscription' === $screen->id ) {
remove_filter( 'gettext', array( __CLASS__, 'change_order_item_editable_text' ), 10 ); remove_filter( 'gettext', array( __CLASS__, 'change_order_item_editable_text' ), 10 );
} }
} }
}
/** /**
* When subscription items not editable (such as due to the payment gateway not supporting modifications), * When subscription items not editable (such as due to the payment gateway not supporting modifications),
@@ -1892,6 +1872,7 @@ class WC_Subscriptions_Admin {
break; break;
case 'To edit this order change the status back to "Pending"': case 'To edit this order change the status back to "Pending"':
case 'To edit this order change the status back to "Pending payment"':
$translated_text = __( 'This subscription is no longer editable because the payment gateway does not allow modification of recurring amounts.', 'woocommerce-subscriptions' ); $translated_text = __( 'This subscription is no longer editable because the payment gateway does not allow modification of recurring amounts.', 'woocommerce-subscriptions' );
break; break;
} }
@@ -1926,7 +1907,7 @@ class WC_Subscriptions_Admin {
array( array(
// translators: placeholders are opening and closing link tags // translators: placeholders are opening and closing link tags
'desc' => sprintf( __( 'Payment gateways which don\'t support automatic recurring payments can be used to process %1$smanual subscription renewal payments%2$s.', 'woocommerce-subscriptions' ), '<a href="http://docs.woocommerce.com/document/subscriptions/renewal-process/">', '</a>' ), 'desc' => sprintf( __( 'Payment gateways which don\'t support automatic recurring payments can be used to process %1$smanual subscription renewal payments%2$s.', 'woocommerce-subscriptions' ), '<a href="https://woocommerce.com/document/subscriptions/renewal-process/">', '</a>' ),
'id' => self::$option_prefix . '_payment_gateways_additional', 'id' => self::$option_prefix . '_payment_gateways_additional',
'type' => 'informational', 'type' => 'informational',
), ),
@@ -2250,4 +2231,24 @@ class WC_Subscriptions_Admin {
return $delete_variations; return $delete_variations;
} }
/**
* Check if the current page is the Edit Subscription page
*
* @return bool True if the current page is the Edit Subscription page
*
* @since 7.5.0
*/
private static function is_edit_subscription_page() {
if ( ! is_admin() || ! function_exists( 'get_current_screen' ) ) {
return false;
}
$screen = get_current_screen();
if ( ! is_object( $screen ) ) {
return false;
}
return wcs_get_page_screen_id( 'shop_subscription' ) === $screen->id;
}
} }

View File

@@ -1186,7 +1186,7 @@ class WCS_Admin_Post_Types {
*/ */
public function list_table_primary_column( $default, $screen_id ) { public function list_table_primary_column( $default, $screen_id ) {
if ( in_array( $screen_id, [ wcs_get_page_screen_id( 'shop_subscription' ), 'edit-shop_subscription' ], true ) ) { if ( is_admin() && in_array( $screen_id, [ wcs_get_page_screen_id( 'shop_subscription' ), 'edit-shop_subscription' ], true ) ) {
$default = 'order_title'; $default = 'order_title';
} }

View File

@@ -158,7 +158,7 @@ class WCS_Admin_System_Status {
$debug_data['wcs_theme_overrides'] += array( $debug_data['wcs_theme_overrides'] += array(
'mark_icon' => 'warning', 'mark_icon' => 'warning',
// translators: placeholders are opening/closing tags linking to documentation on outdated templates. // translators: placeholders are opening/closing tags linking to documentation on outdated templates.
'note' => sprintf( __( '%1$sLearn how to update%2$s', 'woocommerce-subscriptions' ), '<a href="https://docs.woocommerce.com/document/fix-outdated-templates-woocommerce/" target="_blank">', '</a>' ), 'note' => sprintf( __( '%1$sLearn how to update%2$s', 'woocommerce-subscriptions' ), '<a href="https://developer.woocommerce.com/docs/how-to-fix-outdated-woocommerce-templates/" target="_blank">', '</a>' ),
); );
} }
} }

View File

@@ -18,10 +18,15 @@ if ( ! defined( 'ABSPATH' ) ) {
echo sprintf( esc_html_x( '#%s', 'hash before order number', 'woocommerce-subscriptions' ), esc_html( $order_id ) ); echo sprintf( esc_html_x( '#%s', 'hash before order number', 'woocommerce-subscriptions' ), esc_html( $order_id ) );
?> ?>
<div class="wcs-unknown-order-info-wrapper"> <div class="wcs-unknown-order-info-wrapper">
<a href="https://docs.woocommerce.com/document/subscriptions/orders/#section-8"> <a href="https://woocommerce.com/document/subscriptions/orders/#why-are-some-orders-in-the-related-orders-table-not-linking-to-the-order">
<?php <?php // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
// Translators: The %1 placeholder is the translated order relationship ("Parent Order"), %2 placeholder is a <br> HTML tag. echo wcs_help_tip(
echo wcs_help_tip( sprintf( __( 'This %1$s couldn\'t be loaded from the database. %1$s Click to learn more.', 'woocommerce-subscriptions' ), $relationship, '</br>' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped sprintf( // Translators: The %1 placeholder is the translated order relationship ("Parent Order"), %2 placeholder is a <br> HTML tag.
__( 'This %1$s couldn\'t be loaded from the database. %1$s Click to learn more.', 'woocommerce-subscriptions' ),
esc_html( $relationship ),
'</br>'
)
);
?> ?>
</a> </a>
</div> </div>

View File

@@ -340,7 +340,13 @@ class WC_Subscription extends WC_Order {
case 'completed': // core WC order status mapped internally to avoid exceptions case 'completed': // core WC order status mapped internally to avoid exceptions
case 'active': case 'active':
if ( $this->payment_method_supports( 'subscription_reactivation' ) && $this->has_status( 'on-hold' ) ) { if ( $this->payment_method_supports( 'subscription_reactivation' ) && $this->has_status( 'on-hold' ) ) {
// If the subscription's end date is in the past, it cannot be reactivated.
$end_time = $this->get_time( 'end' );
if ( 0 !== $end_time && $end_time < gmdate( 'U' ) ) {
$can_be_updated = false;
} else {
$can_be_updated = true; $can_be_updated = true;
}
} elseif ( $this->has_status( 'pending' ) ) { } elseif ( $this->has_status( 'pending' ) ) {
$can_be_updated = true; $can_be_updated = true;
} elseif ( $this->has_status( 'pending-cancel' ) && $this->get_time( 'end' ) > gmdate( 'U' ) && ( $this->is_manual() || ( false === $this->payment_method_supports( 'gateway_scheduled_payments' ) && $this->payment_method_supports( 'subscription_date_changes' ) && $this->payment_method_supports( 'subscription_reactivation' ) ) ) ) { } elseif ( $this->has_status( 'pending-cancel' ) && $this->get_time( 'end' ) > gmdate( 'U' ) && ( $this->is_manual() || ( false === $this->payment_method_supports( 'gateway_scheduled_payments' ) && $this->payment_method_supports( 'subscription_date_changes' ) && $this->payment_method_supports( 'subscription_reactivation' ) ) ) ) {
@@ -364,7 +370,7 @@ class WC_Subscription extends WC_Order {
$can_be_updated = false; $can_be_updated = false;
} }
break; break;
case 'pending-cancel' : case 'pending-cancel':
// Only active subscriptions can be given the "pending cancellation" status, because it is used to account for a prepaid term // Only active subscriptions can be given the "pending cancellation" status, because it is used to account for a prepaid term
if ( $this->payment_method_supports( 'subscription_cancellation' ) ) { if ( $this->payment_method_supports( 'subscription_cancellation' ) ) {
if ( $this->has_status( 'active' ) ) { if ( $this->has_status( 'active' ) ) {

View File

@@ -16,7 +16,7 @@ class WC_Subscriptions_Core_Plugin {
* The version of subscriptions-core library. * The version of subscriptions-core library.
* @var string * @var string
*/ */
protected $library_version = '7.4.3'; // WRCS: DEFINED_VERSION. protected $library_version = '7.5.0'; // WRCS: DEFINED_VERSION.
/** /**
* The subscription scheduler instance. * The subscription scheduler instance.
@@ -569,8 +569,8 @@ class WC_Subscriptions_Core_Plugin {
} }
$update_notice = '<div class="wc_plugin_upgrade_notice">'; $update_notice = '<div class="wc_plugin_upgrade_notice">';
// translators: placeholders are opening and closing tags. Leads to docs on version 2 // translators: placeholders are opening and closing tags. Leads to docs on upgrading WooCommerce Subscriptions
$update_notice .= sprintf( __( 'Warning! Version 2.0 is a major update to the WooCommerce Subscriptions extension. Before updating, please create a backup, update all WooCommerce extensions and test all plugins, custom code and payment gateways with version 2.0 on a staging site. %1$sLearn more about the changes in version 2.0 &raquo;%2$s', 'woocommerce-subscriptions' ), '<a href="http://docs.woocommerce.com/document/subscriptions/version-2/">', '</a>' ); $update_notice .= sprintf( __( 'Warning! Version 2.0 is a major update to the WooCommerce Subscriptions extension. Before updating, please create a backup, update all WooCommerce extensions and test all plugins, custom code and payment gateways with version 2.0 on a staging site. %1$sLearn more about updating older versions of WooCommerce Subscriptions &raquo;%2$s', 'woocommerce-subscriptions' ), '<a href="https://woocommerce.com/document/upgrade-instructions/">', '</a>' );
$update_notice .= '</div> '; $update_notice .= '</div> ';
echo wp_kses_post( $update_notice ); echo wp_kses_post( $update_notice );

View File

@@ -200,7 +200,7 @@ class WC_Subscriptions_Synchroniser {
'name' => __( 'Synchronisation', 'woocommerce-subscriptions' ), 'name' => __( 'Synchronisation', 'woocommerce-subscriptions' ),
'type' => 'title', 'type' => 'title',
// translators: placeholders are opening and closing link tags // translators: placeholders are opening and closing link tags
'desc' => sprintf( _x( 'Align subscription renewal to a specific day of the week, month or year. For example, the first day of the month. %1$sLearn more%2$s.', 'used in the general subscription options page', 'woocommerce-subscriptions' ), '<a href="' . esc_url( 'http://docs.woocommerce.com/document/subscriptions/renewal-synchronisation/' ) . '">', '</a>' ), 'desc' => sprintf( _x( 'Align subscription renewal to a specific day of the week, month or year. For example, the first day of the month. %1$sLearn more%2$s.', 'used in the general subscription options page', 'woocommerce-subscriptions' ), '<a href="' . esc_url( 'https://woocommerce.com/document/subscriptions/renewal-synchronisation/' ) . '">', '</a>' ),
'id' => self::$setting_id . '_title', 'id' => self::$setting_id . '_title',
), ),

View File

@@ -1371,7 +1371,8 @@ class WCS_Cart_Renewal {
* @since 1.0.0 - Migrated from WooCommerce Subscriptions v2.4.3 * @since 1.0.0 - Migrated from WooCommerce Subscriptions v2.4.3
*/ */
public function setup_discounts( $order ) { public function setup_discounts( $order ) {
$order_discount = $order->get_total_discount( ! $order->get_prices_include_tax() ); $prices_include_tax = $order->get_prices_include_tax();
$order_discount = $order->get_total_discount( ! $prices_include_tax );
$coupon_items = $order->get_items( 'coupon' ); $coupon_items = $order->get_items( 'coupon' );
if ( empty( $order_discount ) && empty( $coupon_items ) ) { if ( empty( $order_discount ) && empty( $coupon_items ) ) {
@@ -1381,6 +1382,10 @@ class WCS_Cart_Renewal {
$total_coupon_discount = floatval( array_sum( wc_list_pluck( $coupon_items, 'get_discount' ) ) ); $total_coupon_discount = floatval( array_sum( wc_list_pluck( $coupon_items, 'get_discount' ) ) );
$coupons = array(); $coupons = array();
if ( $prices_include_tax ) {
$total_coupon_discount += floatval( array_sum( wc_list_pluck( $coupon_items, 'get_discount_tax' ) ) );
}
// If the order total discount is different from the discount applied from coupons we have a manually applied discount. // If the order total discount is different from the discount applied from coupons we have a manually applied discount.
$order_has_manual_discount = $order_discount !== $total_coupon_discount; $order_has_manual_discount = $order_discount !== $total_coupon_discount;

View File

@@ -48,7 +48,7 @@ class WCS_Dependent_Hook_Manager {
foreach ( self::$dependent_callbacks['woocommerce'] as $wc_version => $operators ) { foreach ( self::$dependent_callbacks['woocommerce'] as $wc_version => $operators ) {
foreach ( $operators as $operator => $callbacks ) { foreach ( $operators as $operator => $callbacks ) {
if ( ! version_compare( WC_VERSION, $wc_version, $operator ) ) { if ( ! defined( 'WC_VERSION' ) || ! version_compare( WC_VERSION, $wc_version, $operator ) ) {
continue; continue;
} }

View File

@@ -230,7 +230,7 @@ class WCS_Failed_Scheduled_Action_Manager {
), ),
array( array(
'name' => __( 'Learn more', 'woocommerce-subscriptions' ), 'name' => __( 'Learn more', 'woocommerce-subscriptions' ),
'url' => 'https://docs.woocommerce.com/document/subscriptions/scheduled-action-errors/', 'url' => 'https://woocommerce.com/document/subscriptions/scheduled-action-errors/',
'class' => 'button button-primary', 'class' => 'button button-primary',
), ),
) ); ) );

View File

@@ -290,6 +290,11 @@ class WCS_Related_Order_Store_Cached_CPT extends WCS_Related_Order_Store_CPT imp
'value' => $related_order_ids, 'value' => $related_order_ids,
); );
// Update the subscription's modified date if the related order cache has changed. Only necessary on non-HPOS environments.
if ( ! wcs_is_custom_order_tables_usage_enabled() ) {
$this->update_modified_date_for_related_order_cache( $subscription, $related_order_ids, $current_metadata );
}
// Check if HPOS and data syncing is enabled then manually backfill the related orders cache values to WP Posts table. // Check if HPOS and data syncing is enabled then manually backfill the related orders cache values to WP Posts table.
$this->maybe_backfill_related_order_cache( $subscription, $relation_type, $new_metadata ); $this->maybe_backfill_related_order_cache( $subscription, $relation_type, $new_metadata );
@@ -654,4 +659,28 @@ class WCS_Related_Order_Store_Cached_CPT extends WCS_Related_Order_Store_CPT imp
return false; return false;
} }
/**
* Updates the subscription's modified date if the related order cache has changed.
*
* @param WC_Subscription $subscription The subscription to update the modified date for.
* @param array $related_order_ids The related order IDs to compare with the current related order IDs.
* @param object $current_metadata The current related order cache metadata.
*/
protected function update_modified_date_for_related_order_cache( $subscription, $related_order_ids, $current_metadata ) {
$subscription_modified = $subscription->get_date_modified( 'edit' );
// If the subscription's modified date is already up-to-date, don't update it again.
if ( $subscription_modified && (int) $subscription_modified->getTimestamp() === time() ) {
return;
}
$current_related_order_ids = $current_metadata ? maybe_unserialize( $current_metadata->meta_value ) : [];
// If the new related order IDs are different from the current ones, update the subscription's modified date.
if ( $current_related_order_ids !== $related_order_ids ) {
$subscription->set_date_modified( time() );
$subscription->save();
}
}
} }

View File

@@ -175,7 +175,7 @@ class WC_Subscriptions_Core_Payment_Gateways {
if ( WC_Subscriptions_Cart::cart_contains_subscription() && ! wcs_is_manual_renewal_enabled() ) { if ( WC_Subscriptions_Cart::cart_contains_subscription() && ! wcs_is_manual_renewal_enabled() ) {
if ( current_user_can( 'manage_woocommerce' ) ) { if ( current_user_can( 'manage_woocommerce' ) ) {
// translators: 1-2: opening/closing tags - link to documentation. // translators: 1-2: opening/closing tags - link to documentation.
$no_gateways_message = sprintf( __( 'Sorry, it seems there are no available payment methods which support subscriptions. Please see %1$sEnabling Payment Gateways for Subscriptions%2$s if you require assistance.', 'woocommerce-subscriptions' ), '<a href="https://docs.woocommerce.com/document/subscriptions/enabling-payment-gateways-for-subscriptions/">', '</a>' ); $no_gateways_message = sprintf( __( 'Sorry, it seems there are no available payment methods which support subscriptions. Please see %1$sEnabling Payment Gateways for Subscriptions%2$s if you require assistance.', 'woocommerce-subscriptions' ), '<a href="https://woocommerce.com/document/subscriptions/payment-gateways/enabling-payment-gateways-for-subscriptions/">', '</a>' );
} else { } else {
$no_gateways_message = __( 'Sorry, it seems there are no available payment methods which support subscriptions. Please contact us if you require assistance or wish to make alternate arrangements.', 'woocommerce-subscriptions' ); $no_gateways_message = __( 'Sorry, it seems there are no available payment methods which support subscriptions. Please contact us if you require assistance or wish to make alternate arrangements.', 'woocommerce-subscriptions' );
} }

View File

@@ -112,7 +112,7 @@ class WCS_PayPal_Admin {
'type' => 'warning', 'type' => 'warning',
// translators: placeholders are opening and closing link tags. 1$-2$: to docs on woocommerce, 3$-4$ to gateway settings on the site // translators: placeholders are opening and closing link tags. 1$-2$: to docs on woocommerce, 3$-4$ to gateway settings on the site
'text' => sprintf( esc_html__( 'PayPal is inactive for subscription transactions. Please %1$sset up the PayPal IPN%2$s and %3$senter your API credentials%4$s to enable PayPal for Subscriptions.', 'woocommerce-subscriptions' ), 'text' => sprintf( esc_html__( 'PayPal is inactive for subscription transactions. Please %1$sset up the PayPal IPN%2$s and %3$senter your API credentials%4$s to enable PayPal for Subscriptions.', 'woocommerce-subscriptions' ),
'<a href="https://docs.woocommerce.com/document/subscriptions/store-manager-guide/#ipn-setup" target="_blank">', '<a href="https://woocommerce.com/document/subscriptions/payment-gateways/paypal-standard-subscriptions-guide/#ipn-setup" target="_blank">',
'</a>', '</a>',
'<a href="' . esc_url( $payment_gateway_tab_url ) . '">', '<a href="' . esc_url( $payment_gateway_tab_url ) . '">',
'</a>' '</a>'
@@ -136,7 +136,7 @@ class WCS_PayPal_Admin {
'text' => sprintf( $notice_text, 'text' => sprintf( $notice_text,
'<strong>', '<strong>',
'</strong>', '</strong>',
'<a href="https://docs.woocommerce.com/document/subscriptions/faq/paypal-reference-transactions/" target="_blank">', '<a href="https://woocommerce.com/document/subscriptions/payment-gateways/paypal-standard-subscriptions-guide/paypal-standard-reference-transactions/" target="_blank">',
'</a>', '</a>',
'</p><p><a class="button" href="' . esc_url( wp_nonce_url( add_query_arg( 'wcs_paypal', 'check_reference_transaction_support' ), __CLASS__ ) ) . '">', '</p><p><a class="button" href="' . esc_url( wp_nonce_url( add_query_arg( 'wcs_paypal', 'check_reference_transaction_support' ), __CLASS__ ) ) . '">',
'</a>', '</a>',
@@ -163,7 +163,7 @@ class WCS_PayPal_Admin {
'text' => sprintf( esc_html__( 'There is a problem with PayPal. Your API credentials may be incorrect. Please update your %1$sAPI credentials%2$s. %3$sLearn more%4$s.', 'woocommerce-subscriptions' ), 'text' => sprintf( esc_html__( 'There is a problem with PayPal. Your API credentials may be incorrect. Please update your %1$sAPI credentials%2$s. %3$sLearn more%4$s.', 'woocommerce-subscriptions' ),
'<a href="' . esc_url( $payment_gateway_tab_url ) . '">', '<a href="' . esc_url( $payment_gateway_tab_url ) . '">',
'</a>', '</a>',
'<a href="https://docs.woocommerce.com/document/subscriptions-canceled-suspended-paypal/#section-2" target="_blank">', '<a href="https://woocommerce.com/document/subscriptions-canceled-suspended-paypal/#paypal-api-credentials" target="_blank">',
'</a>' '</a>'
), ),
); );
@@ -174,7 +174,7 @@ class WCS_PayPal_Admin {
'type' => 'error', 'type' => 'error',
// translators: placeholders are opening and closing link tags. 1$-2$: docs on woocommerce, 3$-4$: dismiss link // translators: placeholders are opening and closing link tags. 1$-2$: docs on woocommerce, 3$-4$: dismiss link
'text' => sprintf( esc_html__( 'There is a problem with PayPal. Your PayPal account is issuing out-of-date subscription IDs. %1$sLearn more%2$s. %3$sDismiss%4$s.', 'woocommerce-subscriptions' ), 'text' => sprintf( esc_html__( 'There is a problem with PayPal. Your PayPal account is issuing out-of-date subscription IDs. %1$sLearn more%2$s. %3$sDismiss%4$s.', 'woocommerce-subscriptions' ),
'<a href="https://docs.woocommerce.com/document/subscriptions-canceled-suspended-paypal/#section-3" target="_blank">', '<a href="https://woocommerce.com/document/subscriptions-canceled-suspended-paypal/#old-paypal-accounts" target="_blank">',
'</a>', '</a>',
'<a href="' . esc_url( add_query_arg( 'wcs_disable_paypal_invalid_profile_id_notice', 'true' ) ) . '">', '<a href="' . esc_url( add_query_arg( 'wcs_disable_paypal_invalid_profile_id_notice', 'true' ) ) . '">',
'</a>' '</a>'
@@ -322,7 +322,8 @@ class WCS_PayPal_Admin {
$setting['description'] = sprintf( $setting['description'] = sprintf(
/* translators: Placeholders are the opening and closing link tags.*/ /* translators: Placeholders are the opening and closing link tags.*/
__( "Before enabling PayPal Standard for Subscriptions, please note, when using PayPal Standard, customers are locked into using PayPal Standard for the life of their subscription, and PayPal Standard has a number of limitations. Please read the guide on %1\$swhy we don't recommend PayPal Standard%2\$s for Subscriptions before choosing to enable this option.", 'woocommerce-subscriptions' ), __( "Before enabling PayPal Standard for Subscriptions, please note, when using PayPal Standard, customers are locked into using PayPal Standard for the life of their subscription, and PayPal Standard has a number of limitations. Please read the guide on %1\$swhy we don't recommend PayPal Standard%2\$s for Subscriptions before choosing to enable this option.", 'woocommerce-subscriptions' ),
'<a href="https://docs.woocommerce.com/document/subscriptions/payment-gateways/#paypal-limitations">', '</a>' '<a href="https://woocommerce.com/document/limitations-of-paypal-standard/">',
'</a>'
); );
} }

View File

@@ -4,7 +4,7 @@
* *
* Handles the process of a customer changing the payment method on a subscription via their My Account page from or to PayPal Standard. * Handles the process of a customer changing the payment method on a subscription via their My Account page from or to PayPal Standard.
* *
* @link http://docs.woocommerce.com/document/subscriptions/customers-view/#section-5 * @link https://woocommerce.com/document/subscriptions/customers-view/
* *
* @package WooCommerce Subscriptions * @package WooCommerce Subscriptions
* @subpackage Gateways/PayPal * @subpackage Gateways/PayPal

View File

@@ -15,24 +15,14 @@ if ( ! defined( 'ABSPATH' ) ) {
<?php <?php
// translators: $1 and $2 are opening link tags, $3 is a closing link tag. // translators: $1 and $2 are opening link tags, $3 is a closing link tag.
printf( printf(
esc_html__( 'A fatal error has occurred while processing a recent subscription payment with PayPal. Please %1$sopen a new ticket at WooCommerce Support%3$s immediately to get this resolved. %2$sLearn more &raquo;%3$s', 'woocommerce-subscriptions' ), esc_html__( 'A fatal error has occurred while processing a recent subscription payment with PayPal. Please %1$sopen a new ticket at WooCommerce Support%3$s immediately to get this resolved. See our documentation on %2$sdebugging IPN issues in PayPal Standard to Learn more &raquo;%3$s', 'woocommerce-subscriptions' ),
'<a href="https://woocommerce.com/my-account/marketplace-ticket-form/" target="_blank">', '<a href="https://woocommerce.com/my-account/contact-support/?form=ticket" target="_blank">',
'<a href="https://docs.woocommerce.com/document/debug-subscriptions-paypal-ipn-issues/#section-1">', '<a href="https://woocommerce.com/document/debug-subscriptions-paypal-ipn-issues/">',
'</a>'
);
?>
</p>
<p>
<?php
// translators: $1 and $2 are opening link tags, $3 is a closing link tag.
printf(
esc_html__( 'To resolve this as quickly as possible, please create a %1$stemporary administrator account%3$s with the user email woologin@woocommerce.com and share the credentials with us via %2$sQuickForget.com%3$s.', 'woocommerce-subscriptions' ),
'<a href="https://docs.woocommerce.com/document/create-new-admin-account-wordpress/" target="_blank">',
'<a href="https://quickforget.com/" target="_blank">',
'</a>' '</a>'
); );
?> ?>
</p> </p>
<?php esc_html_e( 'Last recorded error:', 'woocommerce-subscriptions' ); ?> <?php esc_html_e( 'Last recorded error:', 'woocommerce-subscriptions' ); ?>
<code> <code>
<?php <?php

View File

@@ -967,7 +967,7 @@ class WC_Subscriptions_Upgrader {
'<code>' . WC_Subscriptions_Core_Plugin::instance()->get_library_version() . '</code>', '<code>' . WC_Subscriptions_Core_Plugin::instance()->get_library_version() . '</code>',
'<a href="https://woocommerce.com/my-account/marketplace-ticket-form/" target="_blank">', '<a href="https://woocommerce.com/my-account/marketplace-ticket-form/" target="_blank">',
'</a>', '</a>',
'<a href="https://docs.woocommerce.com/document/subscriptions/upgrade-instructions/#section-12" target="_blank">', '<a href="https://woocommerce.com/document/subscriptions/upgrade-instructions/#section-12" target="_blank">',
'</a>' '</a>'
) )
); );

View File

@@ -32,7 +32,7 @@ if ( ! defined( 'ABSPATH' ) ) {
<p class="woocommerce-actions"> <p class="woocommerce-actions">
<a href="<?php echo esc_url( $settings_page ); ?>" class="button button-primary"><?php esc_html_e( 'Settings', 'woocommerce-subscriptions' ); ?></a> <a href="<?php echo esc_url( $settings_page ); ?>" class="button button-primary"><?php esc_html_e( 'Settings', 'woocommerce-subscriptions' ); ?></a>
<a class="docs button button-primary" href="<?php echo esc_url( apply_filters( 'woocommerce_docs_url', 'http://docs.woocommerce.com/document/subscriptions/', 'woocommerce-subscriptions' ) ); ?>"><?php echo esc_html_x( 'Documentation', 'short for documents', 'woocommerce-subscriptions' ); ?></a> <a class="docs button button-primary" href="<?php echo esc_url( apply_filters( 'woocommerce_docs_url', 'https://woocommerce.com/document/subscriptions/', 'woocommerce-subscriptions' ) ); ?>"><?php echo esc_html_x( 'Documentation', 'short for documents', 'woocommerce-subscriptions' ); ?></a>
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://docs.woocommerce.com/document/subscriptions/version-2-1/" data-text="I just updated to WooCommerce Subscriptions v2.1, woot!" data-via="WooCommerce" data-size="large" data-hashtags="WooCommerce">Tweet</a> <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://docs.woocommerce.com/document/subscriptions/version-2-1/" data-text="I just updated to WooCommerce Subscriptions v2.1, woot!" data-via="WooCommerce" data-size="large" data-hashtags="WooCommerce">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</p> </p>
@@ -52,7 +52,7 @@ if ( ! defined( 'ABSPATH' ) ) {
<p><?php esc_html_e( 'Prior to Subscriptions 2.1, they were not easy to answer. Subscriptions 2.1 introduces new reports to answer these questions, and many more.', 'woocommerce-subscriptions' ); ?></p> <p><?php esc_html_e( 'Prior to Subscriptions 2.1, they were not easy to answer. Subscriptions 2.1 introduces new reports to answer these questions, and many more.', 'woocommerce-subscriptions' ); ?></p>
<p class="woocommerce-actions"> <p class="woocommerce-actions">
<a class="button button-primary" href="<?php echo esc_url( admin_url( 'admin.php?page=wc-reports&tab=subscriptions' ) ); ?>" ><?php esc_html_e( 'View Reports', 'woocommerce-subscriptions' ); ?></a> <a class="button button-primary" href="<?php echo esc_url( admin_url( 'admin.php?page=wc-reports&tab=subscriptions' ) ); ?>" ><?php esc_html_e( 'View Reports', 'woocommerce-subscriptions' ); ?></a>
<a class="button" href="http://docs.woocommerce.com/document/subscriptions/reports/"><?php echo esc_html_x( 'Learn More', 'learn more link to subscription reports documentation', 'woocommerce-subscriptions' ); ?></a> <a class="button" href="https://woocommerce.com/document/subscriptions/store-manager-guide/reports/"><?php echo esc_html_x( 'Learn More', 'learn more link to subscription reports documentation', 'woocommerce-subscriptions' ); ?></a>
</p> </p>
</div> </div>
</div> </div>
@@ -76,7 +76,7 @@ if ( ! defined( 'ABSPATH' ) ) {
<p><?php esc_html_e( 'The retry system is disabled by default. To enable it, visit the Subscriptions settings administration screen.', 'woocommerce-subscriptions' ); ?></p> <p><?php esc_html_e( 'The retry system is disabled by default. To enable it, visit the Subscriptions settings administration screen.', 'woocommerce-subscriptions' ); ?></p>
<p class="woocommerce-actions"> <p class="woocommerce-actions">
<a class="button button-primary" href="<?php echo esc_url( $settings_page ); ?>" ><?php esc_html_e( 'Enable Automatic Retry', 'woocommerce-subscriptions' ); ?></a> <a class="button button-primary" href="<?php echo esc_url( $settings_page ); ?>" ><?php esc_html_e( 'Enable Automatic Retry', 'woocommerce-subscriptions' ); ?></a>
<a class="button" href="http://docs.woocommerce.com/document/subscriptions/failed-payment-retry/"><?php echo esc_html_x( 'Learn More', 'learn more link to failed payment retry documentation', 'woocommerce-subscriptions' ); ?></a> <a class="button" href="https://woocommerce.com/document/subscriptions/failed-payment-retry/"><?php echo esc_html_x( 'Learn More', 'learn more link to failed payment retry documentation', 'woocommerce-subscriptions' ); ?></a>
</p> </p>
</div> </div>
</div> </div>
@@ -97,7 +97,7 @@ if ( ! defined( 'ABSPATH' ) ) {
<p><?php printf( esc_html__( 'These emails can be enabled, disabled and customised under the %sWooCommerce > Settings > Emails%s administration screen.', 'woocommerce-subscriptions' ), '<strong>', '</strong>' ); ?></p> <p><?php printf( esc_html__( 'These emails can be enabled, disabled and customised under the %sWooCommerce > Settings > Emails%s administration screen.', 'woocommerce-subscriptions' ), '<strong>', '</strong>' ); ?></p>
<p class="woocommerce-actions"> <p class="woocommerce-actions">
<a class="button button-primary" href="<?php echo esc_url( $settings_page ); ?>" ><?php esc_html_e( 'View Email Settings', 'woocommerce-subscriptions' ); ?></a> <a class="button button-primary" href="<?php echo esc_url( $settings_page ); ?>" ><?php esc_html_e( 'View Email Settings', 'woocommerce-subscriptions' ); ?></a>
<a class="button" href="https://docs.woocommerce.com/document/subscriptions/store-manager-guide/#section-8"><?php echo esc_html_x( 'Learn More', 'learn more link to subscription emails documentation', 'woocommerce-subscriptions' ); ?></a> <a class="button" href="https://woocommerce.com/document/subscriptions/subscription-emails/"><?php echo esc_html_x( 'Learn More', 'learn more link to subscription emails documentation', 'woocommerce-subscriptions' ); ?></a>
</p> </p>
</div> </div>
</div> </div>
@@ -167,7 +167,7 @@ if ( ! defined( 'ABSPATH' ) ) {
</p> </p>
<p><?php <p><?php
// translators: placeholders are opening and closing anchor tags linking to documentation // translators: placeholders are opening and closing anchor tags linking to documentation
printf( esc_html__( '%sLearn more &raquo;%s', 'woocommerce-subscriptions' ), '<a href="http://docs.woocommerce.com/document/subscriptions/develop/failed-payment-retry/">', '</a>' ); ?> printf( esc_html__( '%sLearn more &raquo;%s', 'woocommerce-subscriptions' ), '<a href="https://woocommerce.com/document/subscriptions/develop/failed-payment-retry/">', '</a>' ); ?>
</p> </p>
</div> </div>
<div class="col"> <div class="col">
@@ -203,7 +203,7 @@ if ( ! defined( 'ABSPATH' ) ) {
</p> </p>
<p><?php <p><?php
// translators: placeholders are opening and closing <a> tags // translators: placeholders are opening and closing <a> tags
printf( esc_html__( 'Subscriptions also now uses the renewal order to setup the cart for %smanual renewals%s, making it easier to add products or discounts to a single renewal paid manually.', 'woocommerce-subscriptions' ), '<a href="https://docs.woocommerce.com/document/subscriptions/renewal-process/">', '</a>' ); ?> printf( esc_html__( 'Subscriptions also now uses the renewal order to setup the cart for %smanual renewals%s, making it easier to add products or discounts to a single renewal paid manually.', 'woocommerce-subscriptions' ), '<a href="https://woocommerce.com/document/subscriptions/renewal-process/">', '</a>' ); ?>
</p> </p>
</div> </div>
</div> </div>

View File

@@ -657,7 +657,11 @@ function wcs_set_order_address( $order, $address, $address_type = 'billing' ) {
* @return string The page screen ID. On CPT stores, the screen ID is equal to the post type. On HPOS, the screen ID is generated by WC and fetched via wc_get_page_screen_id(). * @return string The page screen ID. On CPT stores, the screen ID is equal to the post type. On HPOS, the screen ID is generated by WC and fetched via wc_get_page_screen_id().
*/ */
function wcs_get_page_screen_id( $object_type ) { function wcs_get_page_screen_id( $object_type ) {
return wcs_is_woocommerce_pre( '7.3.0' ) ? $object_type : wc_get_page_screen_id( $object_type ); if ( ! function_exists( 'wc_get_page_screen_id' ) || wcs_is_woocommerce_pre( '7.3.0' ) ) {
return $object_type;
}
return wc_get_page_screen_id( $object_type );
} }
/** /**

View File

@@ -29,7 +29,7 @@ if ( defined( 'WC_LOG_HANDLER' ) && 'WC_Log_Handler_DB' === WC_LOG_HANDLER ) {
count( $failed_scheduled_actions ), count( $failed_scheduled_actions ),
'woocommerce-subscriptions' 'woocommerce-subscriptions'
) ), ) ),
'<a href="https://docs.woocommerce.com/document/subscriptions/scheduled-action-errors/" target="_blank">', '<a href="https://woocommerce.com/document/subscriptions/scheduled-action-errors/" target="_blank">',
'</a>' '</a>'
)?> )?>
</p> </p>

View File

@@ -6,5 +6,5 @@
* Author: Automattic * Author: Automattic
* Author URI: https://woocommerce.com/ * Author URI: https://woocommerce.com/
* Requires WP: 5.6 * Requires WP: 5.6
* Version: 7.4.3 * Version: 7.5.0
*/ */

View File

@@ -5,11 +5,11 @@
* Description: Sell products and services with recurring payments in your WooCommerce Store. * Description: Sell products and services with recurring payments in your WooCommerce Store.
* Author: WooCommerce * Author: WooCommerce
* Author URI: https://woocommerce.com/ * Author URI: https://woocommerce.com/
* Version: 6.6.2 * Version: 6.7.0
* Requires Plugins: woocommerce * Requires Plugins: woocommerce
* *
* WC requires at least: 8.7.1 * WC requires at least: 8.7.1
* WC tested up to: 9.2.0 * WC tested up to: 9.3.0
* Woo: 27147:6115e6d7e297b623a169fdcf5728b224 * Woo: 27147:6115e6d7e297b623a169fdcf5728b224
* *
* Copyright 2019 WooCommerce * Copyright 2019 WooCommerce
@@ -78,7 +78,7 @@ class WC_Subscriptions {
public static $plugin_file = __FILE__; public static $plugin_file = __FILE__;
/** @var string */ /** @var string */
public static $version = '6.6.2'; // WRCS: DEFINED_VERSION. public static $version = '6.7.0'; // WRCS: DEFINED_VERSION.
/** @var string */ /** @var string */
public static $wc_minimum_supported_version = '7.7'; public static $wc_minimum_supported_version = '7.7';