<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>赵凯华的博客</title>
	<atom:link href="http://zhaokaihua.com/feed" rel="self" type="application/rss+xml" />
	<link>http://zhaokaihua.com</link>
	<description>关注互联网、IT技术</description>
	<lastBuildDate>Sat, 11 Feb 2012 04:20:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>去雅虎中国面试php开发</title>
		<link>http://zhaokaihua.com/article/350.htm</link>
		<comments>http://zhaokaihua.com/article/350.htm#comments</comments>
		<pubDate>Sat, 11 Feb 2012 04:19:27 +0000</pubDate>
		<dc:creator>kaihua</dc:creator>
				<category><![CDATA[我的生活]]></category>

		<guid isPermaLink="false">http://zhaokaihua.com/?p=350</guid>
		<description><![CDATA[很意外的接到了雅虎的面试电话，在此之前，从来没有想到过能够去一家互联网公司，因为我有自知之明，水平、经验确实不够格，所以简历上的介绍都是侧重C/S软件开发的。不过既然有这个机会，去看看也好，纯当锻炼脸皮了。

笔试内容有三个部分。

第一部分是Linux基础和一些简单的shell命令。对于Linux，在大学的时候，曾经因为追求Ubuntu绚丽的界面效果，同时在室友面前装13，把自己电脑系统换成了Ubuntu，用了大概有半年。对于使用中的所有问题，几乎都是靠互联网解决，很钟情于看Ubuntu中文论坛的帖子，崇拜一下大鸟，暗地嘲笑一下菜鸟（虽然我也是菜鸟）。虽然笔试内容都是一些基础，但是菜鸟就是菜鸟，几年前了解的一点常用命令全忘光了。第一题就是写出一些常用的Linux操作命令，很白痴的写了几个，"make,install,chmod,kill,cd,reboot（竟然还拿重启凑数，哎）"。下面有个题目是，一个网站的访问日子，大概有1000w条记录，把所有的IP地址提取出来显示（记得不太清楚了），对此一点概念都没有，完全不会用Linux命令操作。不过我估计可能的办法，是用vi（据说这个编辑器很牛13，不过到底牛在哪，我不知道）之类的编辑器，通过正则匹配来实现（瞎猜的）。其他题目记不太清了，不过都是基础。

第二部分是考察PHP。接触php不到一年，完全是现学现卖，只关心我实际应用中实际用到的部分，对于一些基本概念，比较模糊，所以题目做的也是惨目忍睹。有一些很基础的题目，比如include和require的区别，碰巧看到过，答出来了。有一个题目是把一个数组转成html格式。第一印象，应该是写个漂亮的代码，用循环输出，没想出来，于是很白痴的用echo一个一个的拼出来了。还有一个题目是找出文件夹下所有的txt文件，还给出了常用的函数，没写出来。

第三部分是mysql。其实从工作到现在，并没有设计过数据库，实际工作，更侧重界面端的逻辑代码，为了查询效率，写过一些简单的存储过程。唯一深入的一次研究mysql，可能是有一次自己写了一个简单的论坛，自己测试，帖子数量达到10w以上，查询就需要两三秒的时间了，是不能容忍的，于是查查资料，研究了一下加索引的技巧，最终把查询时间优化到0.01秒以内了。有一个题目，就是做数据库优化的，一个表中有1000W条数据，让指出其中字段类型使用不合理的地方，没看出来，晚上回来问和我一起合租的哥们，貌似是birth(生日字段)用的datetime类型不太合理，用date就够了，没必要用datetime。接着就是查询优化。也有一些基础，比如写出常用的mysql操作命令，InnoDB和Myisam两种引擎的区别等。

貌似70%的题目都没答好或者干脆没写，不过还好，面试我的那哥哥没有直接鄙视我，真个我面子。

我一直很好奇，雅虎是出于什么原因，让我来面试的，所以我直接问了那哥哥。他说他们希望找一些别的专业的人，不擅长php开发的来培养，他们看重的是学习能力。我晕，貌似程序员这行，看重的都是学习能力，谁都会这么说。

面试闲聊的比较多，问到的技术方面的重点大概是以下三点：

1、网站安全性

2、数据库优化（包括大数据量处理）

3、高并发处理

虽然面试砸了，但是既然碰到了，就认真学习一下吧。我另外开三篇文章，对这三点分别进行讨论。]]></description>
			<content:encoded><![CDATA[<p>很意外的接到了雅虎的面试电话，在此之前，从来没有想到过能够去一家互联网公司，因为我有自知之明，水平、经验确实不够格，所以简历上的介绍都是侧重C/S软件开发的。不过既然有这个机会，去看看也好，纯当锻炼脸皮了。</p>
<p>笔试内容有三个部分。</p>
<p>第一部分是Linux基础和一些简单的shell命令。对于Linux，在大学的时候，曾经因为追求Ubuntu绚丽的界面效果，同时在室友面前装13，把自己电脑系统换成了Ubuntu，用了大概有半年。对于使用中的所有问题，几乎都是靠互联网解决，很钟情于看Ubuntu中文论坛的帖子，崇拜一下大鸟，暗地嘲笑一下菜鸟（虽然我也是菜鸟）。虽然笔试内容都是一些基础，但是菜鸟就是菜鸟，几年前了解的一点常用命令全忘光了。第一题就是写出一些常用的Linux操作命令，很白痴的写了几个，”make,install,chmod,kill,cd,reboot（竟然还拿重启凑数，哎）”。下面有个题目是，一个网站的访问日子，大概有1000w条记录，把所有的IP地址提取出来显示（记得不太清楚了），对此一点概念都没有，完全不会用Linux命令操作。不过我估计可能的办法，是用vi（据说这个编辑器很牛13，不过到底牛在哪，我不知道）之类的编辑器，通过正则匹配来实现（瞎猜的）。其他题目记不太清了，不过都是基础。</p>
<p>第二部分是考察PHP。接触php不到一年，完全是现学现卖，只关心我实际应用中实际用到的部分，对于一些基本概念，比较模糊，所以题目做的也是惨目忍睹。有一些很基础的题目，比如include和require的区别，碰巧看到过，答出来了。有一个题目是把一个数组转成html格式。第一印象，应该是写个漂亮的代码，用循环输出，没想出来，于是很白痴的用echo一个一个的拼出来了。还有一个题目是找出文件夹下所有的txt文件，还给出了常用的函数，没写出来。</p>
<p>第三部分是mysql。其实从工作到现在，并没有设计过数据库，实际工作，更侧重界面端的逻辑代码，为了查询效率，写过一些简单的存储过程。唯一深入的一次研究mysql，可能是有一次自己写了一个简单的论坛，自己测试，帖子数量达到10w以上，查询就需要两三秒的时间了，是不能容忍的，于是查查资料，研究了一下加索引的技巧，最终把查询时间优化到0.01秒以内了。有一个题目，就是做数据库优化的，一个表中有1000W条数据，让指出其中字段类型使用不合理的地方，没看出来，晚上回来问和我一起合租的哥们，貌似是birth(生日字段)用的datetime类型不太合理，用date就够了，没必要用datetime。接着就是查询优化。也有一些基础，比如写出常用的mysql操作命令，InnoDB和Myisam两种引擎的区别等。</p>
<p>貌似70%的题目都没答好或者干脆没写，不过还好，面试我的那哥哥没有直接鄙视我，真个我面子。</p>
<p>我一直很好奇，雅虎是出于什么原因，让我来面试的，所以我直接问了那哥哥。他说他们希望找一些别的专业的人，不擅长php开发的来培养，他们看重的是学习能力。我晕，貌似程序员这行，看重的都是学习能力，谁都会这么说。</p>
<p>面试闲聊的比较多，问到的技术方面的重点大概是以下三点：</p>
<p>1、网站安全性</p>
<p>2、数据库优化（包括大数据量处理）</p>
<p>3、高并发处理</p>
<p>虽然面试砸了，但是既然碰到了，就认真学习一下吧。我另外开三篇文章，对这三点分别进行讨论。</p>
]]></content:encoded>
			<wfw:commentRss>http://zhaokaihua.com/article/350.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>C#中ref和out的区别</title>
		<link>http://zhaokaihua.com/article/347.htm</link>
		<comments>http://zhaokaihua.com/article/347.htm#comments</comments>
		<pubDate>Thu, 09 Feb 2012 16:48:34 +0000</pubDate>
		<dc:creator>kaihua</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[C#基础]]></category>

		<guid isPermaLink="false">http://zhaokaihua.com/?p=347</guid>
		<description><![CDATA[今天面试，问到了ref和out的区别。

ref是传递参数的地址，out是返回值，侧重输出，两者有一定的相同之处，不过也有不同点。

使用ref前必须对变量赋值，out不用。

out的函数会清空变量，即使变量已经赋值也不行，退出函数时所有out引用的变量都要赋值，ref引用的可以修改，也可以不修改。]]></description>
			<content:encoded><![CDATA[<p>今天面试，问到了ref和out的区别。</p>
<p>ref是传递参数的地址，out是返回值，侧重输出，两者有一定的相同之处，不过也有不同点。</p>
<p>使用ref前必须对变量赋值，out不用。</p>
<p>out的函数会清空变量，即使变量已经赋值也不行，退出函数时所有out引用的变量都要赋值，ref引用的可以修改，也可以不修改。</p>
]]></content:encoded>
			<wfw:commentRss>http://zhaokaihua.com/article/347.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C++ 与 C# 类型转换</title>
		<link>http://zhaokaihua.com/article/345.htm</link>
		<comments>http://zhaokaihua.com/article/345.htm#comments</comments>
		<pubDate>Thu, 09 Feb 2012 16:41:55 +0000</pubDate>
		<dc:creator>kaihua</dc:creator>
				<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://zhaokaihua.com/?p=345</guid>
		<description><![CDATA[今天去面试了，一个简单的问题，C++中的char*转换成C#代码，应该对应什么类型。其实以前也用到过好多，在使用C#调用C++的动态库时，经常用到。只是从来没有留心，每次都是简单的搜索一下，找到答案。今天记录一下，以备后用。
<pre class="brush:csharp">C++                C# 
传入的char*      string 
传出的char*      StringBuilder(预分配空间） 
short            short 
char              byte 
char[n]          fixed byte[n] 
结构指针          结构指针 
函数指针          委托</pre>
更多类型，参考<a href="http://hi.baidu.com/onewait/blog/item/2cc13c3a303f08efb311c75e.html">http://hi.baidu.com/onewait/blog/item/2cc13c3a303f08efb311c75e.html</a>]]></description>
			<content:encoded><![CDATA[<p>今天去面试了，一个简单的问题，C++中的char*转换成C#代码，应该对应什么类型。其实以前也用到过好多，在使用C#调用C++的动态库时，经常用到。只是从来没有留心，每次都是简单的搜索一下，找到答案。今天记录一下，以备后用。</p>
<pre class="brush:csharp">C++                C#
传入的char*      string
传出的char*      StringBuilder(预分配空间）
short            short
char              byte
char[n]          fixed byte[n]
结构指针          结构指针
函数指针          委托</pre>
<p>更多类型，参考<a href="http://hi.baidu.com/onewait/blog/item/2cc13c3a303f08efb311c75e.html">http://hi.baidu.com/onewait/blog/item/2cc13c3a303f08efb311c75e.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zhaokaihua.com/article/345.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress常用模板函数 修改或自制WordPress主题必备</title>
		<link>http://zhaokaihua.com/article/342.htm</link>
		<comments>http://zhaokaihua.com/article/342.htm#comments</comments>
		<pubDate>Mon, 16 Jan 2012 09:25:50 +0000</pubDate>
		<dc:creator>kaihua</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress常用函数]]></category>

		<guid isPermaLink="false">http://zhaokaihua.com/?p=342</guid>
		<description><![CDATA[对于很多WordPress新手来说，不懂任何代码的情况下去瞎改WordPress主题，得出的效果往往会出现语法错误之类的东西或效果不尽人意。想要修改 WordPress主题模板文件最基本的当然要懂得HTML代码，熟悉DIV+CSS布局，PHP代码也得略懂一二。

不过一些比较简单易懂的代码和函数，学习起来并不难，用多改多了你就会记得它，同时这些基本的代码和函数对于一个WordPress 修改主题新手来说尤其重要，当然，我这里说所的是相对有兴趣修改WordPress主题模板的新手，注重网站内容的新手可以怀着学习的态度看这篇文章。

国内的一些WordPress主题大部分都是修改国外一些早期的英文主题，也有很多朋友喜欢汉化主题。修改这些主题当然离不开我上面提到的一些基本代码和函数，所以骆恒安特意搜索了一些平时在WordPress 主题模板文件里常遇到的基本代码与函数，借此分享给大家。

<strong>WordPress主题 – 基本模板文件</strong>

一套完整的WordPress主题应至少具有如下模板文件：

style.css ： CSS（样式表）文件

index.php ： 主页模板

archive.php ： Archive/Category模板

404.php ： Not Found 错误页模板

comments.php ： 留言/回复模板

footer.php ： Footer模板

header.php ： Header模板

sidebar.php ： 侧栏模板

page.php ： 内容页（Page）模板

single.php ： 内容页（Post）模板

searchform.php ： 搜索表单模板

search.php ： 搜索结果模板

当然，特指某个WordPress主题（现在的英文主题已经发展到了更加多元化的主题元素），可能不止这些文件，但一般而言，这些文件是每个WordPress主题基本必备的。

<strong>WordPress主题 - 判断Tag</strong>

is_home() ： 是否为主页

is_single()  ： 是否为内容页（Post）

is_page()  ： 是否为内容页（Page）

is_category()  ： 是否为Category/Archive页

is_tag()  ： 是否为Tag存档页

is_date()  ： 是否为指定日期存档页

is_year()  ： 是否为指定年份存档页

is_month()  ： 是否为指定月份存档页

is_day()  ： 是否为指定日存档页

is_time()  ： 是否为指定时间存档页

is_archive()  ： 是否为存档页

is_search()  ： 是否为搜索结果页

is_404()  ： 是否为 “HTTP 404： Not Found” 错误页

is_paged()  ： 主页/Category/Archive页是否以多页显示

上面的判断Tag在WordPress主题里常常应用于侧边栏（sidebay）模板文件，就比如 is_home()  ，例如你放了一段广告代码在侧边栏上，而又只想在主页上显示这个广告，那么就可以用到这个判断Tag了。

<strong>WordPress主题 – Header 常用PHP函数</strong>

&#60;?php bloginfo('name'); ?&#62;  ： 博客名称（Title）

&#60;?php bloginfo('stylesheet_url'); ?&#62;  ： CSS文件路径

&#60;?php bloginfo('pingback_url'); ?&#62;  ： PingBack Url

&#60;?php bloginfo('template_url'); ?&#62;  ： 模板文件路径

&#60;?php bloginfo('version'); ?&#62;  ： WordPress版本

&#60;?php bloginfo('atom_url'); ?&#62;  ： Atom Url

&#60;?php bloginfo('rss2_url'); ?&#62;  ： RSS 2.o Url

&#60;?php bloginfo('url'); ?&#62;  ： 博客 Url

&#60;?php bloginfo('html_type'); ?&#62;  ： 博客网页Html类型

&#60;?php bloginfo('charset'); ?&#62;  ： 博客网页编码

&#60;?php bloginfo('description'); ?&#62;  ： 博客描述

&#60;?php wp_title(); ?&#62;  ： 特定内容页（Post/Page）的标题

<strong>WordPress主题 - 模板常用的PHP函数</strong>

&#60;?php get_header(); ?&#62;  ： 调用Header模板

&#60;?php get_sidebar(); ?&#62;  ： 调用Sidebar模板

&#60;?php get_footer(); ?&#62;  ： 调用Footer模板

&#60;?php the_content(); ?&#62;  ： 显示内容（Post/Page）

&#60;?php if(have_posts()) " ?&#62;  ： 检查是否存在Post/Page

&#60;?php while(have_posts()) " the_post(); ?&#62;  ： 如果存在Post/Page则予以显示

&#60;?php endwhile; ?&#62;  ： While 结束

&#60;?php endif; ?&#62;  ： If 结束

&#60;?php the_time('字符串') ?&#62;  ： 显示时间，时间格式由“字符串”参数决定，具体参考PHP手册

&#60;?php comments_popup_link(); ?&#62;  ： 正文中的留言链接。如果使用 comments_popup_script（） ，则留言会在新窗口中打开，反之，则在当前窗口打开

&#60;?php the_title(); ?&#62;  ： 内容页（Post/Page）标题

&#60;?php the_permalink() ?&#62;  ： 内容页（Post/Page） Url

&#60;?php the_category(', ') ?&#62;  ： 特定内容页（Post/Page）所属Category

&#60;?php the_author(); ?&#62;  ： 作者

&#60;?php the_ID(); ?&#62;  ： 特定内容页（Post/Page） ID

&#60;?php edit_post_link(); ?&#62;  ： 如果用户已登录并具有权限，显示编辑链接

&#60;?php get_links_list(); ?&#62;  ： 显示Blogroll中的链接

&#60;?php comments_template(); ?&#62;  ： 调用留言/回复模板

&#60;?php wp_list_pages(); ?&#62;  ： 显示Page列表

&#60;?php wp_list_categories(); ?&#62;  ： 显示Categories列表

&#60;?php next_post_link(' %link '); ?&#62;  ： 下一篇文章链接

&#60;?php previous_post_link('%link'); ?&#62;  ： 上一篇文章链接

&#60;?php get_calendar(); ?&#62;  ： 日历

&#60;?php wp_get_archives() ?&#62;  ： 显示内容存档

&#60;?php posts_nav_link(); ?&#62; ： 导航，显示上一篇/下一篇文章链接

&#60;?php include(TEMPLATEPATH . '/文件名'); ?&#62; ： 嵌入其他文件，可为定制的模板或其他类型文件

<strong>WordPress主题 - 与模板相关的其他函数</strong>

&#60;?php _e('Message'); ?&#62; ： 输出相应信息

&#60;?php wp_register(); ?&#62; ： 显示注册链接

&#60;?php wp_loginout(); ?&#62; ： 显示登录/注销链接

&#60;!–next page-&#62; ： 将当前内容分页

&#60;!–more–&#62; ： 将当前内容截断，以不在主页/目录页显示全部内容

&#60;?php timer_stop(1); ?&#62; ： 网页加载时间（秒）

&#60;?php echo get_num_queries(); ?&#62;： 网页加载查询量

搞懂上面的一些基本Tag和PHP代码对你修改WordPress起到很大的帮助，建议大家可以备份一下这篇文章，往后有需要用上可以拿来参考一下。当然，如果你是HTML老手，DVI+CSS高手，PHP圣手的话，就没有这个必要咯！

转载请注明：<a href="http://luohengan.com/wordpress/wordpress-basic-template-code.htm" target="_blank">骆恒安‘s Blog</a>]]></description>
			<content:encoded><![CDATA[<p>对于很多WordPress新手来说，不懂任何代码的情况下去瞎改WordPress主题，得出的效果往往会出现语法错误之类的东西或效果不尽人意。想要修改 WordPress主题模板文件最基本的当然要懂得HTML代码，熟悉DIV+CSS布局，PHP代码也得略懂一二。</p>
<p>不过一些比较简单易懂的代码和函数，学习起来并不难，用多改多了你就会记得它，同时这些基本的代码和函数对于一个WordPress 修改主题新手来说尤其重要，当然，我这里说所的是相对有兴趣修改WordPress主题模板的新手，注重网站内容的新手可以怀着学习的态度看这篇文章。</p>
<p>国内的一些WordPress主题大部分都是修改国外一些早期的英文主题，也有很多朋友喜欢汉化主题。修改这些主题当然离不开我上面提到的一些基本代码和函数，所以骆恒安特意搜索了一些平时在WordPress 主题模板文件里常遇到的基本代码与函数，借此分享给大家。</p>
<p><strong>WordPress主题 – 基本模板文件</strong></p>
<p>一套完整的WordPress主题应至少具有如下模板文件：</p>
<p>style.css ： CSS（样式表）文件</p>
<p>index.php ： 主页模板</p>
<p>archive.php ： Archive/Category模板</p>
<p>404.php ： Not Found 错误页模板</p>
<p>comments.php ： 留言/回复模板</p>
<p>footer.php ： Footer模板</p>
<p>header.php ： Header模板</p>
<p>sidebar.php ： 侧栏模板</p>
<p>page.php ： 内容页（Page）模板</p>
<p>single.php ： 内容页（Post）模板</p>
<p>searchform.php ： 搜索表单模板</p>
<p>search.php ： 搜索结果模板</p>
<p>当然，特指某个WordPress主题（现在的英文主题已经发展到了更加多元化的主题元素），可能不止这些文件，但一般而言，这些文件是每个WordPress主题基本必备的。</p>
<p><strong>WordPress主题 &#8211; 判断Tag</strong></p>
<p>is_home() ： 是否为主页</p>
<p>is_single()  ： 是否为内容页（Post）</p>
<p>is_page()  ： 是否为内容页（Page）</p>
<p>is_category()  ： 是否为Category/Archive页</p>
<p>is_tag()  ： 是否为Tag存档页</p>
<p>is_date()  ： 是否为指定日期存档页</p>
<p>is_year()  ： 是否为指定年份存档页</p>
<p>is_month()  ： 是否为指定月份存档页</p>
<p>is_day()  ： 是否为指定日存档页</p>
<p>is_time()  ： 是否为指定时间存档页</p>
<p>is_archive()  ： 是否为存档页</p>
<p>is_search()  ： 是否为搜索结果页</p>
<p>is_404()  ： 是否为 “HTTP 404： Not Found” 错误页</p>
<p>is_paged()  ： 主页/Category/Archive页是否以多页显示</p>
<p>上面的判断Tag在WordPress主题里常常应用于侧边栏（sidebay）模板文件，就比如 is_home()  ，例如你放了一段广告代码在侧边栏上，而又只想在主页上显示这个广告，那么就可以用到这个判断Tag了。</p>
<p><strong>WordPress主题 – Header 常用PHP函数</strong></p>
<p>&lt;?php bloginfo(&#8216;name&#8217;); ?&gt;  ： 博客名称（Title）</p>
<p>&lt;?php bloginfo(&#8216;stylesheet_url&#8217;); ?&gt;  ： CSS文件路径</p>
<p>&lt;?php bloginfo(&#8216;pingback_url&#8217;); ?&gt;  ： PingBack Url</p>
<p>&lt;?php bloginfo(&#8216;template_url&#8217;); ?&gt;  ： 模板文件路径</p>
<p>&lt;?php bloginfo(&#8216;version&#8217;); ?&gt;  ： WordPress版本</p>
<p>&lt;?php bloginfo(&#8216;atom_url&#8217;); ?&gt;  ： Atom Url</p>
<p>&lt;?php bloginfo(&#8216;rss2_url&#8217;); ?&gt;  ： RSS 2.o Url</p>
<p>&lt;?php bloginfo(&#8216;url&#8217;); ?&gt;  ： 博客 Url</p>
<p>&lt;?php bloginfo(&#8216;html_type&#8217;); ?&gt;  ： 博客网页Html类型</p>
<p>&lt;?php bloginfo(&#8216;charset&#8217;); ?&gt;  ： 博客网页编码</p>
<p>&lt;?php bloginfo(&#8216;description&#8217;); ?&gt;  ： 博客描述</p>
<p>&lt;?php wp_title(); ?&gt;  ： 特定内容页（Post/Page）的标题</p>
<p><strong>WordPress主题 &#8211; 模板常用的PHP函数</strong></p>
<p>&lt;?php get_header(); ?&gt;  ： 调用Header模板</p>
<p>&lt;?php get_sidebar(); ?&gt;  ： 调用Sidebar模板</p>
<p>&lt;?php get_footer(); ?&gt;  ： 调用Footer模板</p>
<p>&lt;?php the_content(); ?&gt;  ： 显示内容（Post/Page）</p>
<p>&lt;?php if(have_posts()) ” ?&gt;  ： 检查是否存在Post/Page</p>
<p>&lt;?php while(have_posts()) ” the_post(); ?&gt;  ： 如果存在Post/Page则予以显示</p>
<p>&lt;?php endwhile; ?&gt;  ： While 结束</p>
<p>&lt;?php endif; ?&gt;  ： If 结束</p>
<p>&lt;?php the_time(&#8216;字符串&#8217;) ?&gt;  ： 显示时间，时间格式由“字符串”参数决定，具体参考PHP手册</p>
<p>&lt;?php comments_popup_link(); ?&gt;  ： 正文中的留言链接。如果使用 comments_popup_script（） ，则留言会在新窗口中打开，反之，则在当前窗口打开</p>
<p>&lt;?php the_title(); ?&gt;  ： 内容页（Post/Page）标题</p>
<p>&lt;?php the_permalink() ?&gt;  ： 内容页（Post/Page） Url</p>
<p>&lt;?php the_category(&#8216;, &#8217;) ?&gt;  ： 特定内容页（Post/Page）所属Category</p>
<p>&lt;?php the_author(); ?&gt;  ： 作者</p>
<p>&lt;?php the_ID(); ?&gt;  ： 特定内容页（Post/Page） ID</p>
<p>&lt;?php edit_post_link(); ?&gt;  ： 如果用户已登录并具有权限，显示编辑链接</p>
<p>&lt;?php get_links_list(); ?&gt;  ： 显示Blogroll中的链接</p>
<p>&lt;?php comments_template(); ?&gt;  ： 调用留言/回复模板</p>
<p>&lt;?php wp_list_pages(); ?&gt;  ： 显示Page列表</p>
<p>&lt;?php wp_list_categories(); ?&gt;  ： 显示Categories列表</p>
<p>&lt;?php next_post_link(&#8216; %link &#8216;); ?&gt;  ： 下一篇文章链接</p>
<p>&lt;?php previous_post_link(&#8216;%link&#8217;); ?&gt;  ： 上一篇文章链接</p>
<p>&lt;?php get_calendar(); ?&gt;  ： 日历</p>
<p>&lt;?php wp_get_archives() ?&gt;  ： 显示内容存档</p>
<p>&lt;?php posts_nav_link(); ?&gt; ： 导航，显示上一篇/下一篇文章链接</p>
<p>&lt;?php include(TEMPLATEPATH . &#8216;/文件名&#8217;); ?&gt; ： 嵌入其他文件，可为定制的模板或其他类型文件</p>
<p><strong>WordPress主题 &#8211; 与模板相关的其他函数</strong></p>
<p>&lt;?php _e(&#8216;Message&#8217;); ?&gt; ： 输出相应信息</p>
<p>&lt;?php wp_register(); ?&gt; ： 显示注册链接</p>
<p>&lt;?php wp_loginout(); ?&gt; ： 显示登录/注销链接</p>
<p>&lt;!–next page-&gt; ： 将当前内容分页</p>
<p>&lt;!–more–&gt; ： 将当前内容截断，以不在主页/目录页显示全部内容</p>
<p>&lt;?php timer_stop(1); ?&gt; ： 网页加载时间（秒）</p>
<p>&lt;?php echo get_num_queries(); ?&gt;： 网页加载查询量</p>
<p>搞懂上面的一些基本Tag和PHP代码对你修改WordPress起到很大的帮助，建议大家可以备份一下这篇文章，往后有需要用上可以拿来参考一下。当然，如果你是HTML老手，DVI+CSS高手，PHP圣手的话，就没有这个必要咯！</p>
<p>转载请注明：<a href="http://luohengan.com/wordpress/wordpress-basic-template-code.htm" target="_blank">骆恒安‘s Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zhaokaihua.com/article/342.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress 判断用户是否登陆</title>
		<link>http://zhaokaihua.com/article/340.htm</link>
		<comments>http://zhaokaihua.com/article/340.htm#comments</comments>
		<pubDate>Fri, 13 Jan 2012 11:29:40 +0000</pubDate>
		<dc:creator>kaihua</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress技巧]]></category>

		<guid isPermaLink="false">http://zhaokaihua.com/?p=340</guid>
		<description><![CDATA[想修改一下用户登陆流程，需要判断用户是否登陆，wp提供了判断的函数
<pre class="brush:php">is_user_logged_in()</pre>
使用的时候直接调用即可]]></description>
			<content:encoded><![CDATA[<p>想修改一下用户登陆流程，需要判断用户是否登陆，wp提供了判断的函数</p>
<pre class="brush:php">is_user_logged_in()</pre>
<p>使用的时候直接调用即可</p>
]]></content:encoded>
			<wfw:commentRss>http://zhaokaihua.com/article/340.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 3.1 移除前台的管理工具条</title>
		<link>http://zhaokaihua.com/article/337.htm</link>
		<comments>http://zhaokaihua.com/article/337.htm#comments</comments>
		<pubDate>Fri, 13 Jan 2012 11:05:07 +0000</pubDate>
		<dc:creator>kaihua</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress插件]]></category>

		<guid isPermaLink="false">http://zhaokaihua.com/?p=337</guid>
		<description><![CDATA[打算强化WP的用户互动，想要去掉前台页面上方的工具条，对于普通注册用户来说，那个工具条很令人蛋疼。经过一番考察，发现用一行代码即可搞定。

在function.php文件中，添加：
<pre>show_admin_bar(false);</pre>
这样工具条就不会再出现了。]]></description>
			<content:encoded><![CDATA[<p>打算强化WP的用户互动，想要去掉前台页面上方的工具条，对于普通注册用户来说，那个工具条很令人蛋疼。经过一番考察，发现用一行代码即可搞定。</p>
<p>在function.php文件中，添加：</p>
<pre>show_admin_bar(false);</pre>
<p>这样工具条就不会再出现了。</p>
]]></content:encoded>
			<wfw:commentRss>http://zhaokaihua.com/article/337.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>feed输出中添加随机文章链接，QQ邮件订阅带来的流量明显提升</title>
		<link>http://zhaokaihua.com/article/335.htm</link>
		<comments>http://zhaokaihua.com/article/335.htm#comments</comments>
		<pubDate>Wed, 11 Jan 2012 14:00:39 +0000</pubDate>
		<dc:creator>kaihua</dc:creator>
				<category><![CDATA[网站建设]]></category>
		<category><![CDATA[qq邮件订阅]]></category>
		<category><![CDATA[网站推广]]></category>

		<guid isPermaLink="false">http://zhaokaihua.com/?p=335</guid>
		<description><![CDATA[昨天在网站feed输出中，添加了随机文章链接，QQ邮件订阅导入的流量明显提升，效果非常明显。有使用QQ邮件订阅的朋友不妨试试看。]]></description>
			<content:encoded><![CDATA[<p>昨天在网站feed输出中，添加了随机文章链接，QQ邮件订阅导入的流量明显提升，效果非常明显。有使用QQ邮件订阅的朋友不妨试试看。</p>
]]></content:encoded>
			<wfw:commentRss>http://zhaokaihua.com/article/335.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 为关键词添加链接插件：WP Keyword Link</title>
		<link>http://zhaokaihua.com/article/332.htm</link>
		<comments>http://zhaokaihua.com/article/332.htm#comments</comments>
		<pubDate>Wed, 11 Jan 2012 03:37:17 +0000</pubDate>
		<dc:creator>kaihua</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[WP关键词]]></category>
		<category><![CDATA[WP插件]]></category>

		<guid isPermaLink="false">http://zhaokaihua.com/?p=332</guid>
		<description><![CDATA[想给博客文章的关键词自动添加链接，于是找到这款插件：WP Keyword Link 。

插件介绍：
WP Keyword Link 插件可以为你的 wordpress 博客添加关键词的链接，更多的内链和外链,更好的 SEO ! 给文章加上内部链接有利于增加搜索引擎收录。WP Keyword Link 插件是由柳城在原作者允许的条件下在原插件上作了修改加入支持中文关键词的链接的，主要是面向中文WordPress博客。

WP Keyword Link 插件特点：
1.完美支持中文关键词链接，分别区分英文与中文关键词。

2.对每个关键词进行细节设置(如: 是否匹配多个? 是否匹配评论? 外链还是内链? 是否匹分大小写? 是否新窗口打开等)

3.修正编辑中文关键词时乱码问题。

4.解决替换关键词已有链接的问题.文章中已有的链接将不会匹配。

5.解决与WordPress Wiki插件的冲突问题。

6.加入多语言支持。

7.自动把文章的标签转换为关键词，你可以选择开启或关闭。

8.显示相关文章。

WP Keyword Link 插件安装：
1.下载博客插件<a href="http://wordpress.org/extend/plugins/rejected-wp-keyword-link-rejected/" target="_blank">WP Keyword Link</a>，并解压上传到wp-content/plugins/目录下，或者在后台，安装插件里搜索“WP Keyword Link"，然后自动下载安装即可。

2.登陆 WordPress 博客后台，在已安装插件列表中启用 WP Keyword Link 插件

3.启用 WP Keyword Link 插件后，在“设置”选项卡下会生成“WP KeywordLink”选项

4.点击该选项进入插件参数设置界面

WP Keyword Link 插件帮助文档：
1.No Follow – 在链接加多一个属性：rel= no follow ，使用Nofollow属性让搜索引擎不要抓取并追踪此链接。

2.First Match Only – 仅仅匹配第一个关键词. 否则将匹配2个或3个。

3.New Window – 在链接加上 target= _blank 的属性, 在新窗口打开。

4.Ignore Case – 不匹分大小写，如 Google , google 或者 gooGLE 都会匹配到，英文关键词有效(不推荐使用)。

5.Is affiliate – 勾上表示内链，同外链区分，这里要添加下面提到的CSS样式。

6.Filter in comments – 勾上匹配替换评论区里的关键词。

*For zh_CN – 勾上支持中文关键词. 或其它不是用空格隔开的语言。

* 自动跳过

&#60;pre&#62;&#60;/pre&#62;

区域， 或使用自定义的标签， 该标签包含的内容不会有链接。]]></description>
			<content:encoded><![CDATA[<p>想给博客文章的关键词自动添加链接，于是找到这款插件：WP Keyword Link 。</p>
<p>插件介绍：<br />
WP Keyword Link 插件可以为你的 wordpress 博客添加关键词的链接，更多的内链和外链,更好的 SEO ! 给文章加上内部链接有利于增加搜索引擎收录。WP Keyword Link 插件是由柳城在原作者允许的条件下在原插件上作了修改加入支持中文关键词的链接的，主要是面向中文WordPress博客。</p>
<p>WP Keyword Link 插件特点：<br />
1.完美支持中文关键词链接，分别区分英文与中文关键词。</p>
<p>2.对每个关键词进行细节设置(如: 是否匹配多个? 是否匹配评论? 外链还是内链? 是否匹分大小写? 是否新窗口打开等)</p>
<p>3.修正编辑中文关键词时乱码问题。</p>
<p>4.解决替换关键词已有链接的问题.文章中已有的链接将不会匹配。</p>
<p>5.解决与WordPress Wiki插件的冲突问题。</p>
<p>6.加入多语言支持。</p>
<p>7.自动把文章的标签转换为关键词，你可以选择开启或关闭。</p>
<p>8.显示相关文章。</p>
<p>WP Keyword Link 插件安装：<br />
1.下载博客插件<a href="http://wordpress.org/extend/plugins/rejected-wp-keyword-link-rejected/" target="_blank">WP Keyword Link</a>，并解压上传到wp-content/plugins/目录下，或者在后台，安装插件里搜索“WP Keyword Link”，然后自动下载安装即可。</p>
<p>2.登陆 WordPress 博客后台，在已安装插件列表中启用 WP Keyword Link 插件</p>
<p>3.启用 WP Keyword Link 插件后，在“设置”选项卡下会生成“WP KeywordLink”选项</p>
<p>4.点击该选项进入插件参数设置界面</p>
<p>WP Keyword Link 插件帮助文档：<br />
1.No Follow – 在链接加多一个属性：rel= no follow ，使用Nofollow属性让搜索引擎不要抓取并追踪此链接。</p>
<p>2.First Match Only – 仅仅匹配第一个关键词. 否则将匹配2个或3个。</p>
<p>3.New Window – 在链接加上 target= _blank 的属性, 在新窗口打开。</p>
<p>4.Ignore Case – 不匹分大小写，如 Google , google 或者 gooGLE 都会匹配到，英文关键词有效(不推荐使用)。</p>
<p>5.Is affiliate – 勾上表示内链，同外链区分，这里要添加下面提到的CSS样式。</p>
<p>6.Filter in comments – 勾上匹配替换评论区里的关键词。</p>
<p>*For zh_CN – 勾上支持中文关键词. 或其它不是用空格隔开的语言。</p>
<p>* 自动跳过</p>
<p>&lt;pre&gt;&lt;/pre&gt;</p>
<p>区域， 或使用自定义的标签， 该标签包含的内容不会有链接。</p>
]]></content:encoded>
			<wfw:commentRss>http://zhaokaihua.com/article/332.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress在feed订阅中自动添加版权信息和随机文章（代码实现，非插件）</title>
		<link>http://zhaokaihua.com/article/329.htm</link>
		<comments>http://zhaokaihua.com/article/329.htm#comments</comments>
		<pubDate>Tue, 10 Jan 2012 17:14:19 +0000</pubDate>
		<dc:creator>kaihua</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress相关文章]]></category>

		<guid isPermaLink="false">http://zhaokaihua.com/?p=329</guid>
		<description><![CDATA[想在feed中，输出版权信息和随机文章，网上查找了一下，大多数都是在文章页添加，而没有在feed中输出的。照猫画虎，自己实现了一下。将以下代码添加到function.php文件中即可。
<pre class="brush:php">function feed_copyright($content) {
        if(is_single() or is_feed()) {
                $content.= "&#60;blockquote&#62;";
                $content.= '&#60;div&#62;　&#38;raquo; 本文链接地址：&#60;a rel="bookmark" title="'.get_the_title().'" href="'.get_permalink().'"&#62;'.get_permalink().'&#60;/a&#62;&#60;/div&#62;';

                $content.= "&#60;/blockquote&#62;";
        }
		if(is_feed()){
			//我只需要在feed中输出，不需要在正常页面显示
			$rand_posts = get_posts('numberposts=5&#38;orderby=rand');
			if($rand_posts){
				$content.='&#60;p style=" font-weight:bold;"&#62;你可能也喜欢：&#60;/p&#62;';
				$content.= '&#60;ul&#62;';
				 foreach( $rand_posts as $post ){
					 $content.='&#60;li&#62;&#60;a href="'.get_permalink($post-&#62;ID).'" target="_blank"&#62;'.$post-&#62;post_title.'&#60;/a&#62;&#60;/li&#62;';
					 }
				$content.='&#60;/ul&#62;';	
			}
		}
        return $content;
}
add_filter ('the_content', 'feed_copyright',0);</pre>]]></description>
			<content:encoded><![CDATA[<p>想在feed中，输出版权信息和随机文章，网上查找了一下，大多数都是在文章页添加，而没有在feed中输出的。照猫画虎，自己实现了一下。将以下代码添加到function.php文件中即可。</p>
<pre class="brush:php">function feed_copyright($content) {
        if(is_single() or is_feed()) {
                $content.= "&lt;blockquote&gt;";
                $content.= '&lt;div&gt;　&amp;raquo; 本文链接地址：&lt;a rel="bookmark" title="'.get_the_title().'" href="'.get_permalink().'"&gt;'.get_permalink().'&lt;/a&gt;&lt;/div&gt;';

                $content.= "&lt;/blockquote&gt;";
        }
		if(is_feed()){
			//我只需要在feed中输出，不需要在正常页面显示
			$rand_posts = get_posts('numberposts=5&amp;orderby=rand');
			if($rand_posts){
				$content.='&lt;p style=" font-weight:bold;"&gt;你可能也喜欢：&lt;/p&gt;';
				$content.= '&lt;ul&gt;';
				 foreach( $rand_posts as $post ){
					 $content.='&lt;li&gt;&lt;a href="'.get_permalink($post-&gt;ID).'" target="_blank"&gt;'.$post-&gt;post_title.'&lt;/a&gt;&lt;/li&gt;';
					 }
				$content.='&lt;/ul&gt;';
			}
		}
        return $content;
}
add_filter ('the_content', 'feed_copyright',0);</pre>
]]></content:encoded>
			<wfw:commentRss>http://zhaokaihua.com/article/329.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress不用插件获取随机文章</title>
		<link>http://zhaokaihua.com/article/326.htm</link>
		<comments>http://zhaokaihua.com/article/326.htm#comments</comments>
		<pubDate>Tue, 10 Jan 2012 16:46:14 +0000</pubDate>
		<dc:creator>kaihua</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp随机文章]]></category>

		<guid isPermaLink="false">http://zhaokaihua.com/?p=326</guid>
		<description><![CDATA[通常我们可以通过<a href="http://www.wordpress.la/wordpress-random-pages-widget.html">Random Pages Widget</a>插件来实现随机文章的显示，不过如果不想涉及插件，下面的代码也可以调用出随机文章。将下面的代码，插入到需要显示的位置即可。
<pre class="brush:xml">&#60;ul&#62;  &#60;?php $rand_posts = get_posts('numberposts=5&#38;orderby=rand');  foreach( $rand_posts as $post ) : ?&#62;
   &#60;li&#62;&#60;a href="&#60;?php the_permalink(); ?&#62;"&#62;&#60;?php the_title(); ?&#62;&#60;/a&#62;&#60;/li&#62;
&#60;?php endforeach; ?&#62;
&#60;/ul&#62;</pre>]]></description>
			<content:encoded><![CDATA[<p>通常我们可以通过<a href="http://www.wordpress.la/wordpress-random-pages-widget.html">Random Pages Widget</a>插件来实现随机文章的显示，不过如果不想涉及插件，下面的代码也可以调用出随机文章。将下面的代码，插入到需要显示的位置即可。</p>
<pre class="brush:xml">&lt;ul&gt;  &lt;?php $rand_posts = get_posts('numberposts=5&amp;orderby=rand');  foreach( $rand_posts as $post ) : ?&gt;
   &lt;li&gt;&lt;a href="&lt;?php the_permalink(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;
&lt;?php endforeach; ?&gt;
&lt;/ul&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://zhaokaihua.com/article/326.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

