NB: Make sure you do a back up of your theme, files and database before attempting the tutorials
Last modified : Sep 10 2022
Estimated reading time : 0 minutes, 54 seconds - 104 words
Share the post "Adding WordPress PHP Filter inside Widgets"
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