用代码打造完美的“当前位置”

之前介绍了两个显示当前位置的方式,其实就是两个不同的函数 get_the_category() 和 the_category() ,折腾出真知,单独使用两个函数都不尽人意:单独使用 get_the_category() ,如果文章属于两个分类,则文章页面只显示一个分类;单独使用 the_category() ,当某两个分类被同一篇文章“属于了”(能明白吧),那么在其中一个分类页面中同时显示两个分类,神奇。

不过不用害怕,两者结合就能完美了,精简了下,只在分类和文章页面显示,代码如下,按需修改~

<div class="localtion">
	<?php if  ( is_category() ) { ?>
		<p class="local">
		你的位置: <a href="http://ygs.im/" title="HOME">HOME</a> >> <?php $categorys = get_the_category(); $category = $categorys[0];echo(get_category_parents($category->term_id,true,' >>')); ?> 文章列表
		</p>
	<?php } ?>
	<?php if  ( is_single() ) { ?>
		<p class="local">
		你的位置: <a href="http://ygs.im/" title="HOME">HOME</a> >> <?php the_category(' & '); ?> >> <?php the_title(); ?>
		</p>
	<?php } ?>
</div>

附上以前的介绍:
在WordPress文章页显示当前位置
另一个显示WordPress当前位置的方法

PHP substr 截取中文乱码的解决方法

文章页面的 description 是使用 substr 函数来截取220字符的,但是最后一个汉字总是乱码,而且截取出来的长度也不正确。

通过神奇的 Google 找到方法,可能是因为 substr(string,start,length),会将汉字以字符的形式截断,而造成乱码

解决方案:使用 PHP 扩展库中的 mb_substr 方法。

方法定义:
string mb_substr ( string str, int start [, int length [, string encoding]] )

注意:在使用 mb_substr()/mb_strcut 最后要加入多一个参数,以设定字符串的编码,

例如:
echo mb_substr(‘原本会出现乱码的汉字!’, 0, 7, ‘utf-8′);

再如:
$description = mb_substr(strip_tags($post->post_content),0,220,’utf-8’);

一日一折腾之 WordPress SEO 优化

哈哈,参照 WordPress SEO 技巧 把博客给优化优化,受益匪浅,匪浅啊。

折腾也挺多的,分开来说。

1.标题优化
title 使用文中的方法,代码如下:

<title><?php if ( is_single() || is_page() || is_category() || is_tag() ) { wp_title(''); } else { bloginfo('name'); } ?></title>

去掉标题前的预留空格,看图识字,左为修正前,右为修正后:
标题优化

代码,放进模板 function.php ,格式为 <?php 代码 ?> :

function titledespacer($title) {
	return trim($title);
}
add_filter('wp_title', 'titledespacer');

(更多…)

jQuery 美妙的标题提示

美妙的标题提示

该特效“不但可以让你的 title 提示效果变得美观,而且可以显示出你将要点击的链接的 url,让用户知道自己将要去哪里”,明显提升了用户感受,至少也吸引了眼球。

jQuery代码,另存为JS或者整合:

jQuery(document).ready(function($){
$("a").mouseover(function(e){
	this.myTitle = this.title;
	this.myHref = this.href;
	this.myHref = (this.myHref.length > 30 ? this.myHref.toString().substring(0,30)+"..." : this.myHref);
	this.title = "";
	var tooltip = "<div id='tooltip'><p>"+this.myTitle+"<em>"+this.myHref+"</em>"+"</p></div>";
	$('body').append(tooltip);
	$('#tooltip').css({"opacity":"0.8","top":(e.pageY+20)+"px","left":(e.pageX+10)+"px"}).show('fast');
}).mouseout(function(){this.title = this.myTitle;$('#tooltip').remove();
}).mousemove(function(e){$('#tooltip').css({"top":(e.pageY+20)+"px","left":(e.pageX+10)+"px"});
});
});

CSS美化代码:

#tooltip {position:absolute;z-index:1000;max-width:250px;word-wrap:break-word;background:#000;text-align:left;padding:5px;min-height:1em;-moz-border-radius:5px;-khtml-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}
#tooltip p {color:#fff;font:12px 'Microsoft YaHei',Arial,宋体,Tahoma,Sans-Serif;}
#tooltip p em {display:block;margin-top:3px;color:#f60;font-style:normal;}

最后,别忘了载入jQuery库。

自己动手 DIY,依然折腾

自己动手DIY,依然折腾

买了一盒迷你欧洲店铺的模型,又在在瞎折腾了,一个下午只能做三分之一,囧。明天正式做模板,不做好誓不泡妞。今天弟生日,吃饭,喝了一点酒,发现酒量还是那么少。

今日大动作

