Version Description
- Fix: woocommerce checkout manager conditional field
Download this release
Release Info
Developer | quadlayers |
Plugin | WooCommerce Checkout Manager |
Version | 4.8.6 |
Comparing to | |
See all releases |
Code changes from version 4.8.5 to 4.8.6
includes/class-wooccm-compatibility.php
CHANGED
@@ -293,7 +293,8 @@ class WOOCCM_Field_Compatibility {
|
|
293 |
}
|
294 |
|
295 |
if (!empty($field['conditional_parent_key']) && !empty($field['conditional_parent_key'])) {
|
296 |
-
if ($parent_id = @max(array_keys(array_column($fields, 'key'), $field['conditional_parent_key']))) {
|
|
|
297 |
if (isset($fields[$parent_id]) && !empty($fields[$parent_id]['options'])) {
|
298 |
$id = @max(array_keys(array_column($fields[$parent_id]['options'], 'label'), $field['conditional_parent_value']));
|
299 |
$field['conditional_parent_value'] = (int) $id;
|
@@ -304,7 +305,7 @@ class WOOCCM_Field_Compatibility {
|
|
304 |
if ($field['type'] == 'colorpicker' && !empty($field['colorpickerd'])) {
|
305 |
$field['default'] = $field['colorpickerd'];
|
306 |
}
|
307 |
-
|
308 |
$field['type'] = $this->get_new_type($field['type']);
|
309 |
|
310 |
$field['show_role'] = $this->string_to_array($field['show_role']);
|
@@ -361,7 +362,8 @@ class WOOCCM_Field_Compatibility {
|
|
361 |
|
362 |
$field = $this->new_panel_compatibility($field_id, $field, $fields, $prefix);
|
363 |
|
364 |
-
if (count($defaults) && $default_id = @max(array_keys(array_column($defaults, 'key'), $field['key']))) {
|
|
|
365 |
|
366 |
if (isset($defaults[$default_id])) {
|
367 |
|
293 |
}
|
294 |
|
295 |
if (!empty($field['conditional_parent_key']) && !empty($field['conditional_parent_key'])) {
|
296 |
+
// if ($parent_id = @max(array_keys(array_column($fields, 'key'), $field['conditional_parent_key']))) {
|
297 |
+
if ($parent_id = WOOCCM()->$prefix->get_field_id($fields, 'key', $field['conditional_parent_key'])) {
|
298 |
if (isset($fields[$parent_id]) && !empty($fields[$parent_id]['options'])) {
|
299 |
$id = @max(array_keys(array_column($fields[$parent_id]['options'], 'label'), $field['conditional_parent_value']));
|
300 |
$field['conditional_parent_value'] = (int) $id;
|
305 |
if ($field['type'] == 'colorpicker' && !empty($field['colorpickerd'])) {
|
306 |
$field['default'] = $field['colorpickerd'];
|
307 |
}
|
308 |
+
|
309 |
$field['type'] = $this->get_new_type($field['type']);
|
310 |
|
311 |
$field['show_role'] = $this->string_to_array($field['show_role']);
|
362 |
|
363 |
$field = $this->new_panel_compatibility($field_id, $field, $fields, $prefix);
|
364 |
|
365 |
+
// if (count($defaults) && $default_id = @max(array_keys(array_column($defaults, 'key'), $field['key']))) {
|
366 |
+
if (count($defaults) && $default_id = WOOCCM()->$prefix->get_field_id($defaults, 'key', $field['key'])) {
|
367 |
|
368 |
if (isset($defaults[$default_id])) {
|
369 |
|
includes/controller/class-wooccm-field.php
CHANGED
@@ -203,7 +203,8 @@ class WOOCCM_Field_Controller {
|
|
203 |
|
204 |
if (!empty($field['conditional_parent_key']) && $field['conditional_parent_key'] != $field['key']) {
|
205 |
|
206 |
-
$parent_id = @max(array_keys(array_column($fields, 'key'), $field['conditional_parent_key']));
|
|
|
207 |
|
208 |
if (isset($fields[$parent_id])) {
|
209 |
$field['parent'] = $fields[$parent_id];
|
@@ -234,7 +235,7 @@ class WOOCCM_Field_Controller {
|
|
234 |
|
235 |
if ($fields = WOOCCM()->$section->get_fields()) {
|
236 |
|
237 |
-
$parent_id =
|
238 |
|
239 |
if (isset($fields[$parent_id])) {
|
240 |
wp_send_json_success($fields[$parent_id]);
|
203 |
|
204 |
if (!empty($field['conditional_parent_key']) && $field['conditional_parent_key'] != $field['key']) {
|
205 |
|
206 |
+
// $parent_id = @max(array_keys(array_column($fields, 'key'), $field['conditional_parent_key']));
|
207 |
+
$parent_id = WOOCCM()->$section->get_field_id($fields, 'key', $field['conditional_parent_key']);
|
208 |
|
209 |
if (isset($fields[$parent_id])) {
|
210 |
$field['parent'] = $fields[$parent_id];
|
235 |
|
236 |
if ($fields = WOOCCM()->$section->get_fields()) {
|
237 |
|
238 |
+
$parent_id = WOOCCM()->$section->get_field_id($fields, 'key', $key);
|
239 |
|
240 |
if (isset($fields[$parent_id])) {
|
241 |
wp_send_json_success($fields[$parent_id]);
|
includes/model/class-wooccm-field.php
CHANGED
@@ -33,7 +33,21 @@ class WOOCCM_Field {
|
|
33 |
return false;
|
34 |
}
|
35 |
|
36 |
-
public function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
38 |
if (count($fields)) {
|
39 |
return max(array_keys($fields)) + 1;
|
@@ -405,7 +419,7 @@ class WOOCCM_Field {
|
|
405 |
|
406 |
$fields = $this->get_fields();
|
407 |
|
408 |
-
$field_id = $this->
|
409 |
|
410 |
$field_data = $this->sanitize_field_data($field_data);
|
411 |
|
33 |
return false;
|
34 |
}
|
35 |
|
36 |
+
public function get_field_id($fields, $key = 'key', $value) {
|
37 |
+
|
38 |
+
if (count($fields)) {
|
39 |
+
|
40 |
+
foreach ($fields as $id => $field) {
|
41 |
+
if ($field[$key] == $value) {
|
42 |
+
return $id;
|
43 |
+
}
|
44 |
+
}
|
45 |
+
}
|
46 |
+
|
47 |
+
return 0;
|
48 |
+
}
|
49 |
+
|
50 |
+
public function get_next_id($fields) {
|
51 |
|
52 |
if (count($fields)) {
|
53 |
return max(array_keys($fields)) + 1;
|
419 |
|
420 |
$fields = $this->get_fields();
|
421 |
|
422 |
+
$field_id = $this->get_next_id($fields);
|
423 |
|
424 |
$field_data = $this->sanitize_field_data($field_data);
|
425 |
|
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: 4.6
|
6 |
Tested up to: 5.3.2
|
7 |
-
Stable tag: 4.8.
|
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.8.5 =
|
103 |
* Fix: woocommerce checkout manager modal tab
|
104 |
* New: woocommerce checkout manager field description
|
4 |
Tags: woocommerce, woocommerce checkout, field manager, checkout editor, checkout field, shipping field, billing field, order field, additional field
|
5 |
Requires at least: 4.6
|
6 |
Tested up to: 5.3.2
|
7 |
+
Stable tag: 4.8.6
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
99 |
|
100 |
== Changelog ==
|
101 |
|
102 |
+
= 4.8.6 =
|
103 |
+
* Fix: woocommerce checkout manager conditional field
|
104 |
+
|
105 |
= 4.8.5 =
|
106 |
* Fix: woocommerce checkout manager modal tab
|
107 |
* New: woocommerce checkout manager field description
|
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.8.
|
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.8.
|
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.8.6
|
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.8.6');
|
21 |
}
|
22 |
if (!defined('WOOCCM_PLUGIN_FILE')) {
|
23 |
define('WOOCCM_PLUGIN_FILE', __FILE__);
|