WooCommerce Checkout Manager - Version 4.7.0

Version Description

  • Fix: save field settings
Download this release

Release Info

Developer quadlayers
Plugin Icon 128x128 WooCommerce Checkout Manager
Version 4.7.0
Comparing to
See all releases

Code changes from version 4.6.9 to 4.7.0

assets/backend/img/quadlayers.jpg ADDED
Binary file
includes/class-wooccm-admin.php CHANGED
@@ -62,7 +62,7 @@ class WOOCCM_Field_Admin {
62
  }
63
  }
64
 
65
- function enqueue_scripts() {
66
 
67
  $screen = get_current_screen();
68
 
@@ -80,40 +80,18 @@ class WOOCCM_Field_Admin {
80
  }
81
  }
82
 
83
- function add_beta_badge() {
84
- ?>
85
- <style>
86
- body #adminmenu #toplevel_page_woocommerce a[href="<?php echo admin_url('admin.php?page=wc-settings&tab=' . sanitize_title(WOOCCM_PREFIX)); ?>"]:before {
87
- content: 'BETA';
88
- color: #fff;
89
- background-color: #21c2f8;
90
- padding: 1px 7px;
91
- font-size: 9px;
92
- font-weight: 700;
93
- border-radius: 10px;
94
- position: absolute;
95
- right: 15px;
96
- line-height: 16px;
97
- font-style: italic;
98
- }
99
- </style>
100
- <?php
101
- }
102
-
103
- function add_tab($settings_tabs) {
104
  $settings_tabs[WOOCCM_PREFIX] = esc_html__('Checkout', 'woocommerce-checkout-manager');
105
  return $settings_tabs;
106
  }
107
 
108
- function add_menu_page() {
109
  add_submenu_page('woocommerce', esc_html__('Checkout', 'woocommerce-checkout-manager'), esc_html__('Checkout', 'woocommerce-checkout-manager'), 'manage_woocommerce', admin_url('admin.php?page=wc-settings&tab=' . sanitize_title(WOOCCM_PREFIX)));
110
  }
111
 
112
- function init() {
113
  add_action('wp_ajax_wooccm_select_search_products', array($this, 'ajax_select_search_products'));
114
-
115
  add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'));
116
- add_action('admin_head', array($this, 'add_beta_badge'));
117
  add_action('admin_menu', array($this, 'add_menu_page'));
118
  add_filter('woocommerce_settings_tabs_array', array($this, 'add_tab'), 50);
119
  }
62
  }
63
  }
64
 
65
+ public function enqueue_scripts() {
66
 
67
  $screen = get_current_screen();
68
 
80
  }
81
  }
82
 
83
+ public function add_tab($settings_tabs) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  $settings_tabs[WOOCCM_PREFIX] = esc_html__('Checkout', 'woocommerce-checkout-manager');
85
  return $settings_tabs;
86
  }
87
 
88
+ public function add_menu_page() {
89
  add_submenu_page('woocommerce', esc_html__('Checkout', 'woocommerce-checkout-manager'), esc_html__('Checkout', 'woocommerce-checkout-manager'), 'manage_woocommerce', admin_url('admin.php?page=wc-settings&tab=' . sanitize_title(WOOCCM_PREFIX)));
90
  }
91
 
92
+ public function init() {
93
  add_action('wp_ajax_wooccm_select_search_products', array($this, 'ajax_select_search_products'));
 
94
  add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'));
 
95
  add_action('admin_menu', array($this, 'add_menu_page'));
96
  add_filter('woocommerce_settings_tabs_array', array($this, 'add_tab'), 50);
97
  }
