3 OR NOT($f1 > 3)))" debug="true"]Visible block[/wpv-if] * * Compare custom field with a value * * [wpv-if f1="wpcf-condstr1" evaluate="$f1 = 'My text'" debug="true"]Text1='My text' [/wpv-if] * * Display condition if evaluates to false (use instead of else-if) * * [wpv-if condition="false" evaluate="2 > 3"] 2 > 3 [/wpv-if] * * * Parameters: * 'condition' => Define expected result from evaluate - either true or false * 'evaluate' => Evaluate expression with fields involved, sample use: "($field1 > $field2) AND !empty($field3)" * 'debug' => Enable debug to display error messages in the shortcode * 'fieldX' => Define fields to be taken into account during evaluation * */ function wpv_shortcode_wpv_if($args, $content) { $result = wpv_condition($args); extract( shortcode_atts( array('evaluate' => FALSE, 'debug' => FALSE, 'condition' => TRUE), $args) ); $condition = ($condition == 'true' || $condition === TRUE) ? true : false; // show the view area if condition corresponds to the evaluate returned result 1=1 or 0=0 if(($result === true && $condition) || ($result === false && !$condition)) { return wpv_do_shortcode($content); } else { // output empty string or the error message if debug is true // empty for different condition and evaluate result if(($result === false && $condition) || ($result === true && !$condition) ) { return ''; } else { if($debug) { return $result; } } } } add_shortcode('wpv-if', 'wpv_shortcode_wpv_if');