Aller au contenu
FR

Adding WordPress PHP Filter inside Widgets

Version audio de cet article

With this tutorial, we will set up a function that will enable you to display PHP content in widgets. It is not a common practice, but it can come in handy. Our function runs the PHP inside the widget.

This is a widget_text filter.

//////////////////////// filter php pour widget WordPress HTML //////////////////////////////////////////////////////////////////////////// 
add_filter('widget_text','via_execute_php',100); 
function via_execute_php($html){ 
if(strpos($html,"<"."?php")!==false){ 
ob_start(); 
eval("?".">".$html); 
    $html=ob_get_contents(); ob_end_clean(); 
} 
return $html; 
}

The ob_start() triggers the process. As long as it’s executed, headers aside, nothing is sent to the browser, but it is temporarily cached.

The cached content can be copy/pasted with the ob_get_contents() function. In order to display the content, use the ob_end_flush() function where as ob_end_clean() will delete the content.

Learn more about the Widget Text filter