不知道何时开始 WordPress 在撰写新文章添加链接是,新窗口链接中自动添加 rel="noopener"的属性,子凡通过了解才发现 noopener noreferrer 属性并不是新发布的标准,而是在 WordPress 4.7.4 版开始的编辑器默认都会添加该属性,主要就是用来防范新窗口打开链接时可能存在的钓鱼攻击, 因此 WordPress 是作为安全性内容自动添加的。

rel noopener on WordPress

当然就子凡感觉而言这似乎并没有太大的用处,或者说就真的能防范攻击,所以子凡还是喜欢把所有东西都尽可能做到极致的程度,所以我并不希望 WordPRess 自动添加 noopener 或 noreferrer。那么可以使用下面子凡提供的代码来解决这个问题:

1
2
3
4
5
6
//WordPress 移除链接中的 rel="noopener" 属性
add_filter('tiny_mce_before_init','tinymce_allow_unsafe_link_target');
function tinymce_allow_unsafe_link_target( $mceInit ) {
	$mceInit['allow_unsafe_link_target']=true;
	return $mceInit;
}

依然是老方法,将以上代码添加到当前的 WordPress 主题 functions.php 文件中即可。

最后值得说明的就是,添加这段代码后新发布文章时,新窗口打开的链接将不会再自动添加 noopener noreferrer 属性。但是之前发布的文章并不会自动去除的,如果你是一个和子凡一样力求极致的人,那么可以使用 sql 语句来替换文章内容字段中的这个属性的。

发表评论
登录后参与评论
专注 WordPress 网站优化解决方案! 加入我们