Wordpress在一个新选项卡中打开的所有链接中都添加了"noreferrer“。这开始于古腾堡之前,并提供了一个TinyMCE过滤器来修复它。这不再适用于古腾堡了。他们也有一个新的wp_targeted_link_rel过滤器,只适用于经典编辑器。
我手动删除了它从我的所有链接和一切都是好的在WP 5.0。在更新到WP 5.1后,它被添加回我的所有链接更新后的帖子。这是一场噩梦。
删除它的原因与跟踪从属网络的起始域有关。即使是那些使用联盟ID作为URL参数的用户,也仍然要求引用者是经过批准的域。
有人找到办法阻止古腾堡的事了吗?
发布于 2019-03-13 05:46:08
仅对于其他看到这篇文章的人(我相信您已经知道了),noreferrer是作为IE和Edge浏览器以及其他一些不支持在新选项卡中打开的链接的rel="noopener“安全修复的安全修补程序添加的。
要删除noreferrer,它仍然是一个preg_replace。我将其添加到functions.php (首先备份)。
//This code removes noreferrer from your new or updated posts
add_filter( 'wp_targeted_link_rel', 'my_targeted_link_rel_remove_noreferrer');
function my_targeted_link_rel_remove_noreferrer( $rel_values ) {
return preg_replace( '/noreferrer\s*/i', '', $rel_values );
}第一次测试时,我不得不为筛选器调用(下面的代码)添加一个优先级,以使其工作,不确定"999“是否真的必要,但现在当我测试它时,它似乎没有它就能工作。
//This code removes noreferrer from your new or updated posts
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( '/noreferrer\s*/i', '', $rel_values );
}这是链接到完整的帖子。https://wpbloggerassist.com/remove-noreferrer-in-gutenberg-from-the-latest-wordpress-update/
编辑补充说,我在这里找到了另一段代码:
// from:https://tinygod.pt/gutenberg-adds-noopener-noreferrer-to-links/函数my_links_control( $rel,$link ){返回false;} add_filter(‘wp_my_links_control_link_rel’,'my_links_control',10,2 );
注意:这不删除现有的不引用链接,您仍然需要转到帖子,删除" noreferrer“文本和更新。
这第三个代码不会自动添加任何rel属性。因此,您需要确保手动添加rel="noopener“。
https://wordpress.stackexchange.com/questions/331488
复制相似问题