0

我想使用PHP Code Widget在 WordPress Elementor模板中执行一些 PHP 代码。只要我登录,一切正常。

如果我注销,则不会执行代码,并且“=>”之后的所有内容都显示为纯文本。

所以例如代码

<?php
    echo 'before';
    $someArray = ['foo' => 'bar'];
    echo 'after';
?>
<b>some HTML</b>

将产生以下字符串:

 'bar']; echo 'after'; ?>

之后的 HTML 很好。

如果我将相同的代码放在 Elementor 之外的另一个小部件中(例如主题的页脚),一切也都可以正常工作。

我是这个单一 WordPress 安装的管理员。

有谁知道如何阻止这种行为?

4

3 回答 3

0

最好的方法是在主题 functions.php 文件中创建一个简码,在您的简码函数中添加 PHP,然后将包含您的简码的简码小部件添加到 Elementor 页面。

参考:https ://wpcodeus.com/how-to-add-php-code-to-elementor/

于 2020-08-27T13:29:20.620 回答
0

只有具有 unfiltered_html 角色的用户才能插入未经过滤的 HTML。这包括 PHP 代码,因此没有管理员或编辑权限的用户将无法使用它来执行代码,即使他们具有小部件编辑权限。

采取形式https://wordpress.org/plugins/php-code-widget/

于 2018-09-11T01:45:59.427 回答
0

我可以重现这个问题。

解决此问题的一种方法:使用 Elementor HTML小部件,其中包含一个iframe,并将 PHP 代码写入 src 文件中作为一个完整的 HTML 页面。

于 2019-01-01T19:31:32.100 回答