模块功能:
我个人目前在做一个电影类的网站,在开发文章页的模版时候,突然觉得给文章页增加一个“谁对本电影感兴趣”的功能模块可能会比较有趣,这个功能有点类似于‘足迹’的感觉,用户可以通过这个功能,发现与他兴趣相投的人。
我把代码分享出来,不知道有没有朋友对此功能感兴趣呢?
代码实现:
<?php
global $post;
// 本代码用于记录当前用户访问本文的时间和用户信息。
$current_user_id = get_current_user_id();
$visits = get_post_meta($post->ID, '_user_visit_count', true);
$visits = $visits ? $visits : array();
if ($current_user_id && array_key_exists($current_user_id, $visits)) {
$visits[$current_user_id]['time'] = current_time('mysql');
} elseif ($current_user_id) {
$visits[$current_user_id] = array(
'nickname' => wp_get_current_user()->nickname,
'avatar'=>get_avatar($current_user_id, 96),
'time' => current_time('mysql')
);
}
update_post_meta($post->ID, '_user_visit_count', $visits);
// 获取所有访问过本页的用户记录
$unique_visitors = array();
foreach ($visits as $user_id => $visit) {
if (user_can($user_id, 'read')) {
$unique_visitors[$user_id] = $visit;
}
}
// 输出访问记录
$loopcount = 0; // 用于控制循环
$countPost = $options['single_whocare_count']; // 形如:$options['album1_rank_qua'] *用于获取后台设置的循环次数, 这里需要在后台增加变量进行控制。
if ($unique_visitors) {
echo '<ul class=who_visited>';
foreach ($unique_visitors as $user_id => $visit) {
if($loopcount >= $countPost) break;
echo '<li><div class=user_avatar>' .$visit['avatar'] . '</div> <div class=user_nickname>'. $visit['nickname'] . '</div> <div class=visit_time>' . $visit['time'] . ' 来过~</div></li>';
$loopcount++; //自增,循环计次
}
echo '</ul>';
} else {
echo '目前还没有访问者。';
}
?>
如果你的网站同时开发了用户中心和关注功能,你还可以在这里给 访问者 加上链接跳转到用户中心,或增加关注,提高用户交互。
CSS样式很简单,我就不发了。毕竟,主题不同,样式还是要自己写的。