includes/class-wooccm-suggestions-list-table.php ADDED
@@ -0,0 +1,132 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ require_once( ABSPATH . 'wp-admin/includes/class-wp-plugin-install-list-table.php' );
4
+
5
+ class WOOCCM_Suggestions_List_Table extends WP_Plugin_Install_List_Table {
6
+
7
+ public $promote = array(
8
+ 'wp-menu-icons',
9
+ 'wp-whatsapp-chat',
10
+ 'insta-gallery',
11
+ 'quadmenu',
12
+ 'woocommerce-checkout-manager',
13
+ 'woocommerce-direct-checkout',
14
+ );
15
+
16
+ private function remove_plugins($plugins) {
17
+
18
+ $promote = array();
19
+
20
+ foreach ($this->promote as $order => $slug) {
21
+
22
+ if ($id = @max(array_keys(array_column($plugins, 'slug'), $slug))) {
23
+
24
+ $promote[] = $plugins[$id];
25
+ }
26
+ }
27
+
28
+ return $promote;
29
+ }
30
+
31
+ public function self_admin_url($url, $path) {
32
+
33
+ if (strpos($url, 'tab=plugin-information') !== false) {
34
+ $url = network_admin_url($path);
35
+ }
36
+
37
+ return $url;
38
+ }
39
+
40
+ public function network_admin_url($url, $path) {
41
+
42
+ if (strpos($url, 'plugins.php') !== false) {
43
+ $url = self_admin_url($path);
44
+ }
45
+
46
+ return $url;
47
+ }
48
+
49
+ public function display_rows() {
50
+ add_filter('self_admin_url', array($this, 'self_admin_url'), 10, 2);
51
+ add_filter('network_admin_url', array($this, 'network_admin_url'), 10, 2);
52
+ parent::display_rows();
53
+ }
54
+
55
+ public function is_connected() {
56
+
57
+ global $wp_version;
58
+
59
+ $http_args = array(
60
+ 'timeout' => 15,
61
+ 'user-agent' => 'WordPress/' . $wp_version . '; ' . home_url('/'),
62
+ );
63
+
64
+ return is_wp_error(wp_remote_get('http://api.wordpress.org/plugins/info/1.2/', $http_args));
65
+ }
66
+
67
+ public function get_plugins() {
68
+
69
+ $plugins = get_transient('ql_suggestions_plugins');
70
+
71
+ if ($plugins === false) {
72
+
73
+ $args = array(
74
+ 'per_page' => 36,
75
+ 'author' => 'quadlayers',
76
+ 'locale' => get_user_locale(),
77
+ );
78
+
79
+ $api = plugins_api('query_plugins', $args);
80
+
81
+ if (!is_wp_error($api)) {
82
+
83
+ $plugins = $this->remove_plugins($api->plugins);
84
+
85
+ set_transient('ql_suggestions_plugins', $plugins, 24 * HOUR_IN_SECONDS);
86
+ }
87
+ }
88
+
89
+ return $plugins;
90
+ }
91
+
92
+ public function prepare_items() {
93
+
94
+ include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
95
+
96
+ global $tabs, $tab;
97
+
98
+ wp_enqueue_style('thickbox');
99
+ wp_enqueue_script('plugin-install');
100
+ wp_enqueue_script('thickbox');
101
+ wp_enqueue_script('updates');
102
+
103
+ wp_reset_vars(array('tab'));
104
+
105
+ $tabs = array();
106
+
107
+ if ('search' === $tab) {
108
+ $tabs['search'] = __('Search Results');
109
+ }
110
+ if ($tab === 'beta' || false !== strpos(get_bloginfo('version'), '-')) {
111
+ $tabs['beta'] = _x('Beta Testing', 'Plugin Installer');
112
+ }
113
+ $tabs['featured'] = _x('Featured', 'Plugin Installer');
114
+ $tabs['popular'] = _x('Popular', 'Plugin Installer');
115
+ $tabs['recommended'] = _x('Recommended', 'Plugin Installer');
116
+ $tabs['favorites'] = _x('Favorites', 'Plugin Installer');
117
+
118
+ $nonmenu_tabs = array('plugin-information'); // Valid actions to perform which do not have a Menu item.
119
+
120
+ $tabs = apply_filters('install_plugins_tabs', $tabs);
121
+
122
+ $nonmenu_tabs = apply_filters('install_plugins_nonmenu_tabs', $nonmenu_tabs);
123
+
124
+ // If a non-valid menu tab has been selected, And it's not a non-menu action.
125
+ if (empty($tab) || (!isset($tabs[$tab]) && !in_array($tab, (array) $nonmenu_tabs) )) {
126
+ $tab = key($tabs);
127
+ }
128
+
129
+ $this->items = $this->get_plugins();
130
+ }
131
+
132
+ }
includes/class-wooccm.php CHANGED
@@ -43,6 +43,7 @@ final class WOOCCM {
43
  include_once( WOOCCM_PLUGIN_DIR . 'includes/controller/class-wooccm-order.php' );
44
  include_once( WOOCCM_PLUGIN_DIR . 'includes/controller/class-wooccm-advanced.php' );
45
  include_once( WOOCCM_PLUGIN_DIR . 'includes/controller/class-wooccm-premium.php' );
 
46
  }
