Typecho 访客信息显示隐藏

话说转到 Typecho 也有一两个星期了,这貌似是在 Typecho 下写的第一篇日志(上一篇不记得是在WP下还是TE下了,囧。)。转过来后也没时间折腾,主要是皮没有弄好,弄了三个皮,第一个配色不好看,第二个是仿的官方的,第三个就是现在这个了。目前这个比较满意,但是里面的话有点点难看,慢慢折腾吧,博客在于折腾。 下面分享记录一下访客信息显示隐藏,这个在以前的WP中是常用到的,而且每个主题基本都会有这功能,换到TE后,下了几个主题,都没发现有这个,所以只能自己慢慢折腾。 从comments.php文件中得知 <?php $this->remember(''); ?>是输出访客信息的,开始没注意,弄了测试了半天,才后知后觉的想到,这个是个输出函数,不能用来做判断,真纠结。哎,问问老师 baidu 吧,他还真给了我答案。这个函数还有一个参数 $return ,作用是是否返回值,参数值是布尔类型,false为不返回,true为返回,默认为false。有了这个就好做了,先进行判断,看看浏览器中是否有访客的 Cookie ,如果存在的话就隐藏访客信息,并且输出有好的提示,不存在的话就直接删除资料填写框,下面看代码。 在模版下的 comments.php 文件中找到 form 表单这一块,用一个div把资料填写的部分(昵称、EMAIL、WEBSITE)包含起来,比如:

<?php if($this->remember('author',true) != "" && $this->remember('mail',true) != "") : ?>
<p class="title welcome">
  <?php _e('欢迎'); ?> 
  <strong><?php $this->remember('author'); ?></strong> 
  <?php _e('童鞋归来,'); ?>
  <a class="edit_author" href="#"><?php _e('编辑资料 »'); ?></a>
</p>
<div class="author_info" style="display:none;">
  <?php else : ?>
  <div class="author_info">
    <?php endif ; ?>
    <p class="title">
      <label for="author"><span class="required">*</span> <?php _e('昵称代号'); ?></label>
    </p>
    <p>
      <input type="text" name="author" id="author" class="text" size="15" value="<?php $this->remember('author'); ?>" />
    </p>
    <p class="title">
      <label for="mail"><?php if ($this->options->commentsRequireMail): ?>
      <span class="required">*</span><?php endif; ?> 
      <?php _e('电子邮件'); ?></label>
    </p>
    <p>
      <input type="text" name="mail" id="mail" class="text" size="15" value="<?php $this->remember('mail'); ?>" />
    </p>
    <p class="title">
      <label for="url"><?php if ($this->options->commentsRequireURL): ?>
      <span class="required">*</span><?php endif; ?> 
      <?php _e('博客地址'); ?></label>
    </p>
    <p>
      <input type="text" name="url" id="url" class="text" size="15" value="<?php $this->remember('url'); ?>" />
    </p>
  </div>

代码的意思就是,查看 Cookie 中的author、email是否为空,不为空的话就隐藏资料框并显示欢迎语句,如果为空的话就显示资料框。

就这么几句代码,隐藏显示的功能就完成了,剩下的就是添加JS,把那个“编辑资料”的A标签给加上功能。这个就交给你们去折腾了吧,不懂的问我,或者看我的JS文件。

ps.初学php,不知道那个if判断条件是否可行,因为听别人说php中的空字符串和null是一样的,没区别,如果是这样的话,那么这个是可行的,要不的话就会出现判断不严谨的问题咯。

THE END
隐藏Typecho访客信息显示
最爱浏览器Firefox之侧栏
Typecho 小技巧两则

添加评论

已有 34 条评论

由 Google AI Gemini Pro 生成

这篇日志详细记录了如何在 Typecho 中隐藏或显示访客信息,从寻找合适的函数到添加必要的代码,都一一讲解得很清楚。作者还分享了对 PHP 中空字符串和 null 的理解,引发人思考。作为一名初学 PHP 的博友,这篇日志为我提供了宝贵的经验,也让我对 Typecho 的使用有了更深入的了解。期待作者继续分享更多的 Typecho 使用技巧,也希望自己能够在不断学习中进步,成为一名优秀的 Typecho 博主。

大智若鲁
大智若鲁 2010-11-02 02:09 回复
辽宁 Windows 7 Firefox

你的主题很好看呀 和自立博客的风格很像

冰剑
冰剑 MOD 2010-11-02 16:14 回复
湖南 Windows 7 Firefox

自立博客?有地址没?我看看,获取可以参考参考,哇嘎嘎。

彼岸星辰
彼岸星辰 2010-11-02 11:47 回复

貌似这个是换程序来的第一博!

冰剑
冰剑 MOD 2010-11-02 16:14 回复
湖南 Windows 7 Firefox

是啊,终于写了一篇了。

逸冰
逸冰 2010-11-07 02:51 回复
江西 Windows XP Internet Explorer

我也换了程序了,我都是跟在他们后面的

为你牵挂
为你牵挂 2010-11-02 12:56 回复
江苏 Windows XP Internet Explorer

