WordPress - 在主题选项面板中执行PHP

Zac*_*ous 2 php wordpress wordpress-theming

我为客户创建了一个主题选项面板,但是他们希望能够在textareas中输入PHP代码并在前端执行它.

但是,当他们输入代码时,它在前端无法正常显示,请参阅以下两个屏幕截图:

http://i.imgur.com/alOAD.png

http://i.imgur.com/pYhW0.png

看起来代码在前端显示时被剥离.它使用以下代码显示:

    <?php global $options;
foreach ($options as $value) {
    if (get_settings( $value['id'] ) === FALSE) { $$value['id'] = $value['std']; } else { $$value['id'] = get_settings( $value['id'] ); }
}
?>

<?php echo $ag_footer_top; ?>
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它正常工作?可能吗?

如果我在主题选项中输入以下内容:

<?php wp_nav_menu( array( 'theme_location' => 'first','fallback_cb'=> ” ) ); ?>
Run Code Online (Sandbox Code Playgroud)

它被保存到数据库中:

<?php wp_nav_menu( array( \'theme_location\' => \'first\',\'fallback_cb\'=> ” ) ); ?>
Run Code Online (Sandbox Code Playgroud)

它在前端显示为:

\'first\',\'fallback_cb\'=&gt; ” ) ); ?&gt;
Run Code Online (Sandbox Code Playgroud)

Bla*_*bam 5

首先,您必须使用以下内容阻止WordPress向您的内容添加斜杠:

update_option('my_option',stripslashes($_POST['my_option']));
Run Code Online (Sandbox Code Playgroud)

另一件事是你希望你的代码被执行......好吧我不知道怎么做到这一点,但是很多插件提供了这个功能,比如

Linkable Title Html和Php Widget

你应该下载插件并弄清楚它是如何工作的.

只需从数据库中获取该字段的内容,并尝试以某种方式解析它.