Para problemas de auditoria, quero apenas que uma postagem possa ser lixeira, mas não excluída - para todos os usuários.
Então, eu tenho um plugin como
add_action('before_delete_post', function($id) {
wp_die(0);
});
Mas parece que nem todas as ações de exclusão são ajax; portanto, será exibida uma tela preta com uma página de erro com o resultado "0"
Em termos de recursos, o código acima está ok, mas existe alguma maneira melhor?
Eu usaria o gancho
before_delete_post
como a última camada de proteção contra exclusão (usando a solução do @ tf e qual é a resposta correta).E primeiro remova as opções "Excluir" da vista. A seguir, oculta o botão Ações em massa e o botão Esvaziar lixo , e remove a ação da linha Excluir permanentemente .
Com este código:
Este é o resultado:
Nota de interesse
Não há gancho
cpt_row_actions
. Os ganchospage_row_actions
epost_row_actions
são aplicados se o tipo de postagem for hierárquico ou não , respectivamente.fonte