我在我的wordpress functions.php文件中使用以下代码将nofollow自动添加到特定网址的每个链接中:
function cdx_handel_external_links() {
?>
<script type="text/javascript">
( function( $ ) {
$("a[href^=http]").click(function(){
if(this.href.indexOf(location.hostname) == -1) {
$(this).attr({
target: "_blank"
});
}
})
//Add Nofollow
$("a").each(function(){
if(this.href.indexOf('example-url.com') >0 ){
$(this).attr({
rel: "nofollow"
});
}
});
} )( jQuery );
</script>
<?php
}
add_filter( 'wp_footer', 'cdx_handel_external_links', 999);
但是如何将新的URL添加到该代码中? (我是编码新手,很抱歉)。也许通过:
indexOf('example-url.com','example-url2.com','example-url3.com')
?非常感谢您的帮助!
编辑:
作为一个完全菜鸟,我是通过以下方式完成的,并且对我有用:
function cdx_handel_external_links() {
?>
<script type="text/javascript">
( function( $ ) {
$("a[href^=http]").click(function(){
if(this.href.indexOf(location.hostname) == -1) {
$(this).attr({
target: "_blank"
});
}
})
//Add Nofollow
$("a").each(function(){
if(this.href.indexOf('example-url.com') >0 ){
$(this).attr({
rel: "nofollow"
});
}
});
//Add Nofollow 2.domain
$("a").each(function(){
if(this.href.indexOf('example-url2.com') >0 ){
$(this).attr({
rel: "nofollow"
});
}
});
//Add Nofollow 3.domain
$("a").each(function(){
if(this.href.indexOf('example-url3.com') >0 ){
$(this).attr({
rel: "nofollow"
});
}
});
} )( jQuery );
</script>
<?php
}
add_filter( 'wp_footer', 'cdx_handel_external_links', 999);
答案 0 :(得分:0)
您可以使用Array.prototype.includes():
const urls = ['www.example-url.com', 'www.example-url-1.com', 'www.example-url-2.com'];
$('a').each(function() {
if ( urls.filter(url => url.includes('example-url.com')).length > 0 ) {
$(this).attr({
rel: 'nofollow',
});
}
});
答案 1 :(得分:0)
我们想知道href字符串是否包含一组禁止的子字符串中的一个。
let nonFollow = ['example-url.com','example-url2.com','example-url3.com'];
function isNonFollow(anHref) {
for (i=0; i < nonFollow.length; i++) {
let href = nonFollow[i];
if (anHref.indexOf(href) >0) return true;
});
return false;
}
$("a").each(function(){
if(isNonFollow(this.href)){
$(this).attr({
rel: "nofollow"
});
}
});