为什么WordPress要过滤这些
因为这是一个很大的安全漏洞。WordPress会在保存时将您的帖子内容清理到标签和属性的白名单中。当显示帖子内容时,其他过滤器(the_content
) 用于将要素转换为其最终标记。E、 通过交换短代码、呈现动态块、获取嵌入的URL并将其交换为嵌入的HTML代码等。
例外情况是在非多站点自行安装中,管理员可能有unfiltered_html
能力。这是一种绕过安全性的非常危险的功能,例如,您可以插入不平衡的标签来破坏您的网站,或者比特币矿工和恶意软件。此外,任何不是管理员的人打开这篇文章并保存后,都会将其全部删除。
我有哪些解决方案/选项?
除了您所做的以外,任何其他API:
自定义短代码过滤模板,自定义块,自定义小部件(甚至自定义HTML小部件),但不是在帖子内容中执行的原始格式HTML和javascript。
最简单的可能是一个短代码,例如。shortcode-plugin.php
:
<?php
/**
* Plugin Name: I\'m a plugin yay
*/
add_shortcode( \'yourshortcode\', function( $atts ) : string {
ob_start();
?>
<form>
....
</form>
<?php
return ob_get_clean();
} );