En los códigos cortos de WordPress, ¿cómo puedo pasar atributos booleanos?
Ambos [shortcode boolean_attribute="true"]o [shortcode boolean_attribute=true]están dando valores de cadena.
EDITAR
No habría ningún problema para los usuarios que saben lo que están haciendo si uso el truco que fue comentado por @brasofilo. Pero algunos usuarios se perderán si otorgan un falsevalor de atributo y reciben truevalor. Entonces, ¿hay alguna otra solución?
shortcode
customization
Sodbileg Gansukh
fuente
fuente

false, de lo contrariotrue.Respuestas:
Es fácil de usar
0y1valora y luego encasilla dentro de la función:[shortcode boolean_attribute='1']o[shortcode boolean_attribute='0']pero si lo desea, también puede verificarlo estrictamente
'false'y asignarlo a booleano, de esta manera también puede usar:[shortcode boolean_attribute='false']o[shortcode boolean_attribute='true']Luego:
fuente
extract(). :)'true'y'false'Como extensión de la respuesta @GM (que es la única forma posible de hacer esto), aquí hay una versión ligeramente acortada / embellecida y una versión extendida (que personalmente prefiero):
Variante acortada / embellecida
Es suficiente hacer una
booleanverificación del valor contenido. Si es asítrue, el resultado será(bool) true, de lo contrario será falso. Esto produce un caso únicotrue, todo lo demásfalseresulta.Variante extendida / segura para el usuario
La razón por la que prefiero esta versión es que permite al usuario escribir
on/yes/1como un alias paratrue. Esto reduce la posibilidad de errores del usuario cuando el usuario no recuerda cuál era el valor realtrue.Notas adicionales:
1) Pase siempre el tercer argumento para
shortcode_atts(). De lo contrario, el filtro de atributos de código corto es imposible de identificar.2) Nunca lo use
extract(). Incluso el núcleo quiere reducir esas llamadas. Es igualmente peor para lasglobalvariables, ya que los IDE no tienen la oportunidad de resolver el contenido extraído y arrojarán mensajes de falla.fuente
wp_validate_boolean()La función en WordPress 4.0.0 o superior es útil para validar valores booleanos. Referencia de funciones developer.wordpress.org/reference/functions/wp_validate_booleanfilter_var( $var, FILTER_VALIDATE_BOOLEAN ).lo que incluso el docblock de esta función en sí dice.Aquí una versión simple más corta, basada en la respuesta de gmazzap:
Use '1' o '0', luego eche un doble golpe "!!" que cambia un valor de "veracidad / falsey" a su equivalente booleano
tenga en cuenta que esto NO funcionará con cadenas "verdaderas" y "falsas", solo "1" y "0"
fuente