首先,把目录移到上方啦,把分类精简啦,那些只懂一点而且不会深入发展的就去掉啦,里面的文章就移到了“默认分类”啦。

然后,侧边栏加上评论的调用啦。

最后,好像没有了吧。

通过搜索引擎进入的竟然一个都没有,看来前几天的域名折腾影响颇大,颇大呀。不过呢,作为开闭站专业户,算是家常便饭啦。嗯,周末应该去玩水了吧,如果没有台风的话。

WordPress 调用最新评论

你的模板没有评论栏目?可以使用边栏小工具添加,但是使用了边栏工具对于不同页面显示不同栏目不好控制,所以我并没有使用,又所以使用了自己添加代码的方法,代码如下:

<?php
global $wpdb;
$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
comment_post_ID, comment_author, comment_date_gmt, comment_approved,
comment_type,comment_author_url,
SUBSTRING(comment_content,1,30) AS com_excerpt
FROM $wpdb->comments
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
$wpdb->posts.ID)
WHERE comment_approved = '1' AND comment_type = '' AND
post_password = '' AND user_id != '1'
ORDER BY comment_date_gmt DESC
LIMIT 10";
$comments = $wpdb->get_results($sql);
$output = $pre_html;

foreach ($comments as $comment) {
$output .= "n<li>".strip_tags($comment->comment_author)
.":" . " <a href="" . get_permalink($comment->ID) .
"#comment-" . $comment->comment_ID . "" title="" .
$comment->post_title . "">" . strip_tags($comment->com_excerpt)
."</a></li>";
}
$output .= $post_HTML;
echo $output;
?>

其中 user_id != ‘1’ 的功能为隐藏管理员(ID=1)的评论。

7/19

IMG_1259

想了半天终于还是想不到题目——题记

换域名就是多折腾,惊奇的发现有同志订阅了 feed.kwnsn.com ,于是,在这里提个醒, feed 地址即将更改为 feed.ygs.im ,敬请留意,刚打玩一场痛苦的 dota ,今晚早点睡,晚安各位。

换域名啦

据可靠消息称,Ygs’ blog 域名更改为 ygs.im 这个非常简洁和谐的域名,活动口号为再见 Kwnsn ,你好 Ygs。惊鸿一瞥的 y-gs.me 也取消了,钱不知道能退回不。因此今天的鸟语为,生命在于折腾。

让 WordPress 评论者的链接在新窗口中打开

在 WordPress 中评论时一般都会留下网址,但是这个链接默认是在同一窗口打开的,当访客点击某个链接时就会离开你的网站进入其他网站,这也许并非他的本意。下面分享下解决方法。

1.找到 wp-includes/comment-template.php 文件

2.搜索 function get_comment_author_link( $comment_ID = 0 )

3.在 function get_comment_author_link( $comment_ID = 0 ) 下面几行会看到这行代码

$return = "<a href=’$url’ rel=’external nofollow’ class=’url’>$author</a>";

修改成

$return = "<a href=’$url’ target=’_blank’ rel=’external nofollow’ class=’url’>$author</a>";

修改后评论者留的网址就会默认是使用新窗口打开。

果然是悲剧的日志

昨天回家时写了条微博“悲剧的日志要开始了~”,看完我QQ空间端午假期的日志就知道了,其实也没什么,就是每篇内容都是“今天在家里呆了一天”,暑假的第一天也是这样。

更换域名后我一直在纠结究竟换得合适不合适,总觉得 y-gs 有点怪,要是有 ygs.me 就好了,哭…好了,虚幻的东西抛一边去,只要等到旧域名过期了我就不会考虑换回来了。

俊彬师兄让我做的模板一直没开始,一看到 ECSHOP 的界面就想起当年搞的 GsBox ,我就痛苦了,马上关闭浏览器,稍微冷静冷静。幸好师兄的要求太低了,只要简洁,嗯,万恶的 ECSHOP ,去你的。

还有一件悲剧的东西,09年初买的架子鼓!脑热的我!万恶的架子鼓!是不是我不会敲,每次你的声音都让我却步,应该是我不会调,而我这乡下地方么有琴行,没有老师,自学也没毅力,果然成了装饰。肥森的电吉他也生锈了,茅龙的电子琴摔得差不多了,而黄淳的贝斯应该挺新的,压根没见过阳光。悲剧的人儿啊。

开端7/16

想在学校呆久一点也不行了,老人家的意思是,就算你回来什么也不干,反正回来就是了。我学会了控制自己的情绪,尽管我觉得是有点无理,但也不能说是无理,能理解的,所以下午就吃完西瓜,收拾一下回家了。我已经预料到车会晚点,但是没想到它会坏,蹲了一个小时马路,继续启程。

