如何在WordPress文本小工具中允许使用PHP

时间:2013-10-31 作者:Nishita Bhardwaj

我想在我的新WordPress网站上添加一个文本小部件,但在文本小部件中有一些PHP代码片段,我发现很难做到这一点。

请帮帮我,伙计们。

2 个回复
SO网友:Zogot

相反,您应该考虑使用短代码。这正是短代码试图解决的问题。

默认情况下,小部件不处理短代码,但这很容易更改。

add_filter( \'widget_text\', \'do_shortcode\' );
这将允许您在小部件文本区域中使用任何短代码。接下来是获取要在短代码中运行的PHP代码。

这可以通过add_shortcode() 作用找到更多详细信息here

add_shortcode( \'shortcode_tag\', \'prefix_shortcode_tag\' );
function prefix_shortcode_tag( $atts ) {
    extract( shortcode_atts( array(
      \'foo\' => \'no foo\',
      \'baz\' => \'default baz\'
    ), $atts ) );

    // your php code here
}
在小部件区域中,现在可以使用[shortcode\\u标记]并运行所需的PHP代码。

SO网友:Josh Karteson

function add_php_text($text) {
 if (strpos($text, \'<\' . \'?\') !== false) {
 ob_start();
 eval(\'?\' . \'>\' . $text);
 $text = ob_get_contents();
 ob_end_clean();
 }
 return $text;
}

add_filter(\'widget_text\', \'add_php_text\', 99);
将此代码添加到函数中。php和所有文本小部件都可以使用php代码,只要它在标记中。

结束

相关推荐

如何编辑index.php中的内容?

我希望起始页可以从模板进行编辑。目前,我只能通过直接编辑HTML来编辑内容。设置:设置;阅读“raquo;“首页显示您的最新帖子”起始页中显示的模板是index.php我希望能够创建一个从页面列表编辑的页面,该页面将显示为起始页。我尝试创建一个名为MyStartPage的新页面。将其模板设置为Startpage(index.php). 我已尝试设置设置”;阅读“raquo;首页显示静态页面MyStartPage我已经确定index.php 有一个循环,可以像在其他模板中一样调用以获取标题和内容。