wp_validate_boolean()
Converts the value of the specified variable to boolean true or false.
Alternative construction: filter_var( $var, FILTER_VALIDATE_BOOLEAN ).
No Hooks.
Returns
true|false.
Usage
wp_validate_boolean( $value );
- $var(mixed) (required)
- The variable to check if it is boolean.
Examples
#1 Demonstration of work
$var = wp_validate_boolean( true ); // bool(true) $var = wp_validate_boolean( 'true' ); // bool(true) $var = wp_validate_boolean( '11' ); // bool(true) $var = wp_validate_boolean( 1 ); // bool(true) $var = wp_validate_boolean( '1' ); // bool(true) $var = wp_validate_boolean( 'on' ); // bool(true) $var = wp_validate_boolean( 'off' ); // bool(true) $var = wp_validate_boolean( 'foo' ); // bool(true) $var = wp_validate_boolean( new StdClass() ); // bool(true) $var = wp_validate_boolean( [1] ); // bool(true) $var = wp_validate_boolean( 'false' ); // bool(false) $var = wp_validate_boolean( false ); // bool(false) $var = wp_validate_boolean( 0 ); // bool(false) $var = wp_validate_boolean( '0' ); // bool(false) $var = wp_validate_boolean( '' ); // bool(false) $var = wp_validate_boolean( null ); // bool(false) $var = wp_validate_boolean( [] ); // bool(false)
#2 Let's make sure we transmit logical data
Sometimes you need to know exactly what logical data is passed, for example when we work with JSON. PHP understands '0' as false, but JSON understands it differently, and in these cases we have to make sure that it's the logical data being passed. Let's say we pass settings:
$json_data = array( 'tracklist' => wp_validate_boolean( $atts['tracklist'] ), 'tracknumbers' => wp_validate_boolean( $atts['tracknumbers'] ), 'images' => wp_validate_boolean( $atts['images'] ), 'artists' => wp_validate_boolean( $atts['artists'] ), ); echo json_encode( $json_data );
#3 Ensure the value is bool
// example 1 $plugin_status = wp_validate_boolean( $plugin_data['status'] ?? 0 ); $plugin_active = wp_validate_boolean( $plugin_data['active'] ?? 0 ); // example 2 $is_some = wp_validate_boolean( $request->get_param( 'fetch_field_data' ) );
#4 If you need to include the check for on|off
wp_validate_boolean() will return true for the values on or off. To include this check, you can use the following check:
$show = wp_validate_boolean( $show ) && ( $show !== 'off' );
Changelog
| Since 4.0.0 | Introduced. |
wp_validate_boolean() wp validate boolean code WP 6.9
function wp_validate_boolean( $value ) {
if ( is_bool( $value ) ) {
return $value;
}
if ( is_string( $value ) && 'false' === strtolower( $value ) ) {
return false;
}
return (bool) $value;
}