no content after shortcode
You forgot the closing </audio> tag at the end. function html5_audio($atts, $content = null) { extract(shortcode_atts(array( “src” => ”, “preload”=> ‘none’, “loop” => ” ), $atts)); return ‘<audio src=”‘.$src.'” preload=”‘.$preload.'” loop=”‘.$loop.'” /></audio>’; } add_shortcode(‘audio’, ‘html5_audio’);