首页 归档 标签 关于

Typecho 访客信息显示隐藏


902 3 167.5k

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?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是一样的,没区别,如果是这样的话,那么这个是可行的,要不的话就会出现判断不严谨的问题咯。