Excluindo as “respostas de comentário” anexadas ao esconder um comentário

Ao enviar um comentário para o compartimento, as “respostas de comentário” anexadas não são destruídas ou excluídas.

Como você pode configurar o wordpress para que, quando você esconde um comentário, as respostas do comentário sejam excluídas automaticamente?

Solutions Collecting From Web of "Excluindo as “respostas de comentário” anexadas ao esconder um comentário"

Você pode criar uma ação para delete_comment , onde você faz o loop dos childcomments e exclua-os.

Eu uso duas funções diferentes aqui, uma que armazena as crianças (enganchado em trash_comment ) e uma que as exclui diretamente.

Certifique-se de qual function você usa, ou se você deseja usar os dois. A versão segura seria mover as crianças para o lixo, não as excluir em primeiro lugar – neste caso, você deve ligar f711_trash_child_comments para delete_comment .

Esteja ciente de que esta function é totalmente recursiva. As ações são chamadas antes que o comentário seja realmente excluído, então, em uma linha de tempo, os comentários nesteds são excluídos primeiro, do nível inferior.

 add_action( 'delete_comment', 'f711_delete_child_comments' ); // complete deletion add_action( 'trash_comment', 'f711_trash_child_comments' ); // move to trash function f711_delete_child_comments( $comment_id ) { global $wpdb; $children = $wpdb->get_col( $wpdb->prepare("SELECT comment_ID FROM $wpdb->comments WHERE comment_parent = %d", $comment_id) ); //select the comments where the parentcomment is the comment to be deleted if ( !empty($children) ) { foreach( $children as $thischild => $childid ) { wp_delete_comment( $childid, true ); // set second parameter to false if you just want to move it to the trash } } } function f711_trash_child_comments( $comment_id ) { global $wpdb; $children = $wpdb->get_col( $wpdb->prepare("SELECT comment_ID FROM $wpdb->comments WHERE comment_parent = %d", $comment_id) ); //select the comments where the parentcomment is the comment to be deleted if ( !empty($children) ) { foreach( $children as $thischild => $childid ) { wp_trash_comment( $childid ); // set second parameter to false if you just want to move it to the trash } } }