您的代码中存在一个根本问题,这表明您在代码中做了一些非常危险的事情。
给定此代码:
$id = 216;
$p = get_page($id);
echo apply_filters(\'the_content\', $p->post_content);
我希望这是从模板文件运行的,但问题是帖子内容包含以下内容:
value="<?php echo $url?>"
这在普通的WordPress中是不可能的,所以您必须使用一个插件,该插件允许您在帖子内容中放置PHP标记。这是你所有问题的根源。因此:
大多数WordPress知识对您来说都是不可用的,因为绝大多数教程都假设您位于模板文件中,所以无法正常工作,大量解决方案根本无法正常工作,使用插件将PHP嵌入到帖子中是极不寻常的,了解这一点非常重要。一个不知道这一点的人会提出一些行不通的建议。
在这种情况下,如果使用允许您在帖子内容中使用PHP的插件,则无法找到您想要的答案。
此外,从安全角度来看,这是非常危险的。But there is a much easier way that uses standard WordPress practices
因此,我认为,只要您坚持使用允许您在帖子中嵌入PHP的插件,就不可能解决您的问题。永远不要使用允许在数据库中存储PHP代码并从数据库中运行它的东西。
短代码
如果需要在帖子/页面中嵌入PHP逻辑,请创建一个短代码。
这样,您的页面可以是这样的:
我的页面!
[kristynas\\u form foo=“bar”]
在插件或主题中functions.php
您可以使用以下内容:
add_shortcode( \'kristynas_form\', function( array $attributes ) {
$foo = $attributes[\'bar\'];
return \'form HTML\';
});
当页面被呈现时,短代码被替换掉。这就是您应该如何实现iframe、forms和其他内联显示的复杂逻辑。