WordPress中去掉多余的rel

网站APP, 转自点点 13 年前 回复

, , ,

啥是rel, 这对于大多数同学而言可能并不熟悉. rel即是"relationship"的缩写, 中文就是"关系", 它通常用于a标签或link标签, 它所代表的意义便是声明a或link中的href指向内容相对于当前文档的关系. 比如常用的rel="external"便是声明相对于当前文档此href是链接到外部的. 换个通俗的说法便是, rel的值便是该链接的类型.
更多关于rel的资讯请进入w3schools.

然而遗憾的是, WordPress目前好似尚未注意到此问题, 甚至未来的3.2版亦是如此(我已测试过). 也许是因为这本身就无伤大雅, 又抑或是基于HTML5架构的网站过于稀缺. 但这并不妨碍我的洁癖习惯作祟... 于是, 便有了以下代码-_-

<?php
foreach(array(
'rsd_link',//rel="EditURI"
'index_rel_link',//rel="index"
'start_post_rel_link',//rel="start"
'wlwmanifest_link'//rel="wlwmanifest"
) as $xx)
remove_action('wp_head',$xx);//X掉以上
//rel="category"或rel="category tag", 这个最巨量
function the_category_filter($thelist){
return preg_replace('/rel=".*?"/','rel="tag"',$thelist);
}
add_filter('the_category','the_category_filter');
?>

以上全部扔入functions.php即可.
然后, 记得把head标签的profile属性去掉(W3C已声明此属性已过时), 再尝试HTML5校验, 如果还有报错, 自行修改主题相关内容吧.
转自http://phoetry.me/archives/let-wordpress-pass-html5-validation.html

支付宝打赏微信打赏

如果此文对你有帮助,欢迎打赏作者。

发表评论

欢迎回来 (打开)

(必填)