WordPress 5.*禁止编辑器自动添加noopener noreferrer

WordPress 5.*禁止编辑器自动添加noopener noreferrer
因为本站使用了go跳转链接,为安全方面考虑需添加referrer判断合法来源,$_SERVER['HTTP_REFERER']一直取不到值,原因是因为所以链接编辑器自动添加了“noopener noreferrer”属性,应该是WordPress 5.1 版本之后强制为每一个外部链接添加“noopener noreferrer”属性。为禁止编辑器自动为外部链接添加“noopener noreferrer”属性可以使用以下方法添加到当前主题的functions.php文件中:

方法 1:禁止自动添加 noopener noreferrer

//新建或更新文章时移除 noreferrer
add_filter( 'wp_targeted_link_rel', 'my_targeted_link_rel_remove_noreferrer',999); 
function my_targeted_link_rel_remove_noreferrer( $rel_values ) { 
return preg_replace( '/noreferrers*/i', '', $rel_values ); 
} 

//新建或更新文章时移除 noopener
add_filter( 'wp_targeted_link_rel', 'my_targeted_link_rel_remove_noopener',999); 
function my_targeted_link_rel_remove_noopener( $rel_values ) { 
return preg_replace( '/noopeners*/i', '', $rel_values ); 
}

方法 2:禁止自动添加 noopener noreferrer

//仅移除前端 noreferrer,编辑器中依然存在
add_filter('the_content', 'my_formatter', 999);
function my_formatter($content) {
$replace = array(" noreferrer" => "" );
$new_content = strtr($content, $replace);
return $new_content;
}

//仅移除前端 noopener,编辑器中依然存在
add_filter('the_content', 'noopener_formatter', 999);
function noopener_formatter($content) {
$replace = array("noopener" => "" );
$new_content = strtr($content, $replace);
return $new_content;
}

以前添加的rel=”noopener noreferrer”属性怎么去除?

登录phpmyadmin执行sql语句:

UPDATE wp_posts SET post_content = REPLACE( post_content, 'noopener noreferrer', '' )

特别提醒:执行前切记备份数据库!!!

© 版权声明
1:本网站名称:源码库
2:本站永久网址:www.ymkuz.com
3:本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
4:分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
5:本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
6:本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7:如有链接无法下载、失效或广告,请联系管理员处理!
8:文章投稿-投诉建议E-mail:yunduanw@qq.com 站长QQ:99767152
THE END
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容