WordPress 站点的评论默认情况下都是公开的评论,也就是说只要是审核通过的评论,所有人(包括站长、留言者、游客等)都可以看到这条评论内容。如果我们想要实现只有留言者和站长看到的私密留言评论,那么应该怎么实现呢?
1、打开 Nana主题的 functions.php 文件,在最后一个 ?> 的前面添加以下代码:
function liao_private_message_hook( $comment_content , $comment){
$comment_ID = $comment->comment_ID;
$parent_ID = $comment->comment_parent;
$parent_email = get_comment_author_email($parent_ID);
$is_private = get_comment_meta($comment_ID,’_private’,true);
$email = $comment->comment_author_email;
$current_commenter = wp_get_current_commenter();
if ( $is_private ) $comment_content = ‘#私密# ‘ . $comment_content;
if ( $current_commenter[‘comment_author_email’] == $email || $parent_email == $current_commenter[‘comment_author_email’] || current_user_can(‘delete_user’) ) return $comment_content;
if ( $is_private ) return ‘该评论为私密评论’;
return $comment_content;
}
add_filter(‘get_comment_text’,’liao_private_message_hook’,10,2);
function liao_mark_private_message( $comment_id ){
if ( $_POST[‘is-private‘] ) {
add_comment_meta($comment_id,’_private’,’true’);
}
}
add_action(‘comment_post’, ‘liao_mark_private_message’);
2、打开 Nana主题的 comments.php 文件,找到以下代码:
评论”"/>
ID); ?>
修改为:
评论”"/>
ID); ?>
3、打开 Nana主题的Nanaincunctionswidgets.php 文件,找到以下代码:
comment_content); ?>
修改为
comment_content,$my_comment);?>
即可。
至此,主题已经具备了私密留言评论的功能。只需要我们在评论时,勾选私密评论即可。具体如下图所示:
提交评论后,评论者本人是可以在当前页面和侧边栏近期评论中看到具体的评论内容,但是如果清空浏览器缓存的话,连评论者自己也是无法看到评论内容的。具体如下图所示:
只有评论者本人和站长可见