Html&返回变量中的Php代码

时间:2016-11-18 23:23:58

标签: php woocommerce

是否可以从包含html&组合的php文件返回变量? php代码和短代码,将在woocommerce产品描述中使用和运行?

(我安装了一个允许在wysiwyg编辑器中执行php代码的扩展程序)

到目前为止我的代码是:

function age ($example) {

$x = "<b>Alter:</b> [insert_php]global $product; $dobs = get_the_terms( $product->id, "pa_geburtsdatum"); foreach ($dobs as $dob) { $from = new DateTime($dob->name); $to = new DateTime("today"); echo $from->diff($to)->y; }[/insert_php]";

return $x;
}

更新: 我创建了一个自定义短代码,在幕后进行所有计算,这样更舒适,更安全。在短代码之间我有dob,然后在用特定函数计算它之后给出年龄。

1 个答案:

答案 0 :(得分:0)

您可以使用不安全且极其危险的eval()函数来获取短代码的值并将其作为PHP运行。这将运行您作为PHP传递给它的任何内容,所以:

eval('global $product; $dobs = get_the_terms( $product->id, "pa_geburtsdatum"); foreach ($dobs as $dob) { $from = new DateTime($dob->name); $to = new DateTime("today"); echo $from->diff($to)->y; }');

会生成您正在寻找的输出。 [pontification]但是,我强调,这对于一个前瞻性网站来说这将是一个糟糕的想法。[/ pontification]如果是我(并且不是,对于他们自己),我会制作一个短代码您想要使用的参数并在幕后处理它们。