Após um breve teste, o snippet de código do OP parece funcionar:
printf(
'<a href="%s">%s</a>',
wp_nonce_url(
admin_url( "comment.php?c=$comment_id&action=deletecomment" ),
'delete-comment_' . $comment_id
),
esc_html__( 'Delete comment', 'text-domain' )
);
Mas parece que temos que ter certeza de que o autor está apenas excluindo os comentários em sua própria postagem , caso contrário, ele procurará os edit_others_posts
e% co_de Recursos em% primitivos .
O recurso edit_published_posts
não é primitivo , então temos que olhar para o edit_comment
função para ver quais recursos primitivos dependem. Lá, podemos ver que map_meta_cap()
é um recurso meta que usa:
$caps = map_meta_cap( 'edit_post', $user_id, $post->ID );
para comentários não órfãos. Então, temos que olhar para a parte em que a capacidade meta edit_comment
mapeia para outros recursos primitivos . Existem poucos mapeamentos possíveis, por ex. para os recursos edit_post
e edit_others_posts
primitivos .
Jean Galea escreveu um ótimo artigo sobre funções e recursos, onde diz:
- Capacidades primitivas são atribuídas a funções de usuário.
- Meta capacidades nunca devem ser atribuídas a uma função.