0Comment bubbleEasily set the parent of a WordPress comment

As is documented in the site update log, for a while we had a problem with our theme where it wasn’t possible to reply to a comment so that the reply would appear correctly in a threaded way.  We have no fixed this problem, but have been left with a significant number of comments which really need editing so it is easier to see what they are in reply to.  With a standard wordpress install this requires going into the database and editing there, which is very tedious.  Instead, we’ve used some simple functions to add an option to the comment-edit admin page, to set the comment parent there.  Eventually this will be developed into a proper plugin to enable this functionality.  For now the code is below, just add it to your theme’s functions.php

function comment_parent_meta_box()
{
add_meta_box( 'comment_parent', __( 'Parent ID' ), 'comment_parent_cb', 'comment', 'normal', 'high' );
}
add_action( 'add_meta_boxes_comment', 'comment_parent_meta_box' );

function comment_parent_cb( $comment )
{
    $parent = get_comment_meta( $comment->comment_ID, 'comment_parent', true );
    wp_nonce_field( 'parent_comment_update', 'parent_comment_update', false );
    ?>
    
    < ?php
}

function comment_parent_edit( $comment_id )
{
    if( ! isset( $_POST['parent_comment_update'] ) || ! wp_verify_nonce( $_POST['parent_comment_update'], 'parent_comment_update' ) ) return;
    if( isset( $_POST['comment_parent'] ) )
        update_comment_meta( $comment_id, 'comment_parent', esc_attr( $_POST['comment_parent'] ) );
}
add_action( 'edit_comment', 'comment_parent_edit' );

Got some thoughts of your own? Indulge yourself below by commenting! If you would like to subscribe please use the subscribe link on the menu at the top right. You can also share this with your friends by using the social links below. Cheers.

Leave a Reply