大概每一家的婆婆和媳妇都很奇怪,而作为新时代的年轻人可以作为缓和气氛和耐心教导的角色。而我想说的是屋子的设计有点问题,在楼下喊人楼上听得很清楚,楼上回应楼下的人一般都听不到的,特别是房门关闭时,更特别的是楼下的人有点耳聋,你吼啊吼啊的就沙.比了,楼下就认为你不理他。往往矛盾就这样激发放大,好白.痴的。

说过我学会了控制情绪,你多奇怪,让我生气,我忍就是了,要尊老,而且每次发火都会后悔的,何必呢。

蛋疼的暑假就这样开始了,What time it is? Summertime! 都在听歌舞青春的歌曲,看完了,心里好像少了些东西似的。

域名小折腾:301重定向

今年初一时冲动注册了 kwnsn.com 这个域名,其实还不错了,但是不知道 kwnsn 的意思有点难记住。其实 kwnsn 是我名字粤语拼音的缩写:) 一直考虑要不要换域名,又觉得多数流量都是通过搜索引擎进入的,也不会记你的域名,所以一直没理了。今天突然就这侧了 y-gs.me ,而且已经在使用了…说不清,先使用一段时间吧~善变也是我的特色。

顺便说说我使用 WordPress 更换域名的步骤。因为使用的是 cPanel ,操作起来挺方便了。首先是将网站的文件复制到 y-gs.me ,绑定新域名,因为没有更换数据库,所以只需通过旧域名登陆站点后台更改站点地址和安装地址为新的域名即可。

最后就是将旧域名作 301 重定向到新网址了:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

这是原来的 .htaccess 文件的代码,要将其删除,不然你输入 kwnsn.com/about 还是会进入到 kwnsn.com/about 而不是 y-gs.me/about 。

删除以上代码后,就要加上以下代码了,作用是将旧域名重定向到新域名

RewriteEngine on
RewriteCond %{HTTP_HOST} ^kwnsn.com [NC]
RewriteRule ^(.*)$ http://ygs.im/$1 [L,R=301]

好,这样还没折腾完,别忘了修改模板中的域名,广告联盟的域名,百度联盟的域名…

CSS3 变换小折腾

为了使用大部分 CSS3 特性,我们不得不与原来的属性一起使用生产商专有扩展。原因是直到现在,大部分浏览器只支持部分 CSS3 属性。而且不幸的是,一些属性甚至到最后都可能不被 W3C 推荐,所以通过指定浏览器专有属性,将他们与标准属性区分开来是很重要的(当他们是多余的的时候使用符合标准的样式将之覆盖)。

最常见的私有属性是用于 Webkit 核心浏览器的(比如, Safari), 它们以 -webkit- 开始,以及 Gecko 核心的浏览器(比如 Firefox),以 -moz- 开始,还有 Konqueror (-khtml-)、Opera (-o-) 以及 Internet Explorer (-ms-) 都有它们自己的属性扩展(目前只有 IE8 支持 -ms- 前缀)。

被 CSS3 的动感所吸引,下午折腾了一下,成果就像你现在用 Chrome 或者 Opera 浏览本博并用鼠标经过文章标题的效果一样(FireFox下并不理想)。
使用的 CSS 如下:

h2{
	-moz-transform: translate(0px, 0px);
	-moz-transition-duration:0.3s;
	-webkit-transform: translate(0px, 0px);
	-webkit-transition-duration:0.3s;
	-o-transform:translate(0px, 0px);
	-o-transition-duration:0.3s;
}

h2:hover{
	-moz-transform: translate(10px, 0px);
	-moz-transition-duration:0.3s;
	-webkit-transform: translate(10px, 0px);
	-webkit-transition-duration:0.3s;
	-o-transform:translate(10px, 0px);
	-o-transition-duration:0.3s;
}

CSS3 吸引人的当然不只这个,折腾人的是因为它还未成为标准,还有各种不同标准的浏览器…

如此寂寞

李美琪说“寂寞”这词好恶心,个人问题,不深究。——题记

放假这么些日子,因为要学车,所以肯定要回家了,又所以没有找兼职或者实习,又因为刚搬完宿舍新鲜感有点强烈不太想走,但是18号估计要去玩水,又又所以要回去…我的人生如此矛盾,而我今天也说了一句“或者真痛苦”,听者也忙说“不要激动不要激动”。

耗着的日子是这样过的:早上9点多起来,洗脸刷牙,走去旁边的宿舍看看,回来开电脑,发现没事可干,又到处逛逛,很快就到午饭时间,吃完饭又到旁边宿舍逛逛,不行了又走到外面买喝的或者吃的,又到电脑前看看。就这几样活动,逃不掉的。时间长了,人走得多了,就越发无聊,恶性循环,直到自己也逃离。

