WordPress博客统计排除管理员留言的方法
之前在张戈博客就看到,知更鸟留言统计把管理员的留言也算进去了,看了下九哥现在的留言总数119条,实际留言总数也就59条。
于是对统计代码稍做修改,现在说下具体方法:
先找到留言统计的代码(知更鸟主题的在:inc\function\widget.php,其他主题一般在侧栏模块):
- <?php _e( '留言', 'begin' ); ?> <?php global $wpdb; echo $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments");?>
只要加个条件就可以排除指定的留言了,可以用邮箱、昵称或 ID 作为排除条件。经过分析,用ID是最准确的,因为有些小伙伴总更换邮箱和昵称,如果硬要用邮箱或昵称来排除的话,就必须要加入所有用过的邮箱或昵称,这样一来,查询效率自然就低了,于是最终改成如下代码:
- <?php _e( '留言', 'begin' ); ?> <?php global $wpdb; echo $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments where user_id!='1'");?>
其实就是在select语句中加入了 where 判断而已,where user_id!='1' 就是排除id=1的评论,而管理员的ID值一般都为 1,当然如果你有多个管理员,只要去phpMyAdmin中找到对应的ID,然后加入其中即可,如下代码则为排除帐号ID为1和ID为2的留言:
- <?php _e( '留言', 'begin' ); ?> <?php global $wpdb; echo $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments where user_id!='1' and user_id!='2'");?>
很简单的教程,希望对小伙伴有所帮助吧!
不知道为什么,直接发表文字就报“您所提交的请求含有不合法的参数,已被网站管理员设置拦截!”无奈只能出此下策。有知道解决方法的小伙伴指教下,不甚感激。
更换服务器后无此问题了。
Koolight
我的留言回复不标注管理员,可能是我设置了几个用户的原因。
九哥@Koolight
应该是邮箱的问题吧?显示博主站长的话邮箱得是管理员设置的邮箱。
龙笑天
怎么是张图片~ 😯
九哥@龙笑天
文章发不出来,一点发布就报“您所提交的请求含有不合法的参数,已被网站管理员设置拦截!”,无奈啊!
龙笑天@九哥
你不就是网站管理员吗….
九哥@龙笑天
是啊,不知道怎么回事。而且我没设置过拦截啊!
龙笑天@九哥
百度一下咯~
九哥@龙笑天
说是云锁,把IP加入白名单就可以了,搞了下没搞明白。
老衲法号情圣
沙发,顶起,博文写得很实用。
九哥@老衲法号情圣
过奖了,欢迎常来。