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