Changeset 3332159
- Timestamp:
- 07/22/2025 10:36:27 AM (6 months ago)
- Location:
- subscription
- Files:
-
- 126 added
- 12 edited
-
tags/1.5.5 (added)
-
tags/1.5.5/assets (added)
-
tags/1.5.5/assets/css (added)
-
tags/1.5.5/assets/css/admin.css (added)
-
tags/1.5.5/assets/css/gateway.css (added)
-
tags/1.5.5/assets/css/installer.css (added)
-
tags/1.5.5/assets/css/status.css (added)
-
tags/1.5.5/assets/images (added)
-
tags/1.5.5/assets/images/icons (added)
-
tags/1.5.5/assets/images/icons/subscription-20-gray.png (added)
-
tags/1.5.5/assets/images/icons/subscription-20.png (added)
-
tags/1.5.5/assets/images/logo-title.svg (added)
-
tags/1.5.5/assets/images/logo.png (added)
-
tags/1.5.5/assets/images/paddle.svg (added)
-
tags/1.5.5/assets/images/paypal.png (added)
-
tags/1.5.5/assets/images/paypal.svg (added)
-
tags/1.5.5/assets/images/subscrpt-ads.png (added)
-
tags/1.5.5/assets/images/woocommerce.png (added)
-
tags/1.5.5/assets/js (added)
-
tags/1.5.5/assets/js/admin.js (added)
-
tags/1.5.5/assets/js/gateway.js (added)
-
tags/1.5.5/assets/js/installer.js (added)
-
tags/1.5.5/assets/js/integration_settings.js (added)
-
tags/1.5.5/assets/js/wp_subscription_paypal-block.js (added)
-
tags/1.5.5/build (added)
-
tags/1.5.5/build/index.asset.php (added)
-
tags/1.5.5/build/index.js (added)
-
tags/1.5.5/composer.json (added)
-
tags/1.5.5/includes (added)
-
tags/1.5.5/includes/API.php (added)
-
tags/1.5.5/includes/Admin (added)
-
tags/1.5.5/includes/Admin.php (added)
-
tags/1.5.5/includes/Admin/Integrations.php (added)
-
tags/1.5.5/includes/Admin/Links.php (added)
-
tags/1.5.5/includes/Admin/Menu.php (added)
-
tags/1.5.5/includes/Admin/Order.php (added)
-
tags/1.5.5/includes/Admin/Product.php (added)
-
tags/1.5.5/includes/Admin/Required.php (added)
-
tags/1.5.5/includes/Admin/Settings.php (added)
-
tags/1.5.5/includes/Admin/Subscriptions.php (added)
-
tags/1.5.5/includes/Admin/views (added)
-
tags/1.5.5/includes/Admin/views/integrations.php (added)
-
tags/1.5.5/includes/Admin/views/order-history.php (added)
-
tags/1.5.5/includes/Admin/views/product-form.php (added)
-
tags/1.5.5/includes/Admin/views/related-subscriptions.php (added)
-
tags/1.5.5/includes/Admin/views/required-notice.php (added)
-
tags/1.5.5/includes/Admin/views/settings.php (added)
-
tags/1.5.5/includes/Admin/views/subscription-customer.php (added)
-
tags/1.5.5/includes/Admin/views/subscription-info.php (added)
-
tags/1.5.5/includes/Admin/views/subscription-list.php (added)
-
tags/1.5.5/includes/Admin/views/subscription-save-meta.php (added)
-
tags/1.5.5/includes/Ajax.php (added)
-
tags/1.5.5/includes/Assets.php (added)
-
tags/1.5.5/includes/Frontend (added)
-
tags/1.5.5/includes/Frontend.php (added)
-
tags/1.5.5/includes/Frontend/ActionController.php (added)
-
tags/1.5.5/includes/Frontend/Cart.php (added)
-
tags/1.5.5/includes/Frontend/Checkout.php (added)
-
tags/1.5.5/includes/Frontend/Downloadable.php (added)
-
tags/1.5.5/includes/Frontend/MyAccount.php (added)
-
tags/1.5.5/includes/Frontend/Order.php (added)
-
tags/1.5.5/includes/Frontend/Product.php (added)
-
tags/1.5.5/includes/Illuminate (added)
-
tags/1.5.5/includes/Illuminate.php (added)
-
tags/1.5.5/includes/Illuminate/Action.php (added)
-
tags/1.5.5/includes/Illuminate/AutoRenewal.php (added)
-
tags/1.5.5/includes/Illuminate/Block.php (added)
-
tags/1.5.5/includes/Illuminate/Comments.php (added)
-
tags/1.5.5/includes/Illuminate/Cron.php (added)
-
tags/1.5.5/includes/Illuminate/Email.php (added)
-
tags/1.5.5/includes/Illuminate/Emails (added)
-
tags/1.5.5/includes/Illuminate/Emails/RenewReminder.php (added)
-
tags/1.5.5/includes/Illuminate/Emails/StatusChangedAdmin.php (added)
-
tags/1.5.5/includes/Illuminate/Emails/SubscriptionCancelled.php (added)
-
tags/1.5.5/includes/Illuminate/Emails/SubscriptionExpired.php (added)
-
tags/1.5.5/includes/Illuminate/Gateways (added)
-
tags/1.5.5/includes/Illuminate/Gateways/Paypal (added)
-
tags/1.5.5/includes/Illuminate/Gateways/Paypal/Paypal.php (added)
-
tags/1.5.5/includes/Illuminate/Gateways/Paypal/Paypal_Blocks_Integration.php (added)
-
tags/1.5.5/includes/Illuminate/Helper.php (added)
-
tags/1.5.5/includes/Illuminate/Order.php (added)
-
tags/1.5.5/includes/Illuminate/Post.php (added)
-
tags/1.5.5/includes/Illuminate/Stripe.php (added)
-
tags/1.5.5/includes/Illuminate/views (added)
-
tags/1.5.5/includes/Illuminate/views/subscription-table.php (added)
-
tags/1.5.5/includes/Illuminate/wc-block-integration.php (added)
-
tags/1.5.5/includes/Installer.php (added)
-
tags/1.5.5/includes/Traits (added)
-
tags/1.5.5/includes/Traits/Email.php (added)
-
tags/1.5.5/includes/Upgrade.php (added)
-
tags/1.5.5/includes/Utils (added)
-
tags/1.5.5/includes/Utils/Product.php (added)
-
tags/1.5.5/includes/Utils/ProductFactory.php (added)
-
tags/1.5.5/includes/Utils/SubscriptionProduct.php (added)
-
tags/1.5.5/includes/functions.php (added)
-
tags/1.5.5/index.php (added)
-
tags/1.5.5/readme.txt (added)
-
tags/1.5.5/subscription.php (added)
-
tags/1.5.5/templates (added)
-
tags/1.5.5/templates/emails (added)
-
tags/1.5.5/templates/emails/plains (added)
-
tags/1.5.5/templates/emails/plains/renew-reminder-plain.php (added)
-
tags/1.5.5/templates/emails/plains/status-changed-admin-plain.php (added)
-
tags/1.5.5/templates/emails/plains/subscription-cancelled-plain.php (added)
-
tags/1.5.5/templates/emails/plains/subscription-expired-plain.php (added)
-
tags/1.5.5/templates/emails/renew-reminder-html.php (added)
-
tags/1.5.5/templates/emails/status-changed-admin-html.php (added)
-
tags/1.5.5/templates/emails/subscription-cancelled-html.php (added)
-
tags/1.5.5/templates/emails/subscription-expired-html.php (added)
-
tags/1.5.5/templates/myaccount (added)
-
tags/1.5.5/templates/myaccount/single.php (added)
-
tags/1.5.5/templates/myaccount/subscriptions.php (added)
-
tags/1.5.5/vendor (added)
-
tags/1.5.5/vendor/autoload.php (added)
-
tags/1.5.5/vendor/composer (added)
-
tags/1.5.5/vendor/composer/ClassLoader.php (added)
-
tags/1.5.5/vendor/composer/InstalledVersions.php (added)
-
tags/1.5.5/vendor/composer/LICENSE (added)
-
tags/1.5.5/vendor/composer/autoload_classmap.php (added)
-
tags/1.5.5/vendor/composer/autoload_files.php (added)
-
tags/1.5.5/vendor/composer/autoload_namespaces.php (added)
-
tags/1.5.5/vendor/composer/autoload_psr4.php (added)
-
tags/1.5.5/vendor/composer/autoload_real.php (added)
-
tags/1.5.5/vendor/composer/autoload_static.php (added)
-
tags/1.5.5/vendor/composer/installed.json (added)
-
tags/1.5.5/vendor/composer/installed.php (added)
-
trunk/assets/css/admin.css (modified) (4 diffs)
-
trunk/assets/css/status.css (modified) (1 diff)
-
trunk/includes/Admin/Subscriptions.php (modified) (5 diffs)
-
trunk/includes/Admin/views/order-history.php (modified) (2 diffs)
-
trunk/includes/Admin/views/subscription-info.php (modified) (2 diffs)
-
trunk/includes/Admin/views/subscription-list.php (modified) (3 diffs)
-
trunk/includes/Frontend/Checkout.php (modified) (2 diffs)
-
trunk/includes/Frontend/MyAccount.php (modified) (3 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/subscription.php (modified) (2 diffs)
-
trunk/templates/myaccount/subscriptions.php (modified) (3 diffs)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
subscription/trunk/assets/css/admin.css
r3320126 r3332159 28 28 29 29 .subscrpt-order-label { 30 background: # e1edf7;31 color: # 2683aa;30 background: #dbeafe; 31 color: #1e40af; 32 32 display: inline-block; 33 33 padding: 5px 10px; … … 37 37 clear: both; 38 38 margin-bottom: 5px; 39 border-radius: 5px; 39 40 } 40 41 … … 366 367 } 367 368 368 /* Status Label Styles */369 .wp-subscription-list-table .subscrpt-active {370 background: #e6f4ea;371 color: #1a7f37;372 border-radius: 999px;373 padding: 4px 16px;374 font-weight: 600;375 font-size: 13px;376 display: inline-block;377 }378 .wp-subscription-list-table .subscrpt-cancelled {379 background: #fbeaea;380 color: #d93025;381 border-radius: 999px;382 padding: 4px 16px;383 font-weight: 600;384 font-size: 13px;385 display: inline-block;386 }387 .wp-subscription-list-table .subscrpt-draft {388 background: #f3f3f3;389 color: #888;390 border-radius: 999px;391 padding: 4px 16px;392 font-weight: 600;393 font-size: 13px;394 display: inline-block;395 }396 397 369 /* ===================== 398 370 Subscriptions List Page … … 467 439 text-decoration: underline; 468 440 } 469 .subscrpt-status-badge {470 display: inline-block;471 min-width: 48px;472 padding: 2px 8px;473 border-radius: 4px;474 font-size: 12px;475 font-weight: 500;476 color: #222;477 text-align: center;478 letter-spacing: 0.01em;479 background: #e9ecef;480 box-shadow: none;481 text-transform: capitalize;482 }483 .subscrpt-status-active { background: #27c775 !important; color: #ffffff !important; }484 .subscrpt-status-cancelled { background: #fee2e2 !important; color: #b91c1c !important; }485 .subscrpt-status-draft { background: #e0e7ef !important; color: #374151 !important; }486 .subscrpt-status-pending { background: #fef9c3 !important; color: #b45309 !important; }487 .subscrpt-status-expired { background: #e5e7eb !important; color: #6b7280 !important; }488 .subscrpt-status-pe_cancelled { background: #ffedd5 !important; color: #b45309 !important; }489 .subscrpt-status-trash { background: #fef2f2 !important; color: #dc2626 !important; }490 441 .subscrpt-id-title { 491 442 font-size: 11px; -
subscription/trunk/assets/css/status.css
r3280758 r3332159 1 .my_account_subscrpt .order-status { 2 min-width: 100px; 3 } 4 5 span[class*="subscrpt-"] { 6 background: #bfdbfe; 7 color: #1e40af; 8 font-weight: 600; 9 font-size: 12px; 10 text-transform: capitalize; 11 padding: 8px 10px; 12 border-radius: 5px; 13 } 14 1 15 span.subscrpt-pending { 2 background: #535050; 3 color: white; 4 text-transform: capitalize; 5 padding: 8px; 16 background: #dbeafe; 17 color: #1e40af; 6 18 } 7 19 8 20 span.subscrpt-active { 9 background: green; 10 color: white; 11 text-transform: capitalize; 12 padding: 8px; 21 background: #bbf7d0; 22 color: #166534; 13 23 } 14 24 15 25 span.subscrpt-expired { 16 background: red; 17 color: white; 18 text-transform: capitalize; 19 padding: 8px; 26 background: #fecaca; 27 color: #991b1b; 20 28 } 21 29 22 30 span.subscrpt-cancelled { 23 background: #cecece; 24 color: white; 25 text-transform: capitalize; 26 padding: 8px; 31 background: #e2e8f0; 32 color: #475569; 27 33 } 28 34 29 35 span.subscrpt-pe_cancelled { 30 background: #ecb03e; 31 color: white; 32 text-transform: capitalize; 33 padding: 8px; 36 background: #ffedd5; 37 color: #b45309; 34 38 } 39 40 span.subscrpt-draft { 41 background: #f3f3f3; 42 color: #888; 43 } -
subscription/trunk/includes/Admin/Subscriptions.php
r3320126 r3332159 130 130 // HPOS: Safe. Only retrieves WooCommerce order via CRUD, and subscription meta via post meta. 131 131 $order_id = get_post_meta( $post_id, '_subscrpt_order_id', true ); // HPOS: Only subscription meta, not order meta. 132 $order = wc_get_order( $order_id ); // HPOS: Safe, uses WooCommerce CRUD.132 $order = wc_get_order( $order_id ); // HPOS: Safe, uses WooCommerce CRUD. 133 133 if ( $order ) { 134 134 if ( 'subscrpt_start_date' === $column ) { … … 223 223 global $wpdb; 224 224 $table_name = $wpdb->prefix . 'subscrpt_order_relation'; 225 // @phpcs:ignore 226 $order_histories = $wpdb->get_results( $wpdb->prepare( 'SELECT * FROM %i WHERE subscription_id=%d', array( 227 $table_name, 228 $subscription_id, 229 ) 225 226 // @phpcs:ignore 227 $order_histories = $wpdb->get_results( 228 $wpdb->prepare( 229 'SELECT * FROM %i WHERE subscription_id=%d ORDER BY id DESC', 230 array( 231 $table_name, 232 $subscription_id, 233 ) 230 234 ) 231 235 ); … … 498 502 public function add_overview_submenu() { 499 503 // Remove and re-add submenu to ensure Overview is first 500 remove_submenu_page( 'edit.php?post_type=subscrpt_order', 'edit.php?post_type=subscrpt_order');504 remove_submenu_page( 'edit.php?post_type=subscrpt_order', 'edit.php?post_type=subscrpt_order' ); 501 505 add_submenu_page( 502 506 'edit.php?post_type=subscrpt_order', … … 517 521 1 518 522 ); 519 if ( ! class_exists( 'Sdevs_Wc_Subscription_Pro') ) {523 if ( ! class_exists( 'Sdevs_Wc_Subscription_Pro' ) ) { 520 524 add_submenu_page( 521 525 'edit.php?post_type=subscrpt_order', … … 607 611 608 612 public function render_go_pro_page() { 609 if ( class_exists( 'Sdevs_Wc_Subscription_Pro') ) {613 if ( class_exists( 'Sdevs_Wc_Subscription_Pro' ) ) { 610 614 echo '<div class="notice notice-info" style="margin:40px auto;max-width:700px;text-align:center;font-size:1.2em;">Pro is already active.</div>'; 611 615 return; -
subscription/trunk/includes/Admin/views/order-history.php
r3324782 r3332159 17 17 <thead> 18 18 <tr> 19 <th style="width: 100px;"><?php 20 esc_html_e( 'ID', 'wp_subscription' ); ?></th> 21 <th></th> 19 <th style="width: 80px;"><?php esc_html_e( 'ID', 'wp_subscription' ); ?></th> 20 <th><?php esc_html_e( 'Order Type', 'wp_subscription' ); ?></th> 22 21 <th><?php esc_html_e( 'Date', 'wp_subscription' ); ?></th> 23 22 <th><?php esc_html_e( 'Status', 'wp_subscription' ); ?></th> … … 29 28 <?php foreach ( $order_histories as $order_history ) : ?> 30 29 <?php 31 $order = wc_get_order( $order_history->order_id );32 $order_item = $order->get_item( $order_history->order_item_id );30 $order = wc_get_order( $order_history->order_id ); 31 $order_item = $order->get_item( $order_history->order_item_id ); 33 32 ?> 34 33 <tr> 35 <td><a href="<?php echo wp_kses_post( $order->get_edit_order_url() ); ?>" target="_blank"><?php echo wp_kses_post( $order_history->order_id ); ?></a></td> 36 <td><?php echo wp_kses_post( wps_subscription_order_relation_type_cast( $order_history->type ) ); ?></td> 34 <td> 35 <a href="<?php echo wp_kses_post( $order->get_edit_order_url() ); ?>" target="_blank"> 36 <?php echo wp_kses_post( $order_history->order_id ); ?> 37 </a> 38 </td> 39 <td> 40 <?php echo wp_kses_post( wps_subscription_order_relation_type_cast( $order_history->type ) ); ?> 41 </td> 37 42 <td> 38 43 <?php 39 44 if ( $order ) { 40 echo wp_kses_post( gmdate( 'F d, Y', strtotime( $order->get_date_created() ) ) );} 45 echo wp_kses_post( gmdate( 'F d, Y', strtotime( $order->get_date_created() ) ) ); 46 } 41 47 ?> 42 48 </td> 43 49 <td> 44 <?php45 if ( $order ) {46 echo esc_html( sdevs_order_status_label( $order->get_status() ) );47 }48 ?>50 <?php 51 if ( $order ) { 52 echo esc_html( sdevs_order_status_label( $order->get_status() ) ); 53 } 54 ?> 49 55 </td> 50 56 <td> 51 <?php 52 echo wc_price( 53 $order_item->get_total(), 54 array( 55 'currency' => $order->get_currency(), 56 ) 57 ); 58 ?> 59 </td> 57 <?php 58 echo wc_price( $order_item->get_total(), array( 'currency' => $order->get_currency() ) ); 59 ?> 60 </td> 60 61 </tr> 61 62 <?php endforeach; ?> -
subscription/trunk/includes/Admin/views/subscription-info.php
r3292605 r3332159 65 65 <tr> 66 66 <th style="padding:8px 10px;">Status</th> 67 <td style="padding:8px 10px;"><span class="subscrpt- status-badge subscrpt-status-<?php echo esc_attr($status_obj->name); ?>"><?php echo esc_html($status_obj->label); ?></span></td>67 <td style="padding:8px 10px;"><span class="subscrpt-<?php echo esc_attr($status_obj->name); ?>"><?php echo esc_html($status_obj->label); ?></span></td> 68 68 </tr> 69 69 <tr> … … 92 92 </div> 93 93 <style> 94 .subscrpt-status-badge {95 display: inline-block;96 min-width: 48px;97 padding: 2px 8px;98 border-radius: 4px;99 font-size: 12px;100 font-weight: 500;101 color: #222;102 text-align: center;103 letter-spacing: 0.01em;104 background: #e9ecef;105 box-shadow: none;106 text-transform: capitalize;107 }108 .subscrpt-status-active { background: #27c775 !important; color: #ffffff !important; }109 .subscrpt-status-cancelled { background: #fee2e2 !important; color: #b91c1c !important; }110 .subscrpt-status-draft { background: #e0e7ef !important; color: #374151 !important; }111 .subscrpt-status-pending { background: #fef9c3 !important; color: #b45309 !important; }112 .subscrpt-status-expired { background: #e5e7eb !important; color: #6b7280 !important; }113 .subscrpt-status-pe_cancelled { background: #ffedd5 !important; color: #b45309 !important; }114 94 @media (max-width: 900px) { 115 95 .wp-subscription-info-left, .wp-subscription-info-right { -
subscription/trunk/includes/Admin/views/subscription-list.php
r3320126 r3332159 74 74 <thead> 75 75 <tr> 76 <th style="width: 30px;"><input type="checkbox" id="cb-select-all-1"></th>76 <th style="width:20px;"><input type="checkbox" id="cb-select-all-1"></th> 77 77 <th style="width:180px;">ID</th> 78 78 <th style="min-width:320px;">Title</th> … … 80 80 <th style="width:100px;">Start Date</th> 81 81 <th style="width:100px;">Renewal Date</th> 82 <th style="width: 80px;">Status</th>82 <th style="width:100px;">Status</th> 83 83 <th style="width:80px;">Actions</th> 84 84 </tr> … … 137 137 <td><?php echo $renewal_date ? esc_html( gmdate( 'F d, Y', $renewal_date ) ) : '-'; ?></td> 138 138 <td> 139 <span class="subscrpt- status-badge subscrpt-status-<?php echo esc_attr( $status_obj->name ); ?>">140 <?php echo esc_html( $status_obj->label ); ?>139 <span class="subscrpt-<?php echo esc_attr( $status_obj->name ); ?>"> 140 <?php echo esc_html( strlen( $status_obj->label ) > 9 ? substr( $status_obj->label, 0, 9 ) . '...' : $status_obj->label ); ?> 141 141 </span> 142 142 </td> -
subscription/trunk/includes/Frontend/Checkout.php
r3280758 r3332159 60 60 61 61 if ( $product->is_type( 'simple' ) && ! subscrpt_pro_activated() ) { 62 63 62 if ( $product->is_enabled() ) { 64 63 $is_renew = isset( $order_item['renew_subscrpt'] ); … … 152 151 $item->update_meta_data( '_renew_subscrpt', $cart_item['renew_subscrpt'] ); 153 152 } 153 154 if ( ! empty( $cart_item['wp_subs_switch'] ?? null ) && ! empty( $cart_item['switch_context'] ?? null ) ) { 155 $switch_context = $cart_item['switch_context']; 156 157 // Add switch context data to order item meta. 158 $item->update_meta_data( '_wp_subs_switch', true, true ); 159 $item->update_meta_data( '_wp_subs_switch_context', $switch_context, true ); 160 } 154 161 } 155 162 } -
subscription/trunk/includes/Frontend/MyAccount.php
r3320126 r3332159 21 21 public function __construct() { 22 22 add_action( 'init', array( $this, 'flush_rewrite_rules' ) ); 23 24 // Prevent duplicate menu creation 25 23 26 add_filter( 'woocommerce_account_menu_items', array( $this, 'custom_my_account_menu_items' ) ); 27 24 28 add_filter( 'woocommerce_endpoint_view-subscription_title', array( $this, 'change_single_title' ) ); 25 add_filter( ' the_title', array( $this, 'change_lists_title' ), 10 );29 add_filter( 'document_title_parts', array( $this, 'maybe_change_document_title' ), 20 ); 26 30 add_filter( 'woocommerce_get_query_vars', array( $this, 'custom_query_vars' ) ); 27 31 add_action( 'woocommerce_account_view-subscription_endpoint', array( $this, 'view_subscrpt_content' ) ); … … 157 161 158 162 /** 159 * Change Subscription Lists Title 160 * 161 * @param string $title Title. 162 * 163 * @return string 164 */ 165 public function change_lists_title( string $title ): string { 166 global $wp_query; 167 $is_endpoint = isset( $wp_query->query_vars['subscriptions'] ); 168 if ( $is_endpoint && ! is_admin() && is_account_page() ) { 169 $title = __( 'My Subscriptions', 'wp_subscription' ); 170 } 171 return $title; 163 * Change the browser/page title for the subscriptions endpoint only. 164 */ 165 public function maybe_change_document_title( $title_parts ) { 166 if ( function_exists( 'is_account_page' ) && is_account_page() ) { 167 global $wp_query; 168 if ( isset( $wp_query->query_vars['subscriptions'] ) ) { 169 $title_parts['title'] = __( 'My Subscriptions', 'wp_subscription' ); 170 } 171 } 172 return $title_parts; 172 173 } 173 174 … … 179 180 */ 180 181 public function custom_my_account_menu_items( array $items ): array { 181 $logout = $items['customer-logout']; 182 unset( $items['customer-logout'] ); 183 $items['subscriptions'] = __( 'Subscriptions', 'wp_subscription' ); 184 $items['customer-logout'] = $logout; 182 // Check if subscriptions menu item already exists to prevent duplicates 183 if ( ! isset( $items['subscriptions'] ) ) { 184 $logout = $items['customer-logout']; 185 unset( $items['customer-logout'] ); 186 $items['subscriptions'] = __( 'Subscriptions', 'wp_subscription' ); 187 $items['customer-logout'] = $logout; 188 } 185 189 return $items; 186 190 } -
subscription/trunk/readme.txt
r3329468 r3332159 4 4 Requires at least: 6.0 5 5 Tested up to: 6.8 6 Stable tag: 1.5. 46 Stable tag: 1.5.5 7 7 Requires PHP: 7.0 8 8 License: GPLv2 or later … … 229 229 == Changelog == 230 230 231 = 1.5.5 - Jul 22, 2025 = 232 * fix: 🐛 Subscription history in descending order view. 233 * fix: 🐛 Changed view subs button to text 234 * feat: ✨ Add subscription switch info on order - Feature support core. 235 * fix: 🐛 Fixed Subscription menu duplication bug 236 231 237 = 1.5.4 - Jul 17, 2025 = 232 238 - **Improved**: Enhanced settings page with better user interface and organization -
subscription/trunk/subscription.php
r3329468 r3332159 4 4 * Plugin URI: https://wpsubscription.co/ 5 5 * Description: WPSubscription allow WooCommerce to enables recurring payments, subscriptions, and auto-renewals for digital and physical products. Supports Stripe, PayPal, Paddle, and more. 6 * Version: 1.5. 46 * Version: 1.5.5 7 7 * Author: ConversWP 8 8 * Author URI: https://wpsubscription.co/ … … 41 41 * @var string 42 42 */ 43 const version = '1.5. 4';43 const version = '1.5.5'; 44 44 45 45 /** -
subscription/trunk/templates/myaccount/subscriptions.php
r3324782 r3332159 22 22 <th scope="col" class="subscrpt-next-date"><?php esc_html_e( 'Next Payment', 'wp_subscription' ); ?></th> 23 23 <th scope="col" class="subscrpt-total"><?php esc_html_e( 'Total', 'wp_subscription' ); ?></th> 24 <th scope="col" class="subscrpt-action"> </th>24 <th scope="col" class="subscrpt-action">Actions</th> 25 25 </tr> 26 26 </thead> … … 46 46 $product_price_html = Helper::format_price_with_order_item( get_post_meta( get_the_ID(), '_subscrpt_price', true ), $order_item->get_id() ); 47 47 ?> 48 48 49 <tr> 49 50 <td data-title="Subscription"><?php the_ID(); ?></td> 50 <td data-title="Status"><span class="subscrpt-<?php echo esc_attr( $post_status_object->name ); ?>"><?php echo esc_html( strlen( $post_status_object->label ) > 9 ? substr( $post_status_object->label, 0, 6 ) . '...' : $post_status_object->label ); ?></span></td> 51 <td data-title="Product"><a href="<?php echo esc_html( $product_link ); ?>" target="_blank"><?php echo esc_html( $product_name ); ?></a></td> 51 52 <td data-title="Status"> 53 <span class="subscrpt-<?php echo esc_attr( $post_status_object->name ); ?>"> 54 <?php echo esc_html( strlen( $post_status_object->label ) > 9 ? substr( $post_status_object->label, 0, 9 ) . '...' : $post_status_object->label ); ?> 55 </span> 56 </td> 57 58 <td data-title="Product"><?php echo esc_html( $product_name ); ?></td> 59 52 60 <?php if ( 'on' !== $trial_mode ) : ?> 53 61 <td data-title="Next Payment"><?php echo esc_html( $next_date ? gmdate( 'F d, Y', $next_date ) : '-' ); ?></td> … … 55 63 <td data-title="Next Payment"><small>First Billing : </small><?php echo esc_html( gmdate( 'F d, Y', $start_date ) ); ?></td> 56 64 <?php endif; ?> 65 57 66 <td data-title="Total"><?php echo wp_kses_post( $product_price_html ); ?></td> 58 <td data-title="Actions"> 59 <a href="<?php echo esc_html( wc_get_endpoint_url( 'view-subscription', get_the_ID(), wc_get_page_permalink( 'myaccount' ) ) ); ?>" class="woocommerce-button <?php echo esc_attr( $wp_button_class ); ?> button view"><span class="dashicons dashicons-visibility"></span></a> 67 68 <td data-title="Actions"> 69 <a href="<?php echo esc_html( wc_get_endpoint_url( 'view-subscription', get_the_ID(), wc_get_page_permalink( 'myaccount' ) ) ); ?>" class="woocommerce-button <?php echo esc_attr( $wp_button_class ); ?> button view"> 70 <?php echo esc_html_e( 'View', 'wp_subscription' ); ?> 71 </a> 60 72 </td> 61 73 </tr> -
subscription/trunk/vendor/composer/installed.php
r3329468 r3332159 4 4 'pretty_version' => 'dev-main', 5 5 'version' => 'dev-main', 6 'reference' => ' 85f6bec8a859328bc3c59082e62addd862c7946d',6 'reference' => 'bf883172af808bd7403c13c191db8cc08df68ddb', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 14 14 'pretty_version' => 'dev-main', 15 15 'version' => 'dev-main', 16 'reference' => ' 85f6bec8a859328bc3c59082e62addd862c7946d',16 'reference' => 'bf883172af808bd7403c13c191db8cc08df68ddb', 17 17 'type' => 'wordpress-plugin', 18 18 'install_path' => __DIR__ . '/../../',
Note: See TracChangeset
for help on using the changeset viewer.