首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Wordpress短码PHP

Wordpress短码PHP
EN

Stack Overflow用户
提问于 2018-07-04 03:14:27
回答 3查看 94关注 0票数 0

我正在尝试用Wordpress创建一个基本的简短代码,它将允许我在页面上运行PHP。这就是我到目前为止所拥有的,但它不起作用。建议?

它的想法是它将是php插入PHP这里/php‘

代码语言:javascript
复制
<?php
function php_shortcode( $attr, $content = null ) {
    return '<?php' . $content . '?>';
}
add_shortcode('php', 'php_shortcode');
?>

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2018-07-04 03:21:18

很抱歉地说,你正在探索一个根本不会成功的概念。呈现短代码的PHP不能“同时”呈现自身的代码。

票数 1
EN

Stack Overflow用户

发布于 2018-07-04 03:50:33

短码作为标准将过滤PHP标签。但是,您可以将php直接写入内容编辑器。不需要告诉你为什么不推荐使用php,你可以像下面这样做,这样你就可以把php写进内容编辑器了:

代码语言:javascript
复制
// write '<?php ... ?>' into the editor 

add_filter('the_content', 'allow_php', 9);

function allow_php($content) {
    if (strpos($content, '<' . '?') !== false) {
        ob_start();
        eval('?' . '>' . $content);
        $content = ob_get_clean();
    }
    return $content;
}
票数 0
EN

Stack Overflow用户

发布于 2018-07-05 11:16:48

经过一段时间的思考后,我意识到有一个显而易见的解决方案。所以,可能有人已经写了一个插件来做这件事,而且有人已经写了- https://wordpress.org/plugins/inline-php/

它由大约40行PHP代码组成。关键的实现技巧是它不是作为一个短代码而是作为一个“the_content”过滤器来完成的。

代码语言:javascript
复制
add_filter('the_content', 'inline_php', 0);

这是在其他'the_content‘过滤器处理之前完成的,避免了我试图将其用作短码时遇到的所有问题。当然,仍然存在重大的安全风险。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51161553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档