parâmetro excluded_categories em next_post_link () comportando-se de forma inesperada

Eu executei alguns cenários em que preciso excluir categorias ao usar a função link () do próximo post . Isso não se comporta como eu esperava quando uma postagem pertence a várias categorias e uma das categorias a que a postagem pertence não é excluída, a postagem ainda aparece. Então, eu criei esta função útil para ser adicionada ao arquivo functions.php do seu tema:

function prev_next_dont_include( $ids ) {
foreach ( get_categories() as $category ) :
if ( !in_array( $category->cat_ID, $ids ) ) :
$categories
[] = $category->cat_ID;
endif
;
endforeach
;
return implode( ' and ', $categories );
}

Então você pode chamar isso em sua visão assim:

previous_post_link( 'Previous Article', false, prev_next_dont_include( array( 11, 12, 15 ) );