Como cancelar a ação do lixo dentro de wp_trash_post

Eu preciso restringir o botão “EMPTY TRASH” e fazer dele excluir apenas as postagens somente se o usuário logado for o criador.

Eu tentei usar o wp_trash_post e eu preciso decidir na function se eu precisar continuar a lixo ou não.

Como eu digo ao WordPress NÃO para esvaziar o lixo de postagens específicas?

Solutions Collecting From Web of "Como cancelar a ação do lixo dentro de wp_trash_post"

É possível utilizar o filtro pre_delete_post para curto-circuito a exclusão de postagens.

 add_filter( 'pre_delete_post', 'wpse_224246_pre_delete_post', 10, 3 ); function wpse_224246_pre_delete_post( $delete, $post, $force_delete ) { //* Escape early if post isn't already trashed if( 'trash' !== $post->post_status ) { return $delete; } //* Go ahead with deleting the post if the current user is the post author if( get_current_user_id() === $post->post_author ) { return $delete; } //* Returning any other value besides null will short circuit the deletion return true; }