z大的公告栏教程里并没有给出如何实现他的公告栏中回复功能,为此折腾了大半天啊
php的判断感觉就像做数学题一样(我的微积分啊,泪奔)
实现方法:
一.添加查看历史公告功能
把Z大教程中的
foreach ($comments as $comment) { $announcement .= '<li>'. convert_smilies($comment->comment_content) . ' <span style="color:#999;">(' . get_comment_date('Y/m/d H:i',$comment->comment_ID) . ')</span></li>'; }
改为
foreach ($comments as $comment) { $announcement .= '<li><a href="' . get_permalink($page_ID) . "#comment-" . $comment->comment_ID . '" title= "查看这条公告"> @</a> '. convert_smilies($comment->comment_content) . ' <span style="color:#999;">(' . get_comment_date('Y/m/d H:i',$comment->comment_ID) . ')</span></li>'; }
二.防止非管理员的用户或游客直接评论
在comments.php里,在评论框的div(respond)外面加上判断,
<?php if ( current_user_can('level_10') //如果是管理员 ||//或者 !is_page(公告栏页面ID) //不是公告栏页面 ) : ?>
则输出评论框,
这样保证了在公告栏以外的页面正常显示评论框,在公告栏页面只对管理员显示评论框,
因为不是用css隐藏,所以用firebug也扒不出来,
说明: 此方法游客是依然不能回复评论的,因为respond出不来,但是不用设置页面为私密了,可以供游客查看所有公告
三.添加游客回复功能
方法就是把方法二中的判断改一下,通过css来隐藏评论框和主评论中的游客评论(对付firebug扒评论框的游客)
最后顺便提供管理员回复时评论不出现在公告栏的方法:用array下的parent => '0'来实现,看你们态度不热情!我很伤心所以都不详细说了!
demo请见本站留言板页面和公告栏页面
bulletin-reply is coded by http://xiaohudie.net. Any posts here is one hundred percent original, so please keep my link so as not to hurt this pretty girl. -
之前也看过Z大的文章,也打算为 WordPress大学 折腾个公告栏,有时间再试试 :guzhang:
这个是我的公告栏页面,http://xiaohudie.net/bulletin, 勉强实现了访客回复,如果你有兴趣可以交流一下,哈哈~
你好,能否提供“添加游客回复功能”的代码?
估计不是态度不热情,而是这篇文章没有在搜索引擎上有很好的排位,所以没有太多人知道。(我也是鄱了很久,进了你的博客,后来,才惊奇地发现你的博客有此文)
我想要一份代码,能否更新本博文或将源码分享?嘻嘻~
@冯广顺 : 我的方法是通过css隐藏,这个方法并不完美,更建议你使用这个方法屏蔽游客主评论http://mufeng.me/youku.html/comment-page-1#comment-8286
@小蝴蝶 : 按照你提供的链接实现了“不允许回复主评论”的功能。
不过不懂得怎么做你个“状态墙”,能否再推荐一个“自定义页”的教程?
例如:
1、如何将该页面的主评论框去掉
2、如何修改评论框的文字,让其和其他的评论框不一样,如:发表评论,改为发表说说?(单页,非全站)
最后,若可能,还是想求您家的状态墙代码,嘻嘻。
折腾好了,谢谢 :guzhang:
不谢 有用就好 :smile:
@小蝴蝶 你的评论回复没有邮件通知吗?我是不小心又跑来了才看到你的回复
@Neysa 额 当时用手机客户端回的 没有通知 正常是有的
表示文章的关键点解析得不够清晰
哈哈……
有个小问题,我标题加红。同步时,他会把代码也同步的,怎么才能同步时,不同步那代码
@启辰 标题样式用单独css 不要写在标题里面就是了