Я считаю, что вы хотите использовать ||(ИЛИ) вместо && (AND) в вашем операторе if.Ваш $ href никогда не будет соответствовать ВСЕМ условиям, поэтому использование AND никогда не вернет true.С помощью ИЛИ вы указываете ему установить $ nofollow = '', если ЛЮБОЙ из этих URL-адресов найден.
add_filter( 'custom_bbpress_nofollow', 'my_custom_bbpress_nofollow', 15, 2 );
function my_custom_bbpress_nofollow( $nofollow, $href ) {
if ( strpos( $href, 'https://www.examplelink1.com' ) === false || strpos( $href, 'https://www.examplelink2.com' ) === false || strpos( $href, 'https://www.examplelink3.com' ) === false || strpos( $href, 'https://examplelink4.to' ) === false) {
$nofollow = '';
}
return $nofollow;
}
Редактировать: На самом деле, я не слишком уверен, что вы пытаетесь сделать.Ваши 2 примера имеют противоположный код, что сбивает с толку.Если вы хотите вернуть 'rel = "nofollow", если href равен ЛЮБОМ из 5 URL, попробуйте следующее:
add_filter( 'custom_bbpress_nofollow', 'my_custom_bbpress_nofollow', 15, 2 );
function my_custom_bbpress_nofollow( $nofollow, $href ) {
$nofollow = '';
if ( strpos( $href, 'http://your-domain.here' ) !== false ||
strpos( $href, 'https://www.examplelink1.com' ) !== false ||
strpos( $href, 'https://www.examplelink2.com' ) !== false ||
strpos( $href, 'https://www.examplelink3.com' ) !== false ||
strpos( $href, 'https://www.examplelink4.com' ) !== false
) {
$nofollow = 'rel="dofollow"';
}
return $nofollow;
}
Вы также должны определить $ nofollow в начале функции, иначе ничто не можетвозвращается, если условие не соответствует.