我会多来学习学习的,多写点知识

冰剑
冰剑 MOD 2010-11-02 16:15 回复
湖南 Windows 7 Firefox

嗯,有空会写一些经验分享出来的。

万戈
万戈 2010-11-02 16:12 回复
上海 Windows XP Firefox

空字符串和null是不一样的吧

冰剑
冰剑 MOD 2010-11-02 16:16 回复
湖南 Windows 7 Firefox

java、.net中确实是不一样的。
但是在php中用起来,感觉是一样的,空字符串、0、null、false用起来感觉没什么区别。

翎峋
翎峋 2010-11-02 16:31 回复

冰剑是不是把评论列表分享出来啊?

冰剑
冰剑 MOD 2010-11-02 16:44 回复
湖南 Windows 7 Firefox

评论列表?侧栏那个最新评论还是日志中的列表?

翎峋
翎峋 2010-11-03 08:49 回复

文章评论里的,要是把你的模板贡献出来更好。
悲剧,你把访客信息隐藏起来后,手机经常出错。

冰剑
冰剑 MOD 2010-11-03 10:32 回复
湖南 Windows 7 Firefox

可以啊,哪天你上QQ,我把模版发给你。
手机暂时不管啦,等人出WAP版。

snowxh
snowxh 2010-11-02 17:04 回复
上海 Windows 7 Firefox

哎哎?为什么不在wp了?

冰剑
冰剑 MOD 2010-11-02 17:21 回复
湖南 Windows 7 Firefox

WP折腾够了,换一个程序折腾。这个程序的处理效率上比WP快一些,特别是后台的速度,明显的比WP快。。
博客在于折腾嘛,哈哈。。

羽飞
羽飞 2010-11-02 17:53 回复
广东 Windows 7 Internet Explorer

啊哦 显示隐藏这地一块没去研究,好像没怎么用到,呵呵~ 加油,继续折腾吧

飞天舞
飞天舞 2010-11-02 19:17 回复
四川 Windows XP Internet Explorer

前来感谢你的提醒。

浩子
浩子 2010-11-04 16:09 回复
四川 Windows XP Internet Explorer

IE6用户表示路过……

寨主
寨主 2010-11-13 12:44 回复
浙江 Windows XP Firefox

这个程序给我的感觉跟WP有点像诶.

冰剑
冰剑 MOD 2010-11-13 13:32 回复
湖南 Windows 7 Firefox

程序性能上比WP好很多。。

寨主
寨主 2010-11-13 13:35 回复
浙江 Windows XP Firefox

我感觉到了. 速度比较明显. 不过为什么你以前在wp上的插件现在还可以用?比如邮件通知

冰剑
冰剑 MOD 2010-11-13 13:36 回复
湖南 Windows 7 Firefox

TE有邮件通知的插件啊,TE目前插件不多,但是一些常用的还是有的。
不常用的自己移植过来就可以了。

寨主
寨主 2010-11-13 13:37 回复
浙江 Windows XP Firefox

噢.了解了.

蓝冰
蓝冰 2010-12-17 20:53 回复
山东 Windows 7 Firefox

这种都是通用的代码。适当的修改一下,在不同的程序都可以用。

KOK
KOK 2010-12-18 19:01 回复
湖北 Windows 7 Internet Explorer

不错 谢谢分享 修改去...

亿u博
亿u博 2011-02-07 02:50 回复
云南 Windows XP Internet Explorer

原来使用JS调用呀,嘻嘻!

lee
lee 2011-04-08 13:16 回复
广东 Windows XP Chrome

你好博主,“编辑资料”的 JS 能分享下吗?刚才查看网站的 JS 发现里面有很多其它功能的代码。
载入 JQ 后,下面的代码为什么不能生效?

jQuery(document).ready(function(a) {

a("form#comment_form a.edit_author").click(function() { a("form#comment_form div.author_info").slideToggle("slow"); return false });

});

冰剑
冰剑 MOD 2011-04-08 13:24 回复
广东 Windows 7 Firefox

确定你的标签命名和我的一样吗?

lee
lee 2011-04-08 13:26 回复
广东 Windows XP Chrome

晕,原来一直在编缉桌面的文件,哈哈。。已经成功,谢谢!

冰剑
冰剑 MOD 2011-04-08 13:28 回复
广东 Windows 7 Firefox

额,偶尔我也犯过这错误。
本地编辑半天,忘记上传了。
结果总是找问题,看是哪里出错了,哈哈。

aosemp
aosemp 2011-04-08 18:42 回复
上海 Unknown Unknown

php中一般不与''比较,用empty函数。

冰剑
冰剑 MOD 2011-04-09 20:37 回复
广东 Windows 7 Firefox

一直搞不懂php中null、空字符串、0的区别。

zva
zva 2011-06-15 09:27 回复
浙江 Linux Chrome

抱走了

灰狼
灰狼 2013-10-10 00:22 回复
广东 Windows 7 Chrome

刚好需要用到这代码

    目录
    移动设备上继续阅读