Gostaria de saber se você está falando desse tipo de abordagem:
add_filter( 'init', function()
{
$u = wp_get_current_user();
if( $u->exists() && in_array( 'banned', $u->roles, true ) )
add_filter( 'comments_open', '__return_false' );
} );
onde verificamos se o usuário atual tem a função banida personalizada.
Se for esse o caso, forçamos todos os comentários a serem fechados por meio do filtro comments_open
.
Isso significa que esse usuário não poderá ver o formulário de comentários nem postar um comentário diretamente em wp-comments-post.php
, devido às verificações de comments_open()
.