这感觉不太好,因为它调用了get\\u comment()和get\\u userdata(),但我不确定有没有更好的方法,因为调用它的代码没有传入我们需要的记录:
function remove_comment_author_link( $return, $author, $comment_ID ) {
$comment = get_comment( $comment_ID );
if ( $comment && $comment->user_id ) {
$user = get_userdata( $comment->user_id );
if ( $user && $user->has_cap( "edit_posts" ) ) {
// This user is contributor or better: show author link
return $return;
}
}
// Subscriber or not a blog user
return $author;
}
和其他函数已经进行了完全相同的查找,因此这些值已经位于此页面加载的wp\\u cache\\u get()中。
我还使用“edit\\u posts”来测试用户是否比订阅者更好:可能也有更好的方法来做到这一点。(我很惊讶我们不需要HTML转义$author,但现有的get\\u author\\u comment\\u link()代码不需要。)