mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-04-01 03:04:34 +00:00
Add a checkbox to the comment form so logged out users can opt-out of commenter cookies.
Props lakenh, xkon, birgire, azaozz. See #43436. git-svn-id: https://develop.svn.wordpress.org/trunk@42772 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -542,14 +542,26 @@ function wp_queue_comments_for_comment_meta_lazyload( $comments ) {
|
||||
*
|
||||
* @param WP_Comment $comment Comment object.
|
||||
* @param object $user Comment author's object.
|
||||
* @param boolean $cookies_consent Optional. Comment author's consent to store cookies. Default true.
|
||||
*
|
||||
* @since 3.4.0
|
||||
*/
|
||||
function wp_set_comment_cookies( $comment, $user ) {
|
||||
function wp_set_comment_cookies( $comment, $user, $cookies_consent = true ) {
|
||||
// If the user already exists, or the user opted out of cookies, don't set cookies.
|
||||
if ( $user->exists() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( false === $cookies_consent ) {
|
||||
// Remove any existing cookies.
|
||||
$past = time() - YEAR_IN_SECONDS;
|
||||
setcookie( 'comment_author_' . COOKIEHASH, ' ', $past, COOKIEPATH, COOKIE_DOMAIN );
|
||||
setcookie( 'comment_author_email_' . COOKIEHASH, ' ', $past, COOKIEPATH, COOKIE_DOMAIN );
|
||||
setcookie( 'comment_author_url_' . COOKIEHASH, ' ', $past, COOKIEPATH, COOKIE_DOMAIN );
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Filters the lifetime of the comment cookie in seconds.
|
||||
*
|
||||
@@ -557,11 +569,11 @@ function wp_set_comment_cookies( $comment, $user ) {
|
||||
*
|
||||
* @param int $seconds Comment cookie lifetime. Default 30000000.
|
||||
*/
|
||||
$comment_cookie_lifetime = apply_filters( 'comment_cookie_lifetime', 30000000 );
|
||||
$comment_cookie_lifetime = time() + apply_filters( 'comment_cookie_lifetime', 30000000 );
|
||||
$secure = ( 'https' === parse_url( home_url(), PHP_URL_SCHEME ) );
|
||||
setcookie( 'comment_author_' . COOKIEHASH, $comment->comment_author, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN, $secure );
|
||||
setcookie( 'comment_author_email_' . COOKIEHASH, $comment->comment_author_email, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN, $secure );
|
||||
setcookie( 'comment_author_url_' . COOKIEHASH, esc_url( $comment->comment_author_url ), time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN, $secure );
|
||||
setcookie( 'comment_author_' . COOKIEHASH, $comment->comment_author, $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN, $secure );
|
||||
setcookie( 'comment_author_email_' . COOKIEHASH, $comment->comment_author_email, $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN, $secure );
|
||||
setcookie( 'comment_author_url_' . COOKIEHASH, esc_url( $comment->comment_author_url ), $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN, $secure );
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user