Getting PHP Working in Widgets
By default any PHP code won’t execute in WordPress widgets or sidebars, you can probably get by with a plugin but you can also add a function in your themes function.php file to allow PHP to run, what you need to declare is a custom function and filter.
//Allow PHP to run in Widgets add_filter('widget_text','execute_php_widgets',10); function execute_php_widgets($html){ if(strpos($html,"<"."?php")!==false){ ob_start(); eval("?".">".$html); $html=ob_get_contents(); ob_end_clean(); } return $html; }
If you add the above in your theme or child theme – PHP is now enabled and will work in widget areas.
Getting ShortCode Working in Widgets
You also can’t get shortcode to work in widget areas by default, however a filter can be added to the functions.php file to make that work
// Use shortcodes in text widgets. add_filter('widget_text', 'do_shortcode');
Getting ShortCode Working in PHP Templates
You can get shortcode working in WordPress php templates like so:
// Use shortcode in a native PHP file <?php echo do_shortcode('http:myvideo.com'); ?>
If the code is to be inserted inbetween HTML make sure you keep the PHP opening and closing tags as above.