'', 'val2' => '', 'operator' => '', ), $atts, 'compare' ); foreach($atts as $key => $value){ $atts[$key] = str_replace('”', '', $value ); } $l = $atts['val1']; $r = $atts['val2']; $operators = array( '==' => function($l, $r) { return $l == $r; }, '===' => function($l, $r) { return $l === $r; }, '!=' => function($l, $r) { return $l != $r; }, '<' => function($l, $r) { return $l < $r; }, '>' => function($l, $r) { return $l > $r; }, '<=' => function($l, $r) { return $l <= $r; }, '>=' => function($l, $r) { return $l >= $r; }, '' => function($l, $r) { return $l == $r; }, ); if ( !array_key_exists($atts['operator'], $operators ) ) return '

The compare operator ' . esc_html( $atts["operator"] ) . ' is not recognized. Please try: == , ===, !=, <, >, <=, >='; $bool = $operators[$atts['operator']]($l, $r); if( $bool ) return do_shortcode( $content ); }