Löschen der angehängten “Kommentarantworten” beim Löschen eines Kommentars

Beim Senden eines Kommentars an die Bin werden die angehängten “Kommentarantworten” nicht gelöscht oder gelöscht.

Wie können Sie WordPress so konfigurieren, dass beim Löschen eines Kommentars die Kommentarantworten automatisch gelöscht werden?

Solutions Collecting From Web of "Löschen der angehängten “Kommentarantworten” beim Löschen eines Kommentars"

Sie können eine Aktion für delete_comment , in der Sie die untergeordneten Kommentare durchlaufen und löschen.

Ich benutze hier zwei verschiedene functionen, eine, die die Kommentare der Kinder ( trash_comment in trash_comment ) und eine, die sie direkt löscht.

Bitte stellen Sie sicher, welche function Sie verwenden, oder wenn Sie beide verwenden möchten. Die sichere Version wäre, die childcomments in den Papierkorb zu verschieben und nicht erst zu löschen – in diesem Fall müssen Sie f711_trash_child_comments auf delete_comment .

Bitte beachten Sie, dass diese function vollständig rekursiv ist. Die Aktionen werden aufgerufen, bevor der Kommentar tatsächlich gelöscht wird. Daher werden die verschachtelten Kommentare in einer Zeitleiste zuerst von der untersten Ebene gelöscht.

 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 } } }