歌舞青春123已被我重温,印象深刻,无限向往,导致我已无心看其他的影片。虚幻的东西都很美好,现实的东西却很神奇。神奇是因为按照常理是不会发生的,但是它发生了,当然,并不是美好的。

酒,就是神奇的东西,它让我迷糊,对于什么都感到非常美好,让我忘掉学车的痛苦,一个人的寂寞,让我乱发信息…让别人扶着我回来,倒水给我喝,甚至抱我上床(让我睡)…迷糊中能听到别人的称赞和貌似满足的感叹…酒醒以后,虽然很清晰的记得发生的一切,但是感觉已大不同,是不是酒精麻醉的是冷漠?如果一直能处于半醉的亢奋状态,那生活应该挺过瘾的。

下雨吧,干涸的大地需要滋润。让大地长满回头草,然而马儿别回头。

结束,小醉

搬宿舍,很要命,幸好宿舍环境有所改善,不然亏了一年又一年啊。晚上3个人加上3个茅龙的朋友吃烧烤喝啤酒,就这样醉了。被扶着回来,一路上感慨良多,然而,醒来后,另一个我回来了。朦胧时发短信给她。

很多人实习、兼职了,不知道他们干得怎么样呢,我觉得有点压力了,要不要也找个实习呢,不过一定要自己感兴趣的,不能为了实习而出卖自己。想留校然后实习的想法越来越强烈了。

简单的页面加载 Loading 效果

如果服务器置于国外,国内访问可能比较慢,这时友好的页面加载提示就非常有用。当然,通过繁杂的 Ajax 等技术,可以很好的实现。我比较适合使用简单的 HTML + CSS + JavaScript,此方法没有多少技术含量,领会精神!

假设需要在加载过程中,页面左上角显示红色的“正在加载中…”提示信息。原理很简单,HTML 代码的 <body> 部分加载前插入此提示信息,加载完成后隐藏它即可。

首先,在 <body> 标记后插入:

<div id="loadingpage">努力加载中...</div>

你可以自由定义 loading 这个 id 的样式。例如将其设置为红色背景,白色文字:

#loading{
color:#fff;background:#FF0000;position:absolute;top:0;left:0;padding:2px 10px;
}

最后,用 JavaScript 代码输出样式,将代码放在</body>标记前:

<script type="text/javascript">
document.write(‘<style>#loading{display:none;}</style>’);
</script>

最终效果就是本博一样的~

方便的 WordPress 文章摘要代码

WordPress 的文章摘要功能一般有两种实现方法,即使用 <!–more–> 标记或者利用现成的插件。对于前者,方便是方便,但会缩略内容后紧随全文阅读的链接,而且 RSS 中也会输出摘要。对于后者而言,良好支持中文截断的并不多见。

如果使用以下代码,文章摘要的可控性会更强,不需要任何辅助的标记或插件。代码如下:

<?php echo mb_strimwidth(strip_tags(apply_filters(‘the_content’, $post->post_content)), 0, 200,"···"); ?>

其中,200 为截取字符数目限制,”···” 表示紧随缩略内容之后的符号。

文本查找替换专家

文件查找替换专家

小工具大功能,之前修改模板用它很快就能找到该修改那些地方,推荐使用。

详细说明:文本替换专家,使用简单,功能强大,支持多级目录同时替换,支持大小写匹配,支持文件备份,支持文件查找,智能历史替换方案记录以及智能备份文件批量还原系统,让文本查找、批量查找、替换、批量替换、重复查找替换及批量备份还原更轻松,自带简洁高效文本编辑功能,让你的文本修改更加得心应手,高效跟踪引擎以及完善的操作报表,让操作结果清晰明了。程序特有的文件检索引擎,使文件检索速度极快。程序小巧,绿色免费,任君随意使用。

下载

又见暑假

正常情况下应该是平生最后一次的暑假了,我将何去何从?且听下回分解。

又一次发现与我有关的计划根本不是计划,只是当时的美好幻想,旅游就是其一。说的时候好像什么也阻挡不了我的决心,后来啊,无耻得”麻烦”一个字就推翻一切。很多很多。

13号要搬宿舍,又是麻烦,很累,13号之前就是很无聊了,在无尽的DOTA中吃饭睡觉,还打打球。今天下午和黄淳到公元前逛,无聊就是这样折磨人,困得我。

一踏入这个暑假我就感到无助,空虚,还有迷惘。我想有志趣相投的同伴,没志有趣也好啦。去年还去做了廉价劳动力,真够傻的,除非很缺钱,因为劳动密集型廉价劳动力根本学不到什么。