47
 
48
  public function register_scripts() {
43
  include_once( WOOCCM_PLUGIN_DIR . 'includes/controller/class-wooccm-order.php' );
44
  include_once( WOOCCM_PLUGIN_DIR . 'includes/controller/class-wooccm-advanced.php' );
45
  include_once( WOOCCM_PLUGIN_DIR . 'includes/controller/class-wooccm-premium.php' );
46
+ include_once( WOOCCM_PLUGIN_DIR . 'includes/controller/class-wooccm-suggestions.php' );
47
  }
48
 
49
  public function register_scripts() {
includes/controller/class-wooccm-advanced.php CHANGED
@@ -19,7 +19,7 @@ class WOOCCM_Checkout_Advanced_Controller {
19
 
20
  if ($css = get_option('wooccm_advanced_custom_css', false)) {
21
  ?>
22
- <style type="text/css">
23
  <?php echo $css; ?>
24
  </style>
25
  <?php
@@ -82,7 +82,12 @@ class WOOCCM_Checkout_Advanced_Controller {
82
  }
83
 
84
  public function save_settings() {
85
- woocommerce_update_options($this->get_settings());
 
 
 
 
 
86
  }
87
 
88
  public function custom_css_w($value) {
19
 
20
  if ($css = get_option('wooccm_advanced_custom_css', false)) {
21
  ?>
22
+ <style>
23
  <?php echo $css; ?>
24
  </style>
25
  <?php
82
  }
83
 
84
  public function save_settings() {
85
+
86
+ global $current_section;
87
+
88
+ if ('advanced' == $current_section) {
89
+ woocommerce_update_options($this->get_settings());
90
+ }
91
  }
92
 
93
  public function custom_css_w($value) {
includes/controller/class-wooccm-checkout.php CHANGED
@@ -64,7 +64,7 @@ class WOOCCM_Checkout_Controller {
64
 
65
  if (get_option('wooccm_checkout_force_shipping_address', 'no') == 'yes') {
66
  ?>
67
- <style type="text/css">
68
  .woocommerce-shipping-fields h3:first-child input {
69
  display: none!important;
70
  }
@@ -77,7 +77,7 @@ class WOOCCM_Checkout_Controller {
77
 
78
  if (get_option('wooccm_checkout_force_create_account', 'no') == 'yes') {
79
  ?>
80
- <style type="text/css">
81
  .create-account {
82
  display:none;
83
  }
@@ -270,7 +270,13 @@ class WOOCCM_Checkout_Controller {
270
  }
271
 
272
  public function save_settings() {
273
- woocommerce_update_options($this->get_settings());
 
 
 
 
 
 
274
  }
275
 
276
  // Compatibility
64
 
65
  if (get_option('wooccm_checkout_force_shipping_address', 'no') == 'yes') {
66
  ?>
67
+ <style>
68
  .woocommerce-shipping-fields h3:first-child input {
69
  display: none!important;
70
  }
77
 
78
  if (get_option('wooccm_checkout_force_create_account', 'no') == 'yes') {
79
  ?>
80
+ <style>
81
  .create-account {
82
  display:none;
83
  }
270
  }
271
 
272
  public function save_settings() {
273
+
274
+ global $current_section;
275
+
276
+ if ('' == $current_section) {
277
+
278
+ woocommerce_update_options($this->get_settings());
279
+ }
280
  }
281
 
282
  // Compatibility
includes/controller/class-wooccm-field.php CHANGED
@@ -318,7 +318,7 @@ class WOOCCM_Field_Controller {
318
 
319
  global $current_section;
320
 
321
- if ($current_section) {
322
 
323
  $section = wc_clean(wp_unslash($current_section));
324
 
318
 
319
  global $current_section;
320
 
321
+ if (in_array($current_section, array('billing', 'shipping', 'additional'))) {
322
 
323
  $section = wc_clean(wp_unslash($current_section));
324
 
includes/controller/class-wooccm-order.php CHANGED
@@ -252,7 +252,12 @@ class WOOCCM_Order_Controller extends WOOCCM_Upload {
252
  }
253
 
254
  public function save_settings() {
255
- woocommerce_update_options($this->get_settings());
 
 
 
 
 
256
  }
257
 
258
  // Compatibility
252
  }
253
 
254
  public function save_settings() {
255
+
256
+ global $current_section;
257
+
258
+ if ('order' == $current_section) {
259
+ woocommerce_update_options($this->get_settings());
260
+ }
261
  }
262
 
263
  // Compatibility
includes/controller/class-wooccm-premium.php CHANGED
@@ -14,31 +14,35 @@ class WOOCCM_Checkout_Premium_Controller {
14
  }
15
  return self::$_instance;
16
  }
17
-
18
- // Admin
19
- // -------------------------------------------------------------------------
20
-
21
- public function add_header() {
22
- global $current_section;
23
  ?>
24
- <li><a href="<?php echo admin_url('admin.php?page=wc-settings&tab=wooccm&section=premium'); ?>" class="<?php echo ( $current_section == 'premium' ? 'current' : '' ); ?>"><?php esc_html_e('Premium', 'woocommerce-checkout-manager'); ?></a> | </li>
 
 
 
 
 
 
25
  <?php
26
  }
27
 
28
- public function add_section() {
 
29
 
30
- global $current_section, $hide_save_button;
 
 
31
 
32
- if ('premium' == $current_section) {
33
- $hide_save_button = true;
34
- include_once( WOOCCM_PLUGIN_DIR . 'includes/view/backend/pages/premium.php' );
35
- }
36
  }
37
 
38
  public function init() {
39
-
40
- add_action('wooccm_sections_header', array($this, 'add_header'));
41
- add_action('woocommerce_sections_' . WOOCCM_PREFIX, array($this, 'add_section'));
42
  }
43
 
44
  }
14
  }
15
  return self::$_instance;
16
  }
17
+
18
+
19
+ function remove_menu() {
 
 
 
20
  ?>
21
+ <style>
22
+
23
+ li.toplevel_page_wooccm {
24
+ display:none;
25
+ }
26
+
27
+ </style>
28
  <?php
29
  }
30
 
31
+ // Admin
32
+ // -------------------------------------------------------------------------
33
 
34
+ public function add_page() {
35
+ include_once( WOOCCM_PLUGIN_DIR . 'includes/view/backend/pages/premium.php' );
36
+ }
37
 
38
+ function add_menu() {
39
+ add_menu_page(WOOCCM_PLUGIN_NAME, WOOCCM_PLUGIN_NAME, 'manage_woocommerce', WOOCCM_PREFIX, array($this, 'add_page'));
40
+ add_submenu_page(WOOCCM_PREFIX, esc_html__('Premium', 'woocommerce-checkout-manager'), esc_html__('Premium', 'woocommerce-checkout-manager'), 'manage_woocommerce', WOOCCM_PREFIX, array($this, 'add_page'));
 
41
  }
42
 
43
  public function init() {
44
+ add_action('admin_menu', array($this, 'add_menu'));
45
+ add_action('admin_head', array($this, 'remove_menu'));
 
46
  }
47
 
48
  }
includes/controller/class-wooccm-suggestions.php ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WOOCCM_Checkout_Suggestions_Controller {
4
+
5
+ protected static $_instance;
6
+
7
+ public function __construct() {
8
+ $this->init();
9
+ }
10
+
11
+ public static function instance() {
12
+ if (is_null(self::$_instance)) {
13
+ self::$_instance = new self();
14
+ }
15
+ return self::$_instance;
16
+ }
17
+
18
+ // Admin
19
+ // -------------------------------------------------------------------------
20
+
21
+ public function add_page() {
22
+ include_once( WOOCCM_PLUGIN_DIR . 'includes/class-wooccm-suggestions-list-table.php' );
23
+ include_once( WOOCCM_PLUGIN_DIR . 'includes/view/backend/pages/suggestions.php' );
24
+ }
25
+
26
+ public function add_menu() {
27
+ add_submenu_page(WOOCCM_PREFIX, __('Suggestions', 'woocommerce-checkout-manager'), __('Suggestions', 'woocommerce-checkout-manager'), 'manage_woocommerce', WOOCCM_PREFIX . '_suggestions', array($this, 'add_page'));
28
+ }
29
+
30
+ // fix for activateUrl on install now button
31
+ public function network_admin_url($url, $path) {
32
+
33
+ if (wp_doing_ajax() && !is_network_admin()) {
34
+ if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'install-plugin') {
35
+ if (strpos($url, 'plugins.php') !== false) {
36
+ $url = self_admin_url($path);
37
+ }
38
+ }
39
+ }
40
+
41
+ return $url;
42
+ }
43
+
44
+ public function add_redirect() {
45
+
46
+ if (isset($_REQUEST['activate']) && $_REQUEST['activate'] == 'true') {
47
+ if (wp_get_referer() == admin_url('admin.php?page=' . WOOCCM_PREFIX . '_suggestions')) {
48
+ wp_redirect(admin_url('admin.php?page=' . WOOCCM_PREFIX . '_suggestions'));
49
+ }
50
+ }
51
+ }
52
+
53
+ public function init() {
54
+ add_action('admin_menu', array($this, 'add_menu'));
55
+ add_action('admin_init', array($this, 'add_redirect'));
56
+ add_filter('network_admin_url', array($this, 'network_admin_url'), 10, 2);
57
+ }
58
+
59
+ }
60
+
61
+ WOOCCM_Checkout_Suggestions_Controller::instance();
62
+
includes/view/backend/pages/additional.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php include_once( 'parts/header.php' ); ?>
2
  <h1 class="screen-reader-text"><?php esc_html_e('Additional', 'woocommerce-checkout-manager'); ?></h1>
3
  <h2><?php esc_html_e('Additional fields', 'woocommerce-checkout-manager'); ?></h2>
4
  <div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
1
+ <?php include_once( 'parts/tabs.php' ); ?>
2
  <h1 class="screen-reader-text"><?php esc_html_e('Additional', 'woocommerce-checkout-manager'); ?></h1>
3
  <h2><?php esc_html_e('Additional fields', 'woocommerce-checkout-manager'); ?></h2>
4
  <div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
includes/view/backend/pages/advanced.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php include_once( 'parts/header.php' ); ?>
2
  <h1 class="screen-reader-text"><?php esc_html_e('Advanced', 'woocommerce-checkout-manager'); ?></h1>
3
  <h2><?php esc_html_e('Advanced settings', 'woocommerce-checkout-manager'); ?></h2>
4
  <!--<div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
1
+ <?php include_once( 'parts/tabs.php' ); ?>
2
  <h1 class="screen-reader-text"><?php esc_html_e('Advanced', 'woocommerce-checkout-manager'); ?></h1>
3
  <h2><?php esc_html_e('Advanced settings', 'woocommerce-checkout-manager'); ?></h2>
4
  <!--<div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
includes/view/backend/pages/billing.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php include_once( 'parts/header.php' ); ?>
2
  <h1 class="screen-reader-text"><?php esc_html_e('Billing', 'woocommerce-checkout-manager'); ?></h1>
3
  <h2><?php esc_html_e('Billing fields', 'woocommerce-checkout-manager'); ?></h2>
4
  <div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
1
+ <?php include_once( 'parts/tabs.php' ); ?>
2
  <h1 class="screen-reader-text"><?php esc_html_e('Billing', 'woocommerce-checkout-manager'); ?></h1>
3
  <h2><?php esc_html_e('Billing fields', 'woocommerce-checkout-manager'); ?></h2>
4
  <div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
includes/view/backend/pages/checkout.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php include_once( 'parts/header.php' ); ?>
2
  <h1 class="screen-reader-text"><?php esc_html_e('Checkout', 'woocommerce-checkout-manager'); ?></h1>
3
  <h2><?php esc_html_e('Checkout settings', 'woocommerce-checkout-manager'); ?></h2>
4
  <div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
1
+ <?php include_once( 'parts/tabs.php' ); ?>
2
  <h1 class="screen-reader-text"><?php esc_html_e('Checkout', 'woocommerce-checkout-manager'); ?></h1>
3
  <h2><?php esc_html_e('Checkout settings', 'woocommerce-checkout-manager'); ?></h2>
4
  <div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
includes/view/backend/pages/order.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php include_once( 'parts/header.php' ); ?>
2
  <h1 class="screen-reader-text"><?php esc_html_e('Order', 'woocommerce-checkout-manager'); ?></h1>
3
  <h2><?php esc_html_e('Order settings', 'woocommerce-checkout-manager'); ?></h2>
4
  <div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
1
+ <?php include_once( 'parts/tabs.php' ); ?>
2
  <h1 class="screen-reader-text"><?php esc_html_e('Order', 'woocommerce-checkout-manager'); ?></h1>
3
  <h2><?php esc_html_e('Order settings', 'woocommerce-checkout-manager'); ?></h2>
4
  <div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
includes/view/backend/pages/parts/header.php CHANGED
@@ -1,6 +1,48 @@
1
- <ul class="subsubsub">
2
- <?php do_action('wooccm_sections_header'); ?>
3
- <li><a target="_blank" href="<?php echo WOOCCM_DOCUMENTATION_URL; ?>"><?php echo esc_html__('Documentation', 'woocommerce-checkout-manager'); ?></a></li>
4
- </ul>
5
- <br class="clear" />
6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap about-wrap full-width-layout">
 
 
 
 
2
 
3
+ <h1><?php esc_html_e('Suggestions', 'woocommerce-checkout-manager'); ?></h1>
4
+
5
+ <p class="about-text"><?php printf(esc_html__('Thanks for using our product! We recommend these extensions that will add new features to stand out your business and improve your sales.', 'woocommerce-checkout-manager'), WOOCCM_PLUGIN_NAME); ?></p>
6
+
7
+ <p class="about-text">
8
+ <?php printf('<a href="%s" target="_blank">%s</a>', WOOCCM_PURCHASE_URL, esc_html__('Purchase', 'woocommerce-checkout-manager')); ?></a> |
9
+ <?php printf('<a href="%s" target="_blank">%s</a>', WOOCCM_DOCUMENTATION_URL, esc_html__('Documentation', 'woocommerce-checkout-manager')); ?></a>
10
+ </p>
11
+
12
+ <?php printf('<a href="%s" target="_blank"><div style="
13
+ background: #006bff url(%s) no-repeat;
14
+ background-position: top center;
15
+ background-size: 130px 130px;
16
+ color: #fff;
17
+ font-size: 14px;
18
+ text-align: center;
19
+ font-weight: 600;
20
+ margin: 5px 0 0;
21
+ padding-top: 120px;
22
+ height: 40px;
23
+ display: inline-block;
24
+ width: 140px;
25
+ " class="wp-badge">%s</div></a>', 'https://quadlayers.com/?utm_source=qlwapp_admin', plugins_url('/assets/backend/img/quadlayers.jpg', WOOCCM_PLUGIN_FILE), esc_html__('QuadLayers', 'woocommerce-checkout-manager')); ?>
26
+
27
+ </div>
28
+
29
+ <?php
30
+ if (isset($GLOBALS['submenu'][WOOCCM_PREFIX])) {
31
+ if (is_array($GLOBALS['submenu'][WOOCCM_PREFIX])) {
32
+ ?>
33
+ <div class="wrap about-wrap full-width-layout qlwrap">
34
+ <h2 class="nav-tab-wrapper">
35
+ <?php
36
+ foreach ($GLOBALS['submenu'][WOOCCM_PREFIX] as $tab) {
37
+ if (strpos($tab[2], '.php') !== false)
38
+ continue;
39
+ ?>
40
+ <a href="<?php echo admin_url('admin.php?page=' . esc_attr($tab[2])); ?>" class="nav-tab<?php echo (isset($_GET['page']) && $_GET['page'] == $tab[2]) ? ' nav-tab-active' : ''; ?>"><?php echo $tab[0]; ?></a>
41
+ <?php
42
+ }
43
+ ?>
44
+ </h2>
45
+ </div>
46
+ <?php
47
+ }
48
+ }
includes/view/backend/pages/parts/tabs.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <ul class="subsubsub">
2
+ <?php do_action('wooccm_sections_header'); ?>
3
+ <li><a target="_blank" href="<?php echo WOOCCM_DOCUMENTATION_URL; ?>"><?php echo esc_html__('Documentation', 'woocommerce-checkout-manager'); ?></a></li> |
4
+ <li><a href="<?php echo admin_url('admin.php?page=' . WOOCCM_PREFIX); ?>"><?php echo esc_html__('Premium', 'woocommerce-checkout-manager'); ?></a></li>
5
+ </ul>
6
+ <br class="clear" />
includes/view/backend/pages/premium.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php include_once( 'parts/header.php' ); ?>
2
  <div class="wrap about-wrap full-width-layout">
3
  <div class="has-2-columns is-wider-left" style="max-width: 100%">
4
  <div class="column">
@@ -37,6 +37,9 @@
37
  </div>
38
  <hr/>
39
  <div class="has-2-columns" style="max-width: 100%">
 
 
 
40
  <div class="column">
41
  <div class="feature-section" style="padding: 10px 0;">
42
  <h3><?php esc_html_e('Display on admin list orders', 'woocommerce-checkout-manager'); ?></h3>
@@ -57,8 +60,5 @@
57
  </p>
58
  </div>
59
  </div>
60
- <div class="column">
61
- <img style="margin-top: -30px" src="<?php echo plugins_url('/assets/backend/img/admin.png', WOOCCM_PLUGIN_FILE); ?>">
62
- </div>
63
  </div>
64
  </div>
1
+ <?php include_once('parts/header.php' ); ?>
2
  <div class="wrap about-wrap full-width-layout">
3
  <div class="has-2-columns is-wider-left" style="max-width: 100%">
4
  <div class="column">
37
  </div>
38
  <hr/>
39
  <div class="has-2-columns" style="max-width: 100%">
40
+ <div class="column">
41
+ <img style="margin-top: -30px" src="<?php echo plugins_url('/assets/backend/img/admin.png', WOOCCM_PLUGIN_FILE); ?>">
42
+ </div>
43
  <div class="column">
44
  <div class="feature-section" style="padding: 10px 0;">
45
  <h3><?php esc_html_e('Display on admin list orders', 'woocommerce-checkout-manager'); ?></h3>
60
  </p>
61
  </div>
62
  </div>
 
 
 
63
  </div>
64
  </div>
includes/view/backend/pages/shipping.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php include_once( 'parts/header.php' ); ?>
2
  <h1 class="screen-reader-text"><?php esc_html_e('Shipping', 'woocommerce-checkout-manager'); ?></h1>
3
  <h2><?php esc_html_e('Shipping fields', 'woocommerce-checkout-manager'); ?></h2>
4
  <div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
1
+ <?php include_once( 'parts/tabs.php' ); ?>
2
  <h1 class="screen-reader-text"><?php esc_html_e('Shipping', 'woocommerce-checkout-manager'); ?></h1>
3
  <h2><?php esc_html_e('Shipping fields', 'woocommerce-checkout-manager'); ?></h2>
4
  <div id="<?php printf('wooccm_%s_settings-description', $current_section); ?>">
includes/view/backend/pages/suggestions.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php include_once('parts/header.php' ); ?>
2
+ <div class="wrap" style="
3
+ position: relative;
4
+ margin: 25px 40px 0 20px;
5
+ max-width: 1200px;">
6
+ <?php
7
+ $wp_list_table = new WOOCCM_Suggestions_List_Table();
8
+ $wp_list_table->prepare_items();
9
+ ?>
10
+ <form id="plugin-filter" method="post" class="importer-item">
11
+ <?php $wp_list_table->display(); ?>
12
+ </form>
13
+ </div>
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://quadlayers.com/
4
  Tags: woocommerce, woocommerce checkout, field manager, checkout editor, checkout field, shipping field, billing field, order field, additional field
5
  Requires at least: 3.0
6
  Tested up to: 5.2.4
7
- Stable tag: 4.6.9
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -99,6 +99,9 @@ Your Order data can be reviewed in each order within the default WooCommerce Ord
99
 
100
  == Changelog ==
101
 
 
 
 
102
  = 4.6.9 =
103
  * Fix: fix wpml compatibility
104
 
4
  Tags: woocommerce, woocommerce checkout, field manager, checkout editor, checkout field, shipping field, billing field, order field, additional field
5
  Requires at least: 3.0
6
  Tested up to: 5.2.4
7
+ Stable tag: 4.7.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
99
 
100
  == Changelog ==
101
 
102
+ = 4.7.0 =
103
+ * Fix: save field settings
104
+
105
  = 4.6.9 =
106
  * Fix: fix wpml compatibility
107
 
woocommerce-checkout-manager.php CHANGED
@@ -3,7 +3,7 @@
3
  /**
4
  * Plugin Name: WooCommerce Checkout Manager
5
  * Description: Manages WooCommerce Checkout, the advanced way.
6
- * Version: 4.6.9
7
  * Author: QuadLayers
8
  * Author URI: https://www.quadlayers.com
9
  * Copyright: 2019 QuadLayers (https://www.quadlayers.com)
@@ -17,7 +17,7 @@ if (!defined('WOOCCM_PLUGIN_NAME')) {
17
  define('WOOCCM_PLUGIN_NAME', 'WooCommerce Checkout Manager');
18
  }
19
  if (!defined('WOOCCM_PLUGIN_VERSION')) {
20
- define('WOOCCM_PLUGIN_VERSION', '4.6.9');
21
  }
22
  if (!defined('WOOCCM_PLUGIN_FILE')) {
23
  define('WOOCCM_PLUGIN_FILE', __FILE__);
3
  /**
4
  * Plugin Name: WooCommerce Checkout Manager
5
  * Description: Manages WooCommerce Checkout, the advanced way.
6
+ * Version: 4.7.0
7
  * Author: QuadLayers
8
  * Author URI: https://www.quadlayers.com
9
  * Copyright: 2019 QuadLayers (https://www.quadlayers.com)
17
  define('WOOCCM_PLUGIN_NAME', 'WooCommerce Checkout Manager');
18
  }
19
  if (!defined('WOOCCM_PLUGIN_VERSION')) {
20
+ define('WOOCCM_PLUGIN_VERSION', '4.7.0');
21
  }
22
  if (!defined('WOOCCM_PLUGIN_FILE')) {
23
  define('WOOCCM_PLUGIN_FILE', __FILE__);