自定义WordPress评论Cookie功能

自升级WordPress4.9.6后,新增记录评论Cookie功能,方便评论者下次发表评论无需再次输入名称和邮箱地址。

主题默认使用了comment_form()函数,并在设置—讨论—勾选了“ Show comments cookies opt-in checkbox.”会在评论模块中显示一个记录评论Cookie的复选框。

默认评论模块复选框的提示文字“Save my name, email, and website in this browser for the next time I comment.”可能并符合你的习惯。我们可以通过下面的代码自定义这段文字。

将下面代码添加到当前主题functions.php中:

默认自动勾选:

function comment_form_change_cookies_consent( $fields ) {
	$commenter = wp_get_current_commenter();
	$consent   = empty( $commenter[\'comment_author_email\'] ) ? \'\' : \' checked=\"checked\"\';
	$fields[\'cookies\'] = \'<p class=\"comment-form-cookies-consent\"><input id=\"wp-comment-cookies-consent\" name=\"wp-comment-cookies-consent\" type=\"checkbox\" value=\"yes\"\' . $consent . \' />\' .
	\'<label for=\"wp-comment-cookies-consent\">记住我的信息</label></p>\';
	return $fields;
}
add_filter( \'comment_form_default_fields\', \'comment_form_change_cookies_consent\' );

默认不勾选

function comment_form_not_checked_cookies_consent( $fields ) {
	$fields[\'cookies\'] = \'<p class=\"comment-form-cookies-consent\"><input id=\"wp-comment-cookies-consent\" name=\"wp-comment-cookies-consent\" type=\"checkbox\" value=\"yes\" />\' .
	\'<label for=\"wp-comment-cookies-consent\">记住我的信息</label></p>\';
	return $fields;
}
add_filter( \'comment_form_default_fields\', \'comment_form_not_checked_cookies_consent\' );

源代码出自:https://wordpress.org/support/topic/update-4-9-6-checkbox-comments-privacy-approved/

如果你的主题使用了自定义评论函数,评论模块中没出现记录评论Cookie的复选框,可以使用下面的代码添加该功能,默认记录Cookie并隐藏难看的复选框:

add_action(\'set_comment_cookies\',\'coffin_set_cookies\',10,3);
function coffin_set_cookies( $comment, $user, $cookies_consent){
	$cookies_consent = true;
	wp_set_comment_cookies($comment, $user, $cookies_consent);
}

源代码出自:https://fatesinger.com/100240

如你的主题使用了的AJAX 提交评论,已默认记录Cookie, 无需上面的操作。

想完全禁用这个功能,可以用下面的代码:

function comment_form_hide_cookies_consent( $fields ) {
	unset( $fields[\'cookies\'] );
	return $fields;
}
add_filter( \'comment_form_default_fields\', \'comment_form_hide_cookies_consent\' );

或者

add_filter(\'comment_form_field_cookies\',\'__return_false\');

    © 版权声明
    THE END
    喜欢就支持一下吧
    点赞0 分享
    评论 抢沙发

    请登录后发表评论

      暂无评论内容