0

Redirect first comment (Thanks for comment) with show Author name and beginning of the comment

Sample:

Open custom page (Why custom page? There will be some more information) with text comment

Hi, Anderson. Thanks for your comment « Text comment... »
...
...
some more information

Sorry for my English

1

You should be able to do something like this:

add_filter( 'comment_post_redirect', 'custom_comments_redirect', 10, 2 );
function custom_comments_redirect( $location, $comment ) {
    $comment_id = $comment->comment_ID;
    
    $custom_url = 'https://example.com/thank-you/?comment=' . $comment_id;
    
    return $custom_url;
}

And on the "Thank you" page, you can get the comment info like this:

// Make sure you sanitize the GET input
$comment_id = (int) filter_input( INPUT_GET, 'comment', FILTER_SANITIZE_NUMBER_INT );

if ( ! empty( $comment_id ) ) {
    // Fetch comment if the ID is not 0
    $comment = get_comment( $comment_id );
    
    if ( ! empty( $comment ) ) {
        $comment_author = $comment->comment_author;
        $comment_content = get_comment_excerpt( $comment_id );
        
        echo sprintf( __( 'Hi %s. Thank you for your comment "%s"...' ), $comment_author, $comment_content );
        
        // Do your thing here...
    }
}

The default length of the comment excerpt is 20 words, but you can tweak that with a filter as well:

// Set the comments excerpt length (number of words)
add_filter( 'comment_excerpt_length', 'custom_comments_excerpt_length' );
function custom_comments_excerpt_length() {
    return 8;
}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.