Some HTML elements accept valueless attributes such as <input disabled />
or <video autoplay />
How do I handle this case with shortcodes where I want to disable autoplay by default (= omit the attribute at all) but enable it optionally.
Possible scenarios:
// [video]
<video>
// [video autoplay]
<video autoplay="autoplay"> // using XML syntax
// [video autoplay="autoplay"]
<video autoplay="autoplay">
// [video autoplay="false"]
<video autoplay="false"> // value doesn't matter - video will still auto play
The standard way of doing this doesn't help me as I don't want to have a default value:
// http://codex.wordpress.org/Shortcode_API#Attributes
function my_shortcode_handler( $atts, $content = null ) {
extract( shortcode_atts( array(
'attr_1' => 'attribute 1 default',
'attr_2' => 'attribute 2 default',
// ...etc
), $atts ) );
}
I can definitely find my own hack around this problem but I am interested if there is a pretty way to do this.