常阳时光

WordPress 根据最后一次评论时间控制是否显示评论者链接

WordPress 根据最后一次评论时间控制是否显示评论者链接,关于对评论者链接输出控制,目前在用:WordPress 博客外链跳转内链代码。之前还参考大发文章,折腾过通过评论数量来限制是否输出显示评论者网址,后来取消掉。

今天折腾这个代码来自:龙笑天下 - WordPress根据评论者最后一次评论时间来决定是否显示评论者链接

原文代码:

function theme_show_comment_author_link( $return , $author, $comment_ID ){
if ( !is_user_logged_in() ) { // 登录用户例外
date_default_timezone_set('PRC'); //时区
$limit_days = 10; //天数,最后一次评论时间距离今天超过 limit_days 天则隐藏评论链接
$comment = get_comment( $comment_ID );
if ( !empty($comment->comment_author_email) ) {
$last_comment = get_comments(array(
'author_email' => $comment->comment_author_email,
'number' => '1',
'orderby' => 'comment_date',
'order' => 'DESC',
'status' => 'approve',
'type' => 'comment'
));
if ( (time() - strtotime($last_comment['0']->comment_date)) > $limit_days*24*3600 ) {
$return = $author;
}
}else{
$return = $author;
}
}
return $return;
}
add_filter('get_comment_author_link','theme_show_comment_author_link', 10, 3);

此代码仅适合使用 the_author_link() 函数来输出评论者名称/链接。

下面是自用渣渣代码:

// 评论链接跳转内链
function commentauthor($comment_ID = 0) {
$comment_temp = get_comment( $comment_ID );
$author = $comment_temp->comment_author;
$url = $comment_temp->comment_author_url ;
$email = $comment_temp->comment_author_email;
$cmuserid = $comment_temp->user_id;
$limit_days = 30; // 天数,最后一次评论时间距离今天超过 $limit_days 天则隐藏评论链接
if ( $cmuserid > 0 ) {
echo "<a href='$url' rel='me' target='_blank' class='url'>$author</a>";
} else if ( empty( $url ) || 'http://' == $url ) {
echo $author;
} else if ( !empty( $email ) && !is_user_logged_in() ) {
date_default_timezone_set('PRC'); //时区
$last_comment = get_comments(array(
'author_email' => $email,
'number' => '1',
'orderby' => 'comment_date',
'order' => 'DESC',
'status' => 'approve',
'type' => 'comment'
));

if ( ( current_time('timestamp') - strtotime( $last_comment['0']->comment_date ) ) > $limit_days*24*3600 ) {
echo "<a href='javascript:;' title='".$url."' class='url'>$author</a>";
} else {
echo "<a href='".home_url()."/go/".base64_encode($url)."' rel='external nofollow noopener' title='".$url."' target='_blank' class='url'>$author</a>";
}
} else {
echo "<a href='".home_url()."/go/".base64_encode($url)."' rel='external nofollow noopener' target='_blank' title='".$url."' class='url'>$author</a>";
}
}

需配合主题修改。

温馨提示:每条评论都需要额外查询,评论多的页面可能会比较耗资源。(此功能暂时撤掉)