智能摘要 AI
本文介绍了一个用于判断文章是否被当前用户评论的PHP函数`is_comment($post_id)`。该函数通过获取当前用户的ID或cookie中的电子邮件地址,查询数据库中是否有已批准的评论记录来实现判断。代码支持WordPress 5.x及以上版本,并可在博客主题或集成插件中使用。使用时需传入文章的ID,函数返回布尔值,表示当前用户是否对该文章进行了评论。
刚写了个新的回复可见的区块,UI随便在网上找的,不过这个判断文章是否被评论还是麻烦了我半天,最后还是在老博客上找到了以前发的代码,修改下后就可以直接使用,理论上支持「WP 5.X」以上的版本。
<?php
// Created by XiaoWu
// $post_id 当前文章id,可通过全局变量获取
// 返回是否被当前用户评论
function is_comment( $post_id ) {
$email = null;
$user_ID = wp_get_current_user()->ID;
$user_name = wp_get_current_user()->display_name;
if ( $user_ID > 0 ) {
$email = get_userdata( $user_ID )->user_email;
} else if ( isset( $_COOKIE[ 'comment_author_email_' . COOKIEHASH ] ) ) {
$email = str_replace( '%40', '@', $_COOKIE[ 'comment_author_email_' . COOKIEHASH ] );
} else {
return false;
}
if ( empty( $email ) && empty( $user_name ) ) {
return false;
}
global $wpdb;
$pid = $post_id;
$query = "SELECT `comment_ID` FROM {$wpdb->comments} WHERE `comment_post_ID`={$pid} and `comment_approved`='1' and (`comment_author_email`='{$email}' or `comment_author`='{$user_name}') LIMIT 1";
if ( $wpdb->get_results( $query ) ) {
return true;
}
}将以上代码复制到你的博客主题或者集成插件中,参数为文章的id,可以使用WordPress内部的id全局变量,返回当前文章是否被当前用户评论。





评论 (0)