如何过滤评论操作链接,以便根据用户功能显示操作链接?

时间:2021-07-07 作者:Fabian Amran

How can I filte

我指的是上面的行动链接。是否有一个过滤器或挂钩可用于根据用户角色和上限显示这些链接?

1 个回复
SO网友:Sally CJ

是的,有一个钩子可以用来过滤操作链接:comment_row_actions. 例如。

add_filter( \'comment_row_actions\', \'my_comment_row_actions\', 10, 2 );
function my_comment_row_actions( $actions, $comment ) {
    // Filter the actions by user role.
    $roles = (array) wp_get_current_user()->roles;
    if ( in_array( \'administrator\', $roles ) ) {
        $actions[\'foo\'] = \'<a href="#">Foo action</a>\';
    }

    // Filter the actions by user caps.
    if ( ! current_user_can( \'custom_cap\' ) ) {
        unset( $actions[\'approve\'] );
    }

    return $actions;
}
但是上面的钩子只允许您过滤操作links, i、 e.动作数组中的项($actions). 要实际允许/禁止用户执行实际操作(批准或取消批准评论、将其标记为垃圾邮件、删除评论等),您需要不同的挂钩或方法,具体取决于您希望删除/禁用的操作。