@@ -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