wordpress无插件实现给链接添加nofollow属性的方法

//给标签云里的链接加上 rel="nofollow"
add_filter('wp_tag_cloud', 'cis_nofollow_tag_cloud'); 
function cis_nofollow_tag_cloud($text) { 
return str_replace('
//给 wp_list_categories() 生成的链接加上 rel="nofollow" 
add_filter( 'wp_list_categories', 'cis_nofollow_wp_list_categories' ); 
function cis_nofollow_wp_list_categories( $text ) { 
$text = stripslashes($text); 
$text = preg_replace_callback('||i', 'wp_rel_nofollow_callback', $text); 
return $text; 
} 
//给 the_category() 生成的链接加上 rel="nofollow" 
add_filter( 'the_category', 'cis_nofollow_the_category' ); 
function cis_nofollow_the_category( $text ) { 
$text = str_replace('rel="category tag"', "", $text); 
$text = cis_nofollow_wp_list_categories($text); 
return $text; 
}
//给 the_author_post_link 生成的链接加上 rel="nofollow" 
add_filter('the_author_posts_link', 'cis_nofollow_the_author_posts_link'); 
function cis_nofollow_the_author_posts_link ($link) {
return str_replace('
//给 comments_popup_link_attributes() 生成的链接加上 rel="nofollow" 
add_filter('comments_popup_link_attributes', 'cis_nofollow_comments_popup_link_attributes'); 
function cis_nofollow_comments_popup_link_attributes () {
 echo ' rel="nofollow"'; 
}
//给外部链接添加nofollow属性 
add_filter('the_content','web589_the_content_nofollow',999); 
function web589_the_content_nofollow($content){ 
preg_match_all('/href="(.*?)" rel="external nofollow" /',$content,$matches); 
if($matches){ 
foreach($matches[1] as $val){ 
if( strpos($val,home_url())===false ) $content=str_replace("href=\"$val\"", "href=\"$val\" rel=\"external nofollow\" ",$content); 
} 
} 
return $content; 
}

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏
分享
评论 抢沙发

请登录后发表评论