正在寻找删除 Layer Slider 元生成器的解决方案,在我查看的少数几个网站上都没有找到太多帮助,它们都共享相同的信息,这些信息仅适用于WordPress生成器或WooCommerce等流行插件。
这里的问题是每个插件都有自己的钩子名称和命名约定,因此几乎不可能全部了解或了解它们。我认为最简单的方法是纯 PHP 和preg_replace
.
已在WordPress 4.7.2中测试的工作代码。在您的主题的functions.php 中放入此代码,它应该可以工作。
//Remove All Meta Generators
ini_set('output_buffering', 'on'); // turns on output_buffering
function remove_meta_generators($html) {
$pattern = '/<meta name(.*)=(.*)"generator"(.*)>/i';
$html = preg_replace($pattern, '', $html);
return $html;
}
function clean_meta_generators($html) {
ob_start('remove_meta_generators');
}
add_action('get_header', 'clean_meta_generators', 100);
add_action('wp_footer', function(){ ob_end_flush(); }, 100);
我正在使用正则表达式来捕获meta
标签。它涵盖了他们是否在等号之间放置空格。用于ob_start
覆盖整个文档。因此,我们将preg_replace
页眉的开头一直添加到页脚。查看PHP 手册ob_start
中的工作原理,也有时间WordPress codex确实声明它应该使用。ob_start
如果您觉得这很有用,请竖起大拇指,以便下一个寻找的人可以找到涵盖所有元生成器的有效解决方案。我觉得这些插件和平台开发人员将元生成器版本号放入代码中是不安全的。尤其是在不断发现不断演变的漏洞的情况下。
Ive 还在WordPress 存储库中添加了一个插件,可以执行此操作。
删除元生成器