自定义WordPress评论Cookie功能

知更鸟
1480
文章
6919
评论
2018年8月24日19:25:06 11 1.6K 1876字阅读6分15秒

自升级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');

 

 

继续阅读
weinxin
关于本站
分享交流WordPress经验与技巧,关注前端设计与网站制作。仅用于功能演示。
WordPress 5.3 正式版下载 WordPress

WordPress 5.3 正式版下载

WordPress 5.3 正式版于北京时间2019年11月13日 发布,更新后第一个印像就是后台UI样式有所变动,原来非常协调的按钮样式,变得有些突兀,如图: 白背景灰边框的按钮变成蓝色,同时所有表...
为WordPress主题添加文章字数和阅读时间 WordPress

为WordPress主题添加文章字数和阅读时间

显示文章字数和阅读时间,这功能有什么用呢,我也不知道,不过有用户说人家有我们能不能也加一个,那就加呗,就有这篇为WordPress主题添加文章字数和阅读时间。 为WordPress主题添加文章字数和阅...
WordPress 5.2.4 安全更新发布 WordPress

WordPress 5.2.4 安全更新发布

WordPress 5.2.4 安全更新发布,这次更新重点就是修补之前的安全漏洞,非常有必要更新。 有些用户可能认为WordPress更新过于频繁,原因很简单,WP用户众多,也是黑客重点“帮扶”对像,...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:11   其中:访客  11   博主  0
    • 龙笑天 龙笑天 @回复 4

      主题没有使用WP的comment_form函数 所以不用做操作了~ :mrgreen:

      • 明月登楼 明月登楼 @回复 5

        WordPress 这算是“迟来的爱”了!

        • 老虎 老虎 @回复 5

          • 简简单单 简简单单 @回复 2

            非常赞!

            • 网站建设 网站建设 @回复 4

              同赞

              • 大爷快来玩 大爷快来玩 @回复 3

                终于怀上了,可以肆意的玩!!!

                • 朱曙明SEO博客 朱曙明SEO博客 @回复 1

                  想了解下,begin主题后续更新会加入MIP吗~~~~~倒是希望能接入,期待中

                  • 福利堆 福利堆 @回复 6

                    不懂函数编程的了哦

                    • 嗷嗷 嗷嗷 @回复 1

                      • 爱在灵灵久 爱在灵灵久 @回复 1

                        • 测试 测试 @回复 0

                          测试测试