2014-04-29:该插件长期不更新,已有另外一个作者将该插件升级,并且改名为 Front End PM ,具体请看 WordPress 前端站内信插件 Front End PM
倡萌之前推荐过《WordPress 站内信插件:Private Messages For WordPress》该插件功能还是比较齐全的,如果是在WP后台使用的话,还相当不错,但是如果想在前端使用,就没那么简单了,虽然作者提供了一个简单的模板,但是倡萌测试发现,前端使用真的存在很多问题。而且该插件已将近一年没有更新了,没有后续支持的插件,也是个麻烦事。
所以倡萌今天要推荐一个专门在前端使用的站内信插件:Cartpauj PM,该插件后台只有简单的设置选项,所有功能都是在前台使用。
主要特色:
- 支持管理员设置用户的信箱容量;
- 支持管理员给所有用户发送公告;
- 有新信息时可以邮件通知;
- 支持用户自己设置是否接收信息、是否邮件通知;
- 对话式的信息回复,信息交流一目了然;
- 采用所见即所得的BBcode(UBB)编辑器;
- 罗列所用用户,方便一键点击发布信息
有待提高:
- 前端效果实在不是一般差;
- 收件人使用的是用户名 username,而不是显示名display_name(一般网站都只显示用户的显示名),所以发站内信需要知道对方的用户名;
- 目前不支持上传附件(作者计划实现)
- 要是可以添加后台使用就完美了
已知问题:
信息的发送时间默认使用的是 格林尼治标准时间(GMT),和国内时间相差 8 小时。要修复这个问题,打开 pm-class.php 找到
current_time('mysql', $gmt = 1) 将 $gmt = 1 改为 $gmt = 0 (似乎共有3处)。
默认前端显示效果:
对话式的信息流(已经过倡萌美化):
具体效果,请登录 WordPress大学 查看站内信。
在后台插件安装界面搜索 Cartpauj PM 即可在线安装,或者下载 Cartpauj PM
分享一些有用的调用代码:
1.调用最新公告
将代码添加到主题的 functions.php 或插件文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | /** * 调用cartpauj_pm的公告 */ function getLastAnnouncement(){ global $wpdb; // message_read = 12 表明这条是公告 $results = $wpdb->get_results($wpdb->prepare("SELECT * FROM ". $wpdb->prefix ."cartpauj_pm_messages WHERE message_read = 12 ORDER BY id DESC LIMIT 0 , 1" , '' )); return $results; } function the_getLastAnnouncement(){ $announcements = getLastAnnouncement(); foreach ($announcements as $announcement) { $announce .= "<b>".$announcement->message_title."</b>: "; // 显示公告标题 $announce .=" <small>(".$announcement->date.")</small>"; //显示公告日期 $announce .= $announcement->message_contents; // 显示公告内容 } return $announce; } |
/** * 调用cartpauj_pm的公告 */ function getLastAnnouncement(){ global $wpdb; // message_read = 12 表明这条是公告 $results = $wpdb->get_results($wpdb->prepare("SELECT * FROM ". $wpdb->prefix ."cartpauj_pm_messages WHERE message_read = 12 ORDER BY id DESC LIMIT 0 , 1" , '' )); return $results; } function the_getLastAnnouncement(){ $announcements = getLastAnnouncement(); foreach ($announcements as $announcement) { $announce .= "<b>".$announcement->message_title."</b>: "; // 显示公告标题 $announce .=" <small>(".$announcement->date.")</small>"; //显示公告日期 $announce .= $announcement->message_contents; // 显示公告内容 } return $announce; }
然后在需要显示的地方使用下面的代码调用:
1 | <?php if(function_exists('the_getLastAnnouncement')) echo the_getLastAnnouncement(); ?> |
<?php if(function_exists('the_getLastAnnouncement')) echo the_getLastAnnouncement(); ?>
2.调用当前用户未读站内信数量
将下面的代码添加到主题的 functions.php
1 2 3 4 5 6 7 8 9 10 11 12 | /** * 获取未读站内信数量 */ function unread_messages_number(){ //如果用户已登录并且启用了 cartpauj PM 插件 if(is_user_logged_in() && class_exists("cartpaujPM")){ global $cartpaujPMS; $numNew = $cartpaujPMS->getNewMsgs(); // 如有未读信息就显示提示内容 if($numNew) echo "您有". $numNew ."条未读信息"; } } |
/** * 获取未读站内信数量 */ function unread_messages_number(){ //如果用户已登录并且启用了 cartpauj PM 插件 if(is_user_logged_in() && class_exists("cartpaujPM")){ global $cartpaujPMS; $numNew = $cartpaujPMS->getNewMsgs(); // 如有未读信息就显示提示内容 if($numNew) echo "您有". $numNew ."条未读信息"; } }
然后使用下面的代码调用
1 | <?php if(function_exists('unread_messages_number')) unread_messages_number(); ?> |
<?php if(function_exists('unread_messages_number')) unread_messages_number(); ?>
以上就是WordPress 添加前端站内信 Cartpauj PM。觉得自己今年真的脾气很大,一点不顺就很易燃易爆,看什么都是灰色的黑色的。各种关系搞得一塌糊涂,好像有很多不满,有很多仇恨。原来,我的头顶布满了乌云,我成了一个消极并且传播负能量的人了。想走,去一个完全陌生的地方,放下所有的爱与恨,情与伤,自己一个人,重新开始。更多关于WordPress 添加前端站内信 Cartpauj PM请关注haodaima.com其它相关文章!