Fix PHP Notice and remove extract() function

Remove extract() function for shortcode attributes as is recommended for plugins and themes and has been adopted by WordPress core (see https://core.trac.wordpress.org/ticket/22400).
Fix PHP Notice: undefined variable $title on several lines