The normal Text widget allows you to insert arbitrary Text and/or HTML code. This allows that too, but also parses any PHP code in the text widget and executes it.
This can make it easier to migrate to a widget-based theme. However, this plugin should not be used long term, as anybody with access to edit the widgets on your site will be able to execute arbitrary PHP code.
All PHP code must be enclosed in the standard PHP opening and closing tags (
?> ) for it to be recognised and executed.
Only users with the unfiltered_html role will be allowed to insert unfiltered HTML. This includes PHP code, so users without admin or editor permissions will not be able to use this to execute code, even if they have widget editing permissions.
There’s some kind of error on line 27!
That error means that your PHP code is incorrect or otherwise broken.
But my code is fine!
No, it’s not. Really.
This widget has no real errors in it, it’s about the simplest widget one can possibly make. Any errors coming out of the “execphp.php” file are errors in code you put into one of the widgets. The reason that it shows the error being in the execphp.php file is because that is where your widget’s code is actually being run.
So, if it says that you have an error on line 27, I assure you, the problem is yours. Please don’t email me about that error.
I have code that works normally in a template but doesn’t work when in the widget?
Code in a template runs in the global context. Code in the widget will run in a function context. Make sure that you declare any global variables as global before attempting to use them.
Contributors & Developers
“PHP Code Widget” is open source software. The following people have contributed to this plugin.Contributors
“PHP Code Widget” has been translated into 21 locales. Thank you to the translators for their contributions.
Translate “PHP Code Widget” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
- After much demand, made it stop throwing a warning in PHP 8. Please consider ceasing usage of this widget on modern sites. Switch to block based themes, or use purpose specific plugins to solve your needs instead of storing PHP code in the database.
- Changed the call to WP_Widget to use the PHP 5 __construct() method. Ref: https://make.wordpress.org/core/2015/07/02/deprecating-php4-style-constructors-in-wordpress-4-3/
- Translation fixes for WP 3.7
- Remove donation link
- Fixed broken wpautop filter. Checkbox on widget works now.
- Changed widget to use new Class methods for creating widget. This simplifies the widget and should eliminate any problems with it losing code or disappearing from sidebars and so forth.