Skip to content

Commit c7e9ec8

Browse files
committed
add not/equal to display condition
1 parent 87f70f3 commit c7e9ec8

1 file changed

Lines changed: 25 additions & 7 deletions

File tree

classes/display-condition-solid-dynamics-macro.php

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,21 @@ public function get_group() {
1616
}
1717

1818
public function check( $args ) : bool {
19-
$value = solid_dynamics_macro($args['macro']);
20-
21-
if (($args['compare'] ?? '') === 'true') {
22-
return boolval($value);
23-
} else {
24-
return ! boolval($value);
19+
$result = solid_dynamics_macro($args['macro']);
20+
$compare = $args['compare'] ?? '';
21+
$value = $args['value'] ?? '';
22+
23+
switch ($compare) {
24+
case 'true':
25+
return boolval($result);
26+
case 'false':
27+
return ! boolval($result);
28+
case 'equal':
29+
return $result === $value;
30+
case 'not_equal':
31+
return $result !== $value;
32+
default:
33+
return false;
2534
}
2635
}
2736

@@ -42,10 +51,19 @@ public function get_options() {
4251
'options' => [
4352
'true' => __( 'Is True', 'solid-dynamics' ),
4453
'false' => __( 'Is False', 'solid-dynamics' ),
45-
// TODO: add other options, equal, not equal, etc.
54+
'equal' => __( 'Equal', 'solid-dynamics' ),
55+
'not_equal' => __( 'Not Equal', 'solid-dynamics' ),
56+
// TODO: add other options, contains, not contains, etc.
4657
],
4758
]
4859
);
60+
$this->add_control(
61+
'value',
62+
[
63+
'label' => __( 'Value', 'solid-dynamics' ),
64+
'type' => \Elementor\Controls_Manager::TEXT,
65+
]
66+
);
4967
}
5068
}
5169

0 commit comments

Comments
 (0)