Skip to content

Commit aaba815

Browse files
committed
#4033 - repeater functionality in taxonomy and users.
1 parent 413579e commit aaba815

File tree

5 files changed

+37
-28
lines changed

5 files changed

+37
-28
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
* Fixed: Datetime wasn't escaping some translations and domain was incorrect.
55
* Changed: Minimum PHP version now 7.4.
66
* Fixed: `required` functionality in `taxonomy` and `users`.
7+
* Fixed: `repeater` not rendering inside `taxonomy` metaboxes.
8+
* Fixed: `repeater` not saving inside `users` metaboxes.
79

810
## 4.4.18.9
911
* Fixed: Metaboxes `page_template` feature not showing/hiding properly under Gutenberg due to class name change.

redux-core/inc/extensions/taxonomy/class-redux-extension-taxonomy.php

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -774,26 +774,31 @@ public function get_values( $the_post, string $meta_key = '', string $def_val =
774774
* Check edit visibility.
775775
*
776776
* @param array $params Array.
777+
* @param bool $subscan Flag to perform scan for fields of fields.
777778
*
778779
* @return bool
779780
*/
780-
private function check_edit_visibility( array $params = array() ): bool {
781+
private function check_edit_visibility( array $params = array(), bool $subscan = true ): bool {
781782
global $pagenow;
782783

783784
// Edit page visibility.
784785
if ( strpos( $pagenow, 'edit-' ) !== false ) {
785-
if ( isset( $params['fields'] ) ) {
786-
foreach ( $params['fields'] as $field ) {
787-
if ( in_array( $field['id'], $this->parent->fields_hidden, true ) ) { // phpcs:ignore Generic.CodeAnalysis.EmptyStatement
788-
// Not visible.
789-
} elseif ( isset( $field['add_visibility'] ) && $field['add_visibility'] ) {
786+
if ( true === $subscan ) {
787+
if ( isset( $params['fields'] ) ) {
788+
789+
foreach ( $params['fields'] as $field ) {
790+
if ( in_array( $field['id'], $this->parent->fields_hidden, true ) ) { // phpcs:ignore Generic.CodeAnalysis.EmptyStatement
791+
// Not visible.
792+
} elseif ( isset( $field['add_visibility'] ) && $field['add_visibility'] ) {
790793
return true;
794+
}
791795
}
792-
}
793796

794-
return false;
797+
return false;
798+
}
795799
}
796-
if ( isset( $params['add_visibility'] ) && $params['add_visibility'] ) {
800+
801+
if ( isset( $params['add_visibility'] ) && true === $params['add_visibility'] ) {
797802
return true;
798803
}
799804

@@ -885,9 +890,11 @@ class="redux-container <?php echo( esc_attr( $container_class ) ); ?> redux-term
885890
if ( ! $this->check_edit_visibility( $section ) ) {
886891
continue;
887892
}
893+
888894
if ( ! empty( $section['permissions'] ) && ! Redux_Helpers::current_user_can( $section['permissions'] ) ) {
889895
continue;
890896
}
897+
891898
if ( ! empty( $section['fields'] ) ) {
892899
if ( isset( $section['args'] ) ) {
893900
$this->parent->args = wp_parse_args( $section['args'], $this->orig_args );
@@ -912,7 +919,7 @@ class="redux-container <?php echo( esc_attr( $container_class ) ); ?> redux-term
912919
echo '<table class="form-table"><tbody>';
913920

914921
foreach ( $section['fields'] as $field ) {
915-
if ( ! $this->check_edit_visibility( $field ) ) {
922+
if ( ! $this->check_edit_visibility( $field, false ) ) {
916923
continue;
917924
}
918925

redux-core/inc/extensions/taxonomy/class-redux-taxonomy-api.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,49 +26,49 @@ class Redux_Taxonomy {
2626
*
2727
* @var array
2828
*/
29-
public static $terms = array();
29+
public static array $terms = array();
3030

3131
/**
3232
* Sections array.
3333
*
3434
* @var array
3535
*/
36-
public static $sections = array();
36+
public static array $sections = array();
3737

3838
/**
3939
* Fields array.
4040
*
4141
* @var array
4242
*/
43-
public static $fields = array();
43+
public static array $fields = array();
4444

4545
/**
4646
* Priority array.
4747
*
4848
* @var array
4949
*/
50-
public static $priority = array();
50+
public static array $priority = array();
5151

5252
/**
5353
* Errors array.
5454
*
5555
* @var array
5656
*/
57-
public static $errors = array();
57+
public static array $errors = array();
5858

5959
/**
6060
* Init array.
6161
*
6262
* @var array
6363
*/
64-
public static $init = array();
64+
public static array $init = array();
6565

6666
/**
6767
* Args array.
6868
*
6969
* @var array
7070
*/
71-
public static $args = array();
71+
public static array $args = array();
7272

7373
/**
7474
* Load.

redux-core/inc/extensions/users/class-redux-extension-users.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ public function __construct( $redux ) {
171171
*
172172
* @return array
173173
*/
174-
public function add_term_classes( array $classes ): array {
174+
public function add_user_classes( array $classes ): array {
175175
$classes[] = 'redux-users';
176176
$classes[] = 'redux-' . $this->parent->args['opt_name'];
177177

@@ -189,7 +189,7 @@ public function add_term_classes( array $classes ): array {
189189
*
190190
* @return array
191191
*/
192-
public function add_term_hide_class( array $classes ): array {
192+
public function add_user_hide_class( array $classes ): array {
193193
$classes[] = 'hide';
194194

195195
return $classes;
@@ -622,10 +622,10 @@ public function add_profiles() {
622622
}
623623
}
624624

625-
$profile['class'] = $this->add_term_classes( $profile['class'] );
625+
$profile['class'] = $this->add_user_classes( $profile['class'] );
626626

627627
if ( isset( $profile['post_format'] ) ) {
628-
$profile['class'] = $this->add_term_hide_class( $profile['class'] );
628+
$profile['class'] = $this->add_user_hide_class( $profile['class'] );
629629
}
630630

631631
global $pagenow;

redux-core/inc/extensions/users/class-redux-users-api.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,49 +26,49 @@ class Redux_Users {
2626
*
2727
* @var array
2828
*/
29-
public static $profiles = array();
29+
public static array $profiles = array();
3030

3131
/**
3232
* Sections array.
3333
*
3434
* @var array
3535
*/
36-
public static $sections = array();
36+
public static array $sections = array();
3737

3838
/**
3939
* Fields array.
4040
*
4141
* @var array
4242
*/
43-
public static $fields = array();
43+
public static array $fields = array();
4444

4545
/**
4646
* Priority array.
4747
*
4848
* @var array
4949
*/
50-
public static $priority = array();
50+
public static array $priority = array();
5151

5252
/**
5353
* Errors array.
5454
*
5555
* @var array
5656
*/
57-
public static $errors = array();
57+
public static array $errors = array();
5858

5959
/**
6060
* Init array.
6161
*
6262
* @var array
6363
*/
64-
public static $init = array();
64+
public static array $init = array();
6565

6666
/**
6767
* Args array.
6868
*
6969
* @var array
7070
*/
71-
public static $args = array();
71+
public static array $args = array();
7272

7373
/**
7474
* Load.

0 commit comments

Comments
 (0)