百度未收录

子比主题功能 – 评论区设置私密评论

效果预览

代码部署

function zyx_scripts(){
  if (!is_admin()) {
        $script = array(
            'smminjs' => '改为你的js链接',
        );
        foreach( $script as $k => $v ){
            wp_register_script( $k, $v, array(), '2.4.0', true);
        };

        wp_enqueue_script('smminjs');
        
        if (is_singular()) {
            wp_enqueue_script('smminjs');
        };

    }
}
add_action('wp_enqueue_scripts', 'zyx_scripts');

function zyx_private_message_hook( $comment_content , $comment){
    $comment_ID = $comment->comment_ID;
    $parent_ID = $comment->comment_parent ? $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();
  $current_user = wp_get_current_user();
    $html = '<span style="color:#558E53"><i class="fa fa-lock fa-fw"></i>该评论为私密评论</span>';
  if ( $is_private ) {
      if ( !is_user_logged_in() && $current_commenter['comment_author_email'] == '' ) {
        return $comment_content = $html;
      }else
    if ($current_commenter['comment_author_email'] == '' && $current_user->user_email == $parent_email || current_user_can('delete_user') || $current_user->user_email == $email || $current_commenter['comment_author_email'] == $email || $parent_email == $current_commenter['comment_author_email'] && $current_commenter['comment_author_email'] !== ''){
      return $comment_content = '#私密# ' . $comment_content;
    }
    return $comment_content = $html;
  }
    return $comment_content;
}
add_filter('get_comment_text','zyx_private_message_hook',10,2);

function zyx_mark_private_message( $comment_id ){
    if ( $_POST['is-private'] ) {
        update_comment_meta($comment_id,'_private','true');
    }
}
add_action('comment_post', 'zyx_mark_private_message');
//将某条评论设为私密评论
add_action('wp_ajax_nopriv_mrhe_private', 'zyx_private');
add_action('wp_ajax_mrhe_private', 'zyx_private');
function zyx_private(){
  $comment_id = $_POST["p_id"];
   $action = $_POST["p_action"];
  if ( $action == 'set_private'){
     update_comment_meta($comment_id, '_private', 'true');
    }
    if ($action == 'del_private'){
        delete_comment_meta($comment_id, '_private','true');
    }
    echo 'ok';
   die;
}
//挂载到评论底部
function zyx_footer_info_add_private($info, $comment) {
    if ( current_user_can( 'manage_options' ) ) {
        $comment_ID = $comment->comment_ID;
        $i_private = get_comment_meta($comment_ID, '_private', true);
        $flag = ''; // 初始化 $flag 为空字符串
        if (empty($i_private)) {
            $flag .= ' - <a href="javascript:;" data-actionp="set_private" data-idp="' . get_comment_id() . '" id="sp" class="sm">(<span class="has_set_private">设为私密</span>)</a>';
            $info = $info . $flag;
        } else {
            $flag .= ' - <a href="javascript:;" data-actionp="del_private" data-idp="' . get_comment_id() . '" id="sp" class="sm">(<span class="has_set_private">删除私密</span>)</a>';
            $info = $info . $flag;
        }
    }
    return $info;
}
add_filter('comment_footer_info', 'zyx_footer_info_add_private', 99, 2);

文件路径:/www/wwwroot/huliku.com/wp-content/themes/zibll/template/comments.php

温馨提示:本文最后更新于2024/01/03 17:23:07。若文章内容或图片失效,请留言联系站长反馈!
!
也想出现在这里? 联系我们
创意广告
© 版权声明
THE END
点赞0赞赏 分享
评论 共48条

请登录后发表评论

    请登录后查看评论内容