Changeset 3482861
- Timestamp:
- 03/15/2026 03:39:24 AM (13 days ago)
- Location:
- wpc-price-by-user-role
- Files:
-
- 44 added
- 9 edited
-
tags/2.3.2 (added)
-
tags/2.3.2/assets (added)
-
tags/2.3.2/assets/css (added)
-
tags/2.3.2/assets/css/backend.css (added)
-
tags/2.3.2/assets/css/backend.css.map (added)
-
tags/2.3.2/assets/css/backend.scss (added)
-
tags/2.3.2/assets/css/hint.css (added)
-
tags/2.3.2/assets/js (added)
-
tags/2.3.2/assets/js/backend.js (added)
-
tags/2.3.2/includes (added)
-
tags/2.3.2/includes/class-backend.php (added)
-
tags/2.3.2/includes/class-frontend.php (added)
-
tags/2.3.2/includes/class-helper.php (added)
-
tags/2.3.2/includes/dashboard (added)
-
tags/2.3.2/includes/dashboard/css (added)
-
tags/2.3.2/includes/dashboard/css/dashboard.css (added)
-
tags/2.3.2/includes/dashboard/css/dashboard.css.map (added)
-
tags/2.3.2/includes/dashboard/css/dashboard.scss (added)
-
tags/2.3.2/includes/dashboard/images (added)
-
tags/2.3.2/includes/dashboard/images/wpc-icon.svg (added)
-
tags/2.3.2/includes/dashboard/js (added)
-
tags/2.3.2/includes/dashboard/js/backend.js (added)
-
tags/2.3.2/includes/dashboard/wpc-dashboard.php (added)
-
tags/2.3.2/includes/hpos.php (added)
-
tags/2.3.2/includes/kit (added)
-
tags/2.3.2/includes/kit/css (added)
-
tags/2.3.2/includes/kit/css/backend.css (added)
-
tags/2.3.2/includes/kit/js (added)
-
tags/2.3.2/includes/kit/js/backend.js (added)
-
tags/2.3.2/includes/kit/wpc-kit.php (added)
-
tags/2.3.2/includes/log (added)
-
tags/2.3.2/includes/log/wpc-log.php (added)
-
tags/2.3.2/includes/templates (added)
-
tags/2.3.2/includes/templates/add-new.php (added)
-
tags/2.3.2/includes/templates/global-settings.php (added)
-
tags/2.3.2/includes/templates/role-price.php (added)
-
tags/2.3.2/includes/templates/settings.php (added)
-
tags/2.3.2/index.php (added)
-
tags/2.3.2/languages (added)
-
tags/2.3.2/languages/wpc-price-by-user-role.pot (added)
-
tags/2.3.2/readme.txt (added)
-
tags/2.3.2/wpc-price-by-user-role.php (added)
-
trunk/includes/class-backend.php (modified) (2 diffs)
-
trunk/includes/dashboard/css/dashboard.css (modified) (3 diffs)
-
trunk/includes/dashboard/css/dashboard.css.map (modified) (1 diff)
-
trunk/includes/dashboard/css/dashboard.scss (modified) (3 diffs)
-
trunk/includes/dashboard/wpc-dashboard.php (modified) (3 diffs)
-
trunk/includes/log (added)
-
trunk/includes/log/wpc-log.php (added)
-
trunk/includes/templates/settings.php (modified) (4 diffs)
-
trunk/languages/wpc-price-by-user-role.pot (modified) (6 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/wpc-price-by-user-role.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wpc-price-by-user-role/trunk/includes/class-backend.php
r3398649 r3482861 21 21 // Settings 22 22 add_action( 'admin_init', [ $this, 'register_settings' ] ); 23 add_filter( 'pre_update_option', [ $this, 'last_saved' ], 10, 2 ); 23 24 add_action( 'admin_menu', [ $this, 'admin_menu' ] ); 24 25 … … 122 123 function register_settings() { 123 124 // settings 125 register_setting( 'wpcpu_settings', 'wpcpu_settings', [ 126 'type' => 'array', 127 'sanitize_callback' => [ 'Wpcpu_Helper', 'sanitize_array' ], 128 ] ); 124 129 register_setting( 'wpcpu_settings', 'wpcpu_prices', [ 125 130 'type' => 'array', 126 131 'sanitize_callback' => [ 'Wpcpu_Helper', 'sanitize_array' ], 127 132 ] ); 133 } 134 135 function last_saved( $value, $option ) { 136 if ( $option == 'wpcpu_settings' ) { 137 $value['_last_saved'] = current_time( 'timestamp' ); 138 $value['_last_saved_by'] = get_current_user_id(); 139 } 140 141 return $value; 128 142 } 129 143 -
wpc-price-by-user-role/trunk/includes/dashboard/css/dashboard.css
r3398649 r3482861 287 287 } 288 288 289 .wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_submit { 290 display: flex; 291 align-items: center; 292 } 293 294 .wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpc-last-saved { 295 font-weight: 400; 296 font-size: 12px; 297 color: #999; 298 margin-left: 10px; 299 display: flex; 300 align-items: center; 301 } 302 303 .wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpc-last-saved .dashicons { 304 font-size: 15px; 305 width: 15px; 306 height: 15px; 307 margin-right: 5px; 308 color: #22c55e; 309 } 310 289 311 .wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_export { 290 312 position: absolute; … … 293 315 transform: translateY(-50%); 294 316 font-weight: 400; 317 } 318 319 #wpclever_export .wpclever_export_data { 320 width: 100%; 321 font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace; 322 font-size: 12.5px; 323 line-height: 20px; 324 padding: 0 12px; 325 background-image: repeating-linear-gradient(to bottom, #ffffff 0px, #ffffff 20px, #fafafa 20px, #fafafa 40px); 326 background-attachment: local; 327 resize: vertical; 328 box-sizing: border-box; 329 outline: none; 295 330 } 296 331 … … 462 497 border-left: none; 463 498 border-right: 4px solid #23282d; 499 } 500 501 body.rtl .wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_export { 502 left: 20px; 503 right: auto; 464 504 } 465 505 -
wpc-price-by-user-role/trunk/includes/dashboard/css/dashboard.css.map
r3398649 r3482861 1 {"version":3,"sourceRoot":"","sources":["dashboard.scss"],"names":[],"mappings":";AAAA;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAEA;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;AAEA;EACE;IACE;IACA;IACA;IACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA; EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;AAEA;EACE;;;AAGF;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA","file":"dashboard.css"}1 {"version":3,"sourceRoot":"","sources":["dashboard.scss"],"names":[],"mappings":";AAAA;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAEA;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;AAEA;EACE;IACE;IACA;IACA;IACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EAOA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;AAEA;EACE;;;AAGF;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA","file":"dashboard.css"} -
wpc-price-by-user-role/trunk/includes/dashboard/css/dashboard.scss
r3398649 r3482861 299 299 } 300 300 301 .wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_submit { 302 display: flex; 303 align-items: center; 304 } 305 306 .wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpc-last-saved { 307 font-weight: 400; 308 font-size: 12px; 309 color: #999; 310 margin-left: 10px; 311 display: flex; 312 align-items: center; 313 } 314 315 .wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpc-last-saved .dashicons { 316 font-size: 15px; 317 width: 15px; 318 height: 15px; 319 margin-right: 5px; 320 color: #22c55e; 321 } 322 301 323 .wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_export { 302 324 position: absolute; … … 305 327 transform: translateY(-50%); 306 328 font-weight: 400; 329 } 330 331 #wpclever_export .wpclever_export_data { 332 width: 100%; 333 font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace; 334 font-size: 12.5px; 335 line-height: 20px; 336 padding: 0 12px; 337 background-image: repeating-linear-gradient( 338 to bottom, 339 #ffffff 0px, 340 #ffffff 20px, 341 #fafafa 20px, 342 #fafafa 40px 343 ); 344 background-attachment: local; 345 resize: vertical; 346 box-sizing: border-box; 347 outline: none; 307 348 } 308 349 … … 478 519 border-left: none; 479 520 border-right: 4px solid #23282d; 521 } 522 523 body.rtl .wpclever_settings_page .wpclever_settings_page_content table tr.submit .wpclever_export { 524 left: 20px; 525 right: auto; 480 526 } 481 527 -
wpc-price-by-user-role/trunk/includes/dashboard/wpc-dashboard.php
r3398649 r3482861 1 1 <?php 2 2 defined( 'ABSPATH' ) || exit; 3 4 if ( ! class_exists( 'WPCleverMenu' ) ) {5 class WPCleverMenu {6 function __construct() {7 // do nothing, moved to WPCleverDashboard8 }9 }10 11 new WPCleverMenu();12 }13 3 14 4 if ( ! class_exists( 'WPCleverDashboard' ) ) { … … 232 222 233 223 if ( ! empty( $key ) && ( $settings = get_option( $key ) ) ) { 224 unset( $settings['_last_saved'] ); 225 unset( $settings['_last_saved_by'] ); 226 234 227 echo '<textarea class="wpclever_export_data" id="wpclever_export_data" style="width: 100%; height: 200px; margin-bottom: 10px;" data-key="' . esc_attr( $key ) . '">' . esc_textarea( wp_json_encode( $settings, JSON_PRETTY_PRINT ) ) . '</textarea>'; 235 228 echo '<div style="display: flex; align-items: center"><button class="button button-primary wpclever_import" data-key="' . esc_attr( $key ) . '">Update</button>'; … … 265 258 new WPCleverDashboard(); 266 259 } 260 261 if ( ! function_exists( 'wpc_last_saved' ) ) { 262 function wpc_last_saved( $settings ) { 263 $last_saved = isset( $settings['_last_saved'] ) ? (int) $settings['_last_saved'] : 0; 264 265 if ( $last_saved ) { 266 $time_diff = human_time_diff( $last_saved, current_time( 'timestamp' ) ); 267 $time_full = date_i18n( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), $last_saved ); 268 269 // Who saved it 270 $saved_by_id = isset( $settings['_last_saved_by'] ) ? (int) $settings['_last_saved_by'] : 0; 271 $saved_by_name = ''; 272 273 if ( $saved_by_id ) { 274 $user = get_userdata( $saved_by_id ); 275 276 if ( $user ) { 277 $saved_by_name = $user->display_name; 278 } 279 } 280 281 $by_text = $saved_by_name ? ' ' . sprintf( 'by %s', esc_html( $saved_by_name ) ) : ''; 282 283 echo '<span class="wpc-last-saved" title="' . esc_attr( $time_full ) . '"><span class="dashicons dashicons-saved"></span> ' 284 . sprintf( 285 'Saved %1$s ago', 286 esc_html( $time_diff ) 287 ) 288 . $by_text 289 . '</span>'; 290 } 291 } 292 } -
wpc-price-by-user-role/trunk/includes/templates/settings.php
r3366849 r3482861 13 13 <div class="wpclever_settings_page_desc about-text"> 14 14 <p> 15 <?php printf( /* translators: stars */ esc_html__( 'Thank you for using our plugin! If you are satisfied, please reward it a full five-star %s rating.', 'wpc-price-by-user-role' ), '<span style="color:#ffb900">★★★★★</span>' ); ?>15 <?php printf( /* translators: stars */ esc_html__( 'Thank you for using our plugin! If you are satisfied, please reward it a full five-star %s rating.', 'wpc-price-by-user-role' ), '<span style="color:#ffb900">★★★★★</span>' ); ?> 16 16 <br/> 17 17 <a href="<?php echo esc_url( WPCPU_REVIEWS ); ?>" … … 26 26 </div> 27 27 <h2></h2> 28 <?php if ( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] ) { ?>28 <?php if ( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] ) { ?> 29 29 <div class="notice notice-success is-dismissible"> 30 30 <p><?php esc_html_e( 'Settings updated.', 'wpc-price-by-user-role' ); ?></p> 31 31 </div> 32 <?php } ?>32 <?php } ?> 33 33 <div class="wpclever_settings_page_nav"> 34 34 <h2 class="nav-tab-wrapper"> 35 35 <a href="<?php echo esc_url( admin_url( 'admin.php?page=wpclever-wpcpu&tab=settings' ) ); ?>" 36 36 class="<?php echo esc_attr( $active_tab === 'settings' ? 'nav-tab nav-tab-active' : 'nav-tab' ); ?>"> 37 <?php esc_html_e( 'Settings', 'wpc-price-by-user-role' ); ?>37 <?php esc_html_e( 'Settings', 'wpc-price-by-user-role' ); ?> 38 38 </a> 39 39 <a href="<?php echo esc_url( admin_url( 'admin.php?page=wpclever-wpcpu&tab=premium' ) ); ?>" 40 40 class="<?php echo esc_attr( $active_tab === 'premium' ? 'nav-tab nav-tab-active' : 'nav-tab' ); ?>" 41 41 style="color: #c9356e"> 42 <?php esc_html_e( 'Premium Version', 'wpc-price-by-user-role' ); ?>42 <?php esc_html_e( 'Premium Version', 'wpc-price-by-user-role' ); ?> 43 43 </a> 44 44 <a href="<?php echo esc_url( admin_url( 'admin.php?page=wpclever-kit' ) ); ?>" class="nav-tab"> 45 <?php esc_html_e( 'Essential Kit', 'wpc-price-by-user-role' ); ?>45 <?php esc_html_e( 'Essential Kit', 'wpc-price-by-user-role' ); ?> 46 46 </a> 47 47 </h2> 48 48 </div> 49 49 <div class="wpclever_settings_page_content"> 50 <?php if ( $active_tab === 'settings' ) { ?>50 <?php if ( $active_tab === 'settings' ) { ?> 51 51 <form method="post" action="options.php"> 52 52 <table class="form-table"> … … 55 55 <div class="wpcpu-items-wrapper"> 56 56 <div class="wpcpu-items wpcpu-roles"> 57 <?php58 if ( is_array( $prices ) && ! empty( $prices ) ) {59 $i = 0;57 <?php 58 if ( is_array( $prices ) && ! empty( $prices ) ) { 59 $i = 0; 60 60 61 foreach ( $prices as $key => $price ) {62 $active = $i === 0;63 include WPCPU_DIR . 'includes/templates/role-price.php';64 $i ++;65 }66 }67 ?>61 foreach ( $prices as $key => $price ) { 62 $active = $i === 0; 63 include WPCPU_DIR . 'includes/templates/role-price.php'; 64 $i ++; 65 } 66 } 67 ?> 68 68 </div> 69 69 </div> 70 <?php include WPCPU_DIR . 'includes/templates/add-new.php'; ?>70 <?php include WPCPU_DIR . 'includes/templates/add-new.php'; ?> 71 71 </td> 72 72 </tr> 73 73 <tr class="submit"> 74 74 <th colspan="2"> 75 <?php settings_fields( 'wpcpu_settings' ); ?><?php submit_button(); ?> 75 <div class="wpclever_submit"> 76 <?php 77 echo '<input type="hidden" name="wpcpu_settings[version]" value="' . esc_attr( WPCPU_VERSION ) . '"/>'; 78 settings_fields( 'wpcpu_settings' ); 79 submit_button( '', 'primary', 'submit', false ); 80 81 if ( function_exists( 'wpc_last_saved' ) ) { 82 wpc_last_saved( get_option( 'wpcpu_settings', [] ) ); 83 } 84 ?> 85 </div> 76 86 </th> 77 87 </tr> 78 88 </table> 79 89 </form> 80 <?php } elseif ( $active_tab == 'premium' ) { ?>90 <?php } elseif ( $active_tab == 'premium' ) { ?> 81 91 <div class="wpclever_settings_page_content_text"> 82 92 <p>Get the Premium Version just $29! … … 90 100 </ul> 91 101 </div> 92 <?php } ?>102 <?php } ?> 93 103 </div><!-- /.wpclever_settings_page_content --> 94 104 <div class="wpclever_settings_page_suggestion"> -
wpc-price-by-user-role/trunk/languages/wpc-price-by-user-role.pot
r3398649 r3482861 1 # Copyright (C) 202 5WPClever1 # Copyright (C) 2026 WPClever 2 2 # This file is distributed under the GPLv2 or later. 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: WPC Price by User Role for WooCommerce 2.3. 1\n"5 "Project-Id-Version: WPC Price by User Role for WooCommerce 2.3.2\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpc-price-by-user-role\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 202 5-11-19T08:34:47+00:00\n"12 "POT-Creation-Date: 2026-03-15T03:37:35+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.12.0\n" … … 40 40 msgstr "" 41 41 42 #: includes/class-backend.php:6 043 #: includes/class-backend.php:9 444 #: includes/class-backend.php:2 3142 #: includes/class-backend.php:61 43 #: includes/class-backend.php:95 44 #: includes/class-backend.php:245 45 45 msgid "Price by User Role" 46 46 msgstr "" 47 47 48 #: includes/class-backend.php:8 348 #: includes/class-backend.php:84 49 49 msgid "Product wasn't returned." 50 50 msgstr "" 51 51 52 #: includes/class-backend.php:9 652 #: includes/class-backend.php:97 53 53 msgid "Global" 54 54 msgstr "" 55 55 56 #: includes/class-backend.php:9 757 #: includes/class-backend.php:2 4556 #: includes/class-backend.php:98 57 #: includes/class-backend.php:259 58 58 msgid "Disable" 59 59 msgstr "" 60 60 61 #: includes/class-backend.php: 9962 #: includes/class-backend.php:2 4961 #: includes/class-backend.php:100 62 #: includes/class-backend.php:263 63 63 msgid "Override" 64 64 msgstr "" 65 65 66 #: includes/class-backend.php:1 3966 #: includes/class-backend.php:153 67 67 #: includes/templates/global-settings.php:15 68 68 #: includes/templates/settings.php:12 … … 70 70 msgstr "" 71 71 72 #: includes/class-backend.php:1 6672 #: includes/class-backend.php:180 73 73 #: includes/templates/global-settings.php:40 74 74 #: includes/templates/settings.php:37 … … 76 76 msgstr "" 77 77 78 #: includes/class-backend.php:1 6778 #: includes/class-backend.php:181 79 79 #: includes/templates/settings.php:42 80 80 msgid "Premium Version" 81 81 msgstr "" 82 82 83 #: includes/class-backend.php:1 8383 #: includes/class-backend.php:197 84 84 msgid "Community support" 85 85 msgstr "" 86 86 87 #: includes/class-backend.php:2 7288 #: includes/class-backend.php:2 7487 #: includes/class-backend.php:286 88 #: includes/class-backend.php:288 89 89 msgid "Default price:" 90 90 msgstr "" 91 91 92 #: includes/class-backend.php:2 7492 #: includes/class-backend.php:288 93 93 msgid "Not set" 94 94 msgstr "" 95 95 96 #: includes/class-backend.php: 29496 #: includes/class-backend.php:308 97 97 #: includes/templates/add-new.php:9 98 98 #: includes/templates/role-price.php:19 … … 100 100 msgstr "" 101 101 102 #: includes/class-backend.php:3 17102 #: includes/class-backend.php:331 103 103 msgid "User role:" 104 104 msgstr "" 105 105 106 #: includes/class-backend.php:3 21107 #: includes/class-backend.php:3 23106 #: includes/class-backend.php:335 107 #: includes/class-backend.php:337 108 108 msgid "Apply for:" 109 109 msgstr "" 110 110 111 #: includes/class-backend.php:3 21111 #: includes/class-backend.php:335 112 112 msgid "all products" 113 113 msgstr "" 114 114 115 #: includes/class-backend.php:3 28116 #: includes/class-backend.php:3 30115 #: includes/class-backend.php:342 116 #: includes/class-backend.php:344 117 117 msgid "Price" 118 118 msgstr "" 119 119 120 #: includes/class-backend.php:3 28120 #: includes/class-backend.php:342 121 121 #: includes/templates/role-price.php:86 122 122 msgid "Hide price" -
wpc-price-by-user-role/trunk/readme.txt
r3398649 r3482861 3 3 Donate link: https://wpclever.net 4 4 Tags: woocommerce, wpc, role price, user role, user roles 5 Tested up to: 6. 86 Version: 2.3. 17 Stable tag: 2.3. 15 Tested up to: 6.9 6 Version: 2.3.2 7 Stable tag: 2.3.2 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 90 90 91 91 == Changelog == 92 93 = 2.3.2 = 94 * Fixed: Minor CSS/JS issues in the backend 95 * Updated: Compatible with WP 6.9 & Woo 10.6 92 96 93 97 = 2.3.1 = -
wpc-price-by-user-role/trunk/wpc-price-by-user-role.php
r3398649 r3482861 4 4 Plugin URI: https://wpclever.net/ 5 5 Description: WPC Price by User Role helps you configure discounts and adjust prices in bulk based on user roles. 6 Version: 2.3. 16 Version: 2.3.2 7 7 Author: WPClever 8 8 Author URI: https://wpclever.net … … 11 11 Requires Plugins: woocommerce 12 12 Requires at least: 4.0 13 Tested up to: 6. 813 Tested up to: 6.9 14 14 WC requires at least: 3.0 15 WC tested up to: 10. 315 WC tested up to: 10.6 16 16 License: GPLv2 or later 17 17 License URI: http://www.gnu.org/licenses/gpl-2.0.html 18 18 */ 19 19 20 ! defined( 'WPCPU_VERSION' ) && define( 'WPCPU_VERSION', '2.3. 1' );20 ! defined( 'WPCPU_VERSION' ) && define( 'WPCPU_VERSION', '2.3.2' ); 21 21 ! defined( 'WPCPU_LITE' ) && define( 'WPCPU_LITE', __FILE__ ); 22 22 ! defined( 'WPCPU_FILE' ) && define( 'WPCPU_FILE', __FILE__ ); … … 29 29 ! defined( 'WPC_URI' ) && define( 'WPC_URI', WPCPU_URI ); 30 30 31 include 'includes/log/wpc-log.php'; 31 32 include 'includes/dashboard/wpc-dashboard.php'; 32 33 include 'includes/kit/wpc-kit.php';
Note: See TracChangeset
for help on using the changeset viewer.