How to get the comment author name, email and website from his cookies?

I’m sure there are a lot of things where this function could be helpful. As for me I wanted the following: someone posts a comment on the website and when he goes to contact me page, the respond form would be filled with this data automatically

I’ve prepared a function for you which returns the array with all of the comment author data: his name, his email and his website (if specified of course).

You can insert this function to your current WordPress theme functions.php file.

function rudr_get_comment_author_data() {
	if( is_user_logged_in() )
		return false; // return false and exit the function if user is logged in
	$comment_author = array();
	foreach( $_COOKIE as $cookie_key => $cookie_value ) { // loop through all the cookies
		if ( strpos( ' ' . $cookie_key, 'comment_author_email' ) > 0 ) { // is email matches
        		$comment_author['email'] = urldecode( $cookie_value );
        	} elseif ( strpos( ' ' . $cookie_key, 'comment_author_url' ) > 0 ) { // if URL matches
        		$comment_author['url'] = urldecode( $cookie_value );
        	} elseif ( strpos( ' ' . $cookie_key, 'comment_author' ) > 0 ) { // else if author name
       			$comment_author['name'] = urldecode( $cookie_value );
	return $comment_author; // the result array

Some notices:

Let’s look at the exaple with the respond form I was talking before.

	$author = rudr_get_comment_author_data();
<form action="" method="POST">
	<input type="text" name="name" value="<?php if( isset( $author['name'] ) ) echo $author['name'] ?>" />
	<input type="email" name="email" value="<?php if( isset( $author['email'] ) ) echo $author['email'] ?>" />
	<textarea name="msg"></textarea>
	<button>Submit it</button>

The isset() is needed to avoid PHP notices like this Notice: Undefined index:. You can see them if WP_DEBUG=true in wp-config.php and one of the array elements is missing (comment author website for example).

Misha Rudrastyh

Misha Rudrastyh

I develop websites since 2008, so it is total of 13 years of experience, oh my gosh. Most of all I love love love to create websites with WordPress and Gutenberg, some ideas and thoughts I share throughout my blog.

Need some developer help? Contact me