在WP4.4中如何在没有插件的情况下在Text Widget中运行PHP代码

时间:2016-01-23 作者:IVO

在函数中包含以下代码之前。php

add_filter(\'widget_text\',\'execute_php\',100);
function execute_php($html){
     if(strpos($html,"<"."?php")!==false){
          ob_start();
          eval("?".">".$html);
          $html=ob_get_contents();
          ob_end_clean();
     }
     return $html;
}
然后我将WP更新为4.4.1版,现在它不再工作了。还有其他解决方案吗?

2 个回复
最合适的回答,由SO网友:Otto 整理而成

最好编写自己的小部件,而不是像这样做,它可以精确地满足您的需要。

但是,如果您确实想在小部件中执行任意PHP,请使用专门为该任务设计的插件:https://wordpress.org/plugins/php-code-widget/

我专门维护这个插件,这样人们就不会求助于做你帖子中的事情。PHP代码小部件基本上是文本小部件的副本,但它也运行PHP代码。

然而,PHP代码小部件是个坏主意™ 应该避免。使用静态代码创建自定义小部件。

SO网友:Basil Shikila Lyayuka

我也遇到过同样的问题,我注意到,从专业角度来看,不建议使用插件或函数。php用于在小部件中执行php,这就是为什么像现在这样的功能。php技术不起作用。

建议您构建自己的小部件,这就是我要做的。