<?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>Domety &#187; 程序开发</title>
	<atom:link href="http://domety.com/archives/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://domety.com</link>
	<description>分享软件、互联网应用技巧以及开发技能</description>
	<lastBuildDate>Wed, 26 May 2010 14:28:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>如何设置wordpress主题的日期格式</title>
		<link>http://domety.com/archives/264/</link>
		<comments>http://domety.com/archives/264/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 17:49:26 +0000</pubDate>
		<dc:creator>DDBug</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[日期]]></category>

		<guid isPermaLink="false">http://domety.com/?p=264</guid>
		<description><![CDATA[这里说的设置日期格式不是在控制台设置，而是在主题中调用日期函数的时候，如何传递正确的参数来达到我们想要的日期显示方式。阅读完此文，对你制作主题或者修改主题中日期的显示方式有所帮助。
比如在主题中调用这样一个时间函数
&#60;?php the_time('Y-m-d'); ?&#62;
那么在页面中显示的形式就是 2010-04-25 (年-月-日)。你也许会问：为什么要用Y m d这几个字母呢？有没有其它字母可以使用呢？又有哪些字母可以使用呢？以下就是一些可以使用的字母
星期

l    ——  Sunday – Saturday
D  ——  Mon – Sun （英文缩写）

不过对于中文wordpress而言，l和D的效果是一样的（星期一 ~ 星期日）。
年份

Y    ——    4位数的年份 （如 2010）
y    ——    2位数的年份 （如 10）

月份

m  ——  数字月份，单数前加0 （01 &#8211; 12）
n  ——  数字月份，单数前不加0  （1 &#8211; 12）
F  ——  英文月份 （January – December）
M ——  英文月份缩写 （Jan &#8211; Dec）

同样，对于中文wordpress而言F和M的效果是一样的（一月 ~ 十二月）。
日期

d  ——  数字，单数前加0 (01 &#8211; 31)
j  ——  数字，单数前不加0 [...]<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/264/">《如何设置wordpress主题的日期格式》</a></li><li>本文链接: <a href="http://domety.com/archives/264/" title="如何设置wordpress主题的日期格式">http://domety.com/archives/264/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 四月 25th,2010</li><li>关键字: <a href="http://domety.com/archives/tag/wordpress/" rel="tag">WordPress</a><a href="http://domety.com/archives/tag/%e6%97%a5%e6%9c%9f/" rel="tag">日期</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/141/">小工具“随机文章”插件制作完成</a></li><li><a href="http://domety.com/archives/206/">添加keywords和description</a></li><li><a href="http://domety.com/archives/216/">wordpress首页显示摘要的几种方法</a></li><li><a href="http://domety.com/archives/190/">升级到wordpress2.9原来如此简单</a></li><li><a href="http://domety.com/archives/94/">给网站(博客)添加RSS订阅到(google、鲜果、有道、QQ邮箱)</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>这里说的设置日期格式不是在控制台设置，而是在主题中调用日期函数的时候，如何传递正确的参数来达到我们想要的日期显示方式。阅读完此文，对你制作主题或者修改主题中日期的显示方式有所帮助。</p>
<p>比如在主题中调用这样一个时间函数</p>
<pre>&lt;?php the_time('Y-m-d'); ?&gt;</pre>
<p>那么在页面中显示的形式就是 2010-04-25 (年-月-日)。你也许会问：为什么要用Y m d这几个字母呢？有没有其它字母可以使用呢？又有哪些字母可以使用呢？以下就是一些可以使用的字母</p>
<h4>星期</h4>
<ul>
<li>l    ——  Sunday – Saturday</li>
<li>D  ——  Mon – Sun （英文缩写）</li>
</ul>
<p>不过对于中文wordpress而言，l和D的效果是一样的（星期一 ~ 星期日）。</p>
<h4>年份</h4>
<ul>
<li>Y    ——    4位数的年份 （如 2010）</li>
<li>y    ——    2位数的年份 （如 10）</li>
</ul>
<h4>月份</h4>
<ul>
<li>m  ——  数字月份，单数前加0 （01 &#8211; 12）</li>
<li>n  ——  数字月份，单数前不加0  （1 &#8211; 12）</li>
<li>F  ——  英文月份 （January – December）</li>
<li>M ——  英文月份缩写 （Jan &#8211; Dec）</li>
</ul>
<p>同样，对于中文wordpress而言F和M的效果是一样的（一月 ~ 十二月）。</p>
<h4>日期</h4>
<ul>
<li>d  ——  数字，单数前加0 (01 &#8211; 31)</li>
<li>j  ——  数字，单数前不加0 （1 &#8211; 31）</li>
<li>S  ——  日期的英文复数形式(st, nd, rd or th)，需要结合d或j使用。比如dS (04th)、jS (4th)</li>
</ul>
<h4>时间</h4>
<ul>
<li>h  ——  12小时制，单数以0开头 (01 &#8211; 12)</li>
<li>g  ——  12小时制，不带0 （1 &#8211; 12）</li>
<li>a  ——  am (上午)，pm(下午)</li>
<li>A  ——  AM，PM （大写的上下午）</li>
<li>H  —— 24小时制，单数前加0 （00 &#8211; 23）</li>
<li>G  ——  24小时制，单数前不加0 （0 &#8211; 23）</li>
<li>i  ——  分，单数前加0 （00 &#8211; 59）</li>
<li>s  ——  秒，单数前加0 （00 &#8211; 59）</li>
</ul>
<p>如果参数中包含以上字母，就会自动转换为相应的日期和时间，其它字符不会被转换。如</p>
<pre>&lt;?php the_time('公元Y年m月d日'); ?&gt;</pre>
<p>显示形式为 公元2010年04月25日</p>
<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/264/">《如何设置wordpress主题的日期格式》</a></li><li>本文链接: <a href="http://domety.com/archives/264/" title="如何设置wordpress主题的日期格式">http://domety.com/archives/264/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 四月 25th,2010</li><li>关键字: <a href="http://domety.com/archives/tag/wordpress/" rel="tag">WordPress</a><a href="http://domety.com/archives/tag/%e6%97%a5%e6%9c%9f/" rel="tag">日期</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/199/">向搜索引擎提交站点</a></li><li><a href="http://domety.com/archives/143/">用wordpress 2.8 widget API 制作侧边栏小工具</a></li><li><a href="http://domety.com/archives/202/">wordpress循环之基础篇</a></li><li><a href="http://domety.com/archives/195/">wordpress订阅RSS最新方法</a></li><li><a href="http://domety.com/archives/152/">自制随机文章插件升级到1.1</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://domety.com/archives/264/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>为wordpress添加评论邮件回复功能</title>
		<link>http://domety.com/archives/253/</link>
		<comments>http://domety.com/archives/253/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 14:28:06 +0000</pubDate>
		<dc:creator>DDBug</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[评论]]></category>
		<category><![CDATA[邮件]]></category>

		<guid isPermaLink="false">http://domety.com/?p=253</guid>
		<description><![CDATA[评论回复就是说如果你在一个博客或者网站上留了言，当有人回复你的时候，系统就会自动发一封邮件通知你。我最早在万戈那里留言的时候，就体会到的评论回复在用户体验上是很友好的。最近逛的博客多了，才发现几乎所有的博客都有评论回复功能。那好吧，我就也给小站增加一个邮件回复的功能。
最快最方便的方法就是使用插件，这样的插件很多，就不在这里多说了，再说我也没有使用过，也不好评价那一个插件好用。本文介绍的是自己动手，添加一些代码实现邮件回复的功能。
wp_mail函数简介
不知道大家有没有注意过，在wordpress安装成功后，会向你的邮件中发送一封邮件。从这一点就可以看出worpress自带有发送邮件的功能。而且控制台里也可以设置当日志有新评论的时候邮件通知。就是从这里下手，我找到了这个wp_mail函数，它的功能就是发送邮件。该函数定义在wp-includes目录下的plaggable.php文件中，其原型为
wp_mail( $to, $subject, $message, $headers = '', $attachments = array() )
其中参数$to代表收件人，$subject是邮件主题。通过$header可以设置发件人信息，比如发件人名称、email地址（Name &#60;email@address.com&#62;）等，还可以设置邮件的文本格式，默认是text/plain，该格式不支持html格式。如果想使用html格式，就要设置为text/html。具体设置的方法是传递一个字符串，如
$headers = "from:Domety &#60;ddbug@domety.com&#62;\n content-type:text/html"
注意中间是以\n隔开。或者传递一个数组，如
$headers = array("from" =&#62; "Domety &#60;ddbug@domety.com&#62;","content-type" = "text/html" );
最后还可以通过$attachments参数来发送附件。
action : wp_insert_comment
有了发送邮件的函数，就可以说是万事具备，只欠东风了。我们需要准确的知道在什么时候要发送邮件，我觉得至少要符合以下条件：

在有人发表评论的时候，这时候wordpress会调用wp_insert_comment函数。
该评论不是直接对日志的评论，而是回复的另一个评论。也就是这个评论一定要有parent.
该评论是通过审核的评论。也就是说approved == 1
被回复的评论要有email地址。

wp_inset_comment函数为开发人员提供了一个叫做wp_insert_comment的action,通过它我们可以很方便的完成对以上条件的审查工作。我们首先定义一个 dm_notify_commentauthor($comment_id,$comment)函数，用来处理邮件通知用户。然后增加一个action
add_action('wp_insert_comment','dm_notify_commentauthor',10,2);
这样一来，当有用户回复另一个人的评论的时候，就会邮件通知另一个人。至此我们的全部工作就做完了。以下是完整代码，添加到functions.php文件中即可生效。
function dm_notify_commentauthor($comment_id,$comment) {
 if($comment-&#62;comment_approved != 1 &#124;&#124; $comment-&#62;comment_type == 'trackback' &#124;&#124; $comment-&#62;comment_type == 'pingback' &#124;&#124; $comment-&#62;comment_parent == 0 )
  return $comment_id;
 $parent = get_comment($comment-&#62;comment_parent);
 if(empty($parent-&#62;comment_author_email))
  return $comment_id;
 $post = get_post($comment-&#62;comment_post_ID);
 $to = $parent-&#62;comment_author_email;
 $from_name = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);s;
 $from_email [...]<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/253/">《为wordpress添加评论邮件回复功能》</a></li><li>本文链接: <a href="http://domety.com/archives/253/" title="为wordpress添加评论邮件回复功能">http://domety.com/archives/253/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 四月 20th,2010</li><li>关键字: <a href="http://domety.com/archives/tag/wordpress/" rel="tag">WordPress</a><a href="http://domety.com/archives/tag/%e8%af%84%e8%ae%ba/" rel="tag">评论</a><a href="http://domety.com/archives/tag/%e9%82%ae%e4%bb%b6/" rel="tag">邮件</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/247/">开启Akismet插件，自动过滤垃圾留言</a></li><li><a href="http://domety.com/archives/208/">查看页面执行php占用内存情况</a></li><li><a href="http://domety.com/archives/141/">小工具“随机文章”插件制作完成</a></li><li><a href="http://domety.com/archives/217/">公布本站首页缩略图方法</a></li><li><a href="http://domety.com/archives/193/">wordpress2.9模板果然支持page-slug和page-id了</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>评论回复就是说如果你在一个博客或者网站上留了言，当有人回复你的时候，系统就会自动发一封邮件通知你。我最早在万戈那里留言的时候，就体会到的评论回复在用户体验上是很友好的。最近逛的博客多了，才发现几乎所有的博客都有评论回复功能。那好吧，我就也给小站增加一个邮件回复的功能。</p>
<p>最快最方便的方法就是使用插件，这样的插件很多，就不在这里多说了，再说我也没有使用过，也不好评价那一个插件好用。本文介绍的是自己动手，添加一些代码实现邮件回复的功能。</p>
<h3>wp_mail函数简介</h3>
<p>不知道大家有没有注意过，在wordpress安装成功后，会向你的邮件中发送一封邮件。从这一点就可以看出worpress自带有发送邮件的功能。而且控制台里也可以设置当日志有新评论的时候邮件通知。就是从这里下手，我找到了这个wp_mail函数，它的功能就是发送邮件。该函数定义在wp-includes目录下的plaggable.php文件中，其原型为</p>
<pre>wp_mail( $to, $subject, $message, $headers = '', $attachments = array() )</pre>
<p>其中参数$to代表收件人，$subject是邮件主题。通过$header可以设置发件人信息，比如发件人名称、email地址（Name &lt;email@address.com&gt;）等，还可以设置邮件的文本格式，默认是text/plain，该格式不支持html格式。如果想使用html格式，就要设置为text/html。具体设置的方法是传递一个字符串，如</p>
<pre>$headers = "from:Domety &lt;ddbug@domety.com&gt;\n content-type:text/html"</pre>
<p>注意中间是以\n隔开。或者传递一个数组，如</p>
<pre>$headers = array("from" =&gt; "Domety &lt;ddbug@domety.com&gt;","content-type" = "text/html" );</pre>
<p>最后还可以通过$attachments参数来发送附件。</p>
<h3>action : wp_insert_comment</h3>
<p>有了发送邮件的函数，就可以说是万事具备，只欠东风了。我们需要准确的知道在什么时候要发送邮件，我觉得至少要符合以下条件：</p>
<ol>
<li>在有人发表评论的时候，这时候wordpress会调用wp_insert_comment函数。</li>
<li>该评论不是直接对日志的评论，而是回复的另一个评论。也就是这个评论一定要有parent.</li>
<li>该评论是通过审核的评论。也就是说approved == 1</li>
<li>被回复的评论要有email地址。</li>
</ol>
<p>wp_inset_comment函数为开发人员提供了一个叫做wp_insert_comment的action,通过它我们可以很方便的完成对以上条件的审查工作。我们首先定义一个 dm_notify_commentauthor($comment_id,$comment)函数，用来处理邮件通知用户。然后增加一个action</p>
<pre>add_action('wp_insert_comment','dm_notify_commentauthor',10,2);</pre>
<p>这样一来，当有用户回复另一个人的评论的时候，就会邮件通知另一个人。至此我们的全部工作就做完了。以下是完整代码，添加到functions.php文件中即可生效。</p>
<pre>function dm_notify_commentauthor($comment_id,$comment) {
 if($comment-&gt;comment_approved != 1 || $comment-&gt;comment_type == 'trackback' || $comment-&gt;comment_type == 'pingback' || $comment-&gt;comment_parent == 0 )
  return $comment_id;
 $parent = get_comment($comment-&gt;comment_parent);
 if(empty($parent-&gt;comment_author_email))
  return $comment_id;
 $post = get_post($comment-&gt;comment_post_ID);
 $to = $parent-&gt;comment_author_email;
 $from_name = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);s;
 $from_email = "<a href="mailto:ddbug@domety.com">ddbug@domety.com</a>";
 $mail_content_type = "text/html";
 $mail_headers = "from:$from_name &lt;$from_email&gt;\ncontent-type:$mail_content_type";
 $parent_name = empty($parent-&gt;comment_author) ?  '无名仕' : $parent-&gt;comment_author;
 $cur_name = empty($comment-&gt;comment_author) ?  '无名仕' : $comment-&gt;comment_author;
 $title = $cur_name.'回复了您在Domety.com的评论';

 $msg = '&lt;p&gt;'.$parent_name.',您好！&lt;/p&gt;';
 $msg .= '您在&lt;a href="'.get_permalink($post).'" style="text-decoration:none; color: #007EC4;"&gt;《'.$post-&gt;post_title.'》&lt;/a&gt;的评论：';
 $msg .= '&lt;p style="margin-left:50px; background:#fff;border:1px dashed #7C98B1;padding:10px 30px;"&gt;'.$parent-&gt;comment_content.'&lt;/p&gt;';
 $msg .= '&lt;p&gt;&lt;a href="'.$comment-&gt;comment_author_url.'" style="text-decoration:none; color: #007EC4;"&gt;'.$cur_name.'&lt;/a&gt;对您的回复：&lt;/p&gt;';
 $msg .= '&lt;p style="margin-left:50px; background:#fff;border:1px dashed #7C98B1;padding:10px 30px;"&gt;'.$comment-&gt;comment_content.'&lt;/p&gt;';
 $msg .= '&lt;p&gt;&lt;a href='.get_comment_link($comment).' style="text-decoration:none; color: #007EC4;"&gt;点此查看原始回复内容&lt;/a&gt;&lt;/p&gt;';
 $msg .= "&lt;p style='font-weight:bold'&gt;衷心的感谢您对 &lt;a href='http://domety.com/' style='text-decoration:none; color: #007EC4;'&gt;Domety&lt;/a&gt; 的关注和支持，欢迎 &lt;a href='http://feed.domety.com/' style='text-decoration:none; color: #007EC4;'&gt;订阅本站&lt;/a&gt;，以获取最新信息。&lt;/p&gt;";
 $msg = '&lt;div style="border:1px solid #7C98B1; background:#f1f1f1; padding:50px;font-size:16px;"&gt;'.$msg.'&lt;/div&gt;';
 @wp_mail($to,$title,$msg,$mail_headers);
 return $comment_id;
}
add_action('wp_insert_comment','dm_notify_commentauthor',10,2);</pre>
<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/253/">《为wordpress添加评论邮件回复功能》</a></li><li>本文链接: <a href="http://domety.com/archives/253/" title="为wordpress添加评论邮件回复功能">http://domety.com/archives/253/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 四月 20th,2010</li><li>关键字: <a href="http://domety.com/archives/tag/wordpress/" rel="tag">WordPress</a><a href="http://domety.com/archives/tag/%e8%af%84%e8%ae%ba/" rel="tag">评论</a><a href="http://domety.com/archives/tag/%e9%82%ae%e4%bb%b6/" rel="tag">邮件</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/152/">自制随机文章插件升级到1.1</a></li><li><a href="http://domety.com/archives/188/">为wordpress添加阅读RSS功能</a></li><li><a href="http://domety.com/archives/220/">自定义more标签的more跳转</a></li><li><a href="http://domety.com/archives/233/">为页面标题添加页码</a></li><li><a href="http://domety.com/archives/206/">添加keywords和description</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://domety.com/archives/253/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>开启Akismet插件，自动过滤垃圾留言</title>
		<link>http://domety.com/archives/247/</link>
		<comments>http://domety.com/archives/247/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 13:45:58 +0000</pubDate>
		<dc:creator>DDBug</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[插件]]></category>

		<guid isPermaLink="false">http://domety.com/?p=247</guid>
		<description><![CDATA[Wordpress自带了一个叫做Akismet的插件，刚开始一直感觉它没有什么用处，也就没有开启这个插件。但后来发现，随着网站流量的增多，慢慢的垃圾留言也开始增多。后来就开启了Akismet，效果还真不错。这段时间Akismet帮我过虑了不少垃圾留言，请看截图

不过Akismet和其它插件不一样，不是点击“开启”就能起作用的，还需要一个wordpress.com的API key，具体开启过程请往下看。
开启过程
进入后台管理面板，查看插件列表，你会发现有一个Akismet插件，如下图

点击“wordpress.com API key”或者直接在浏览器的地址栏里输入http://akismet.com/get/，进入如下图所示的页面

在&#8221;your email address&#8221;一栏输入你的email地址，然后点击&#8221;Next&#8221;

在&#8221;choose a username&#8221;一栏输入一个用户名，并勾选&#8221;I have read and agree to the Akismet terms of service&#8221;，点击“Next”

这个页面是说已经向你的邮箱里发送了一封激活账号的邮件，需要你打开你的邮箱并点击激活链接进行激活账号操作。
那么下一步就是打开你的邮箱查看邮件

点击邮件内的链接进行激活

复制你的API Key，然后进入你的wordpress后台管理面板，开启Akismet插件

点击“输入一个wordpress.com API key”

把你刚才复制的API key粘贴过来，然后点击“更新选项”

恭喜你，你的Akismet过虑垃圾留言插件已经生效了。以后你可以通过控制板下面的“Akismet统计”来查看垃圾留言情况。

版权声明: 转载时请以超链接形式标明文章原始出处和作者信息本文来自: Domety&#187;《开启Akismet插件，自动过滤垃圾留言》本文链接: http://domety.com/archives/247/本文作者: DDBug发表时期: 四月 6th,2010关键字: WordPress插件本站的feed地址已经更改为http://feed.domety.com/,请朋友们手动更改一下，谢谢相关文章如何制作WordPress插件为wordpress添加评论邮件回复功能用wordpress 2.8 widget API 制作侧边栏小工具wordpress自定义页面详解wordpress安装过程<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/247/">《开启Akismet插件，自动过滤垃圾留言》</a></li><li>本文链接: <a href="http://domety.com/archives/247/" title="开启Akismet插件，自动过滤垃圾留言">http://domety.com/archives/247/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 四月 6th,2010</li><li>关键字: <a href="http://domety.com/archives/tag/wordpress/" rel="tag">WordPress</a><a href="http://domety.com/archives/tag/%e6%8f%92%e4%bb%b6/" rel="tag">插件</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/206/">添加keywords和description</a></li><li><a href="http://domety.com/archives/77/">WordPress中给文章加入版权声明</a></li><li><a href="http://domety.com/archives/253/">为wordpress添加评论邮件回复功能</a></li><li><a href="http://domety.com/archives/141/">小工具“随机文章”插件制作完成</a></li><li><a href="http://domety.com/archives/132/">wordpress中显示页面位置：当前位置</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>Wordpress自带了一个叫做Akismet的插件，刚开始一直感觉它没有什么用处，也就没有开启这个插件。但后来发现，随着网站流量的增多，慢慢的垃圾留言也开始增多。后来就开启了Akismet，效果还真不错。这段时间Akismet帮我过虑了不少垃圾留言，请看截图<span id="more-247"></span></p>
<p><img class="alignnone" title="Akismet统计概况" src="http://i623.domety.com/albums/tt312/baolai5/201004/akismet_001.png" alt="" width="562" height="260" /></p>
<p>不过Akismet和其它插件不一样，不是点击“开启”就能起作用的，还需要一个wordpress.com的API key，具体开启过程请往下看。</p>
<h3>开启过程</h3>
<p>进入后台管理面板，查看插件列表，你会发现有一个Akismet插件，如下图</p>
<p><img class="alignnone" src="http://i623.domety.com/albums/tt312/baolai5/201004/akismet_002.png" alt="" width="535" height="135" /></p>
<p>点击“wordpress.com API key”或者直接在浏览器的地址栏里输入<a href="http://akismet.com/get/">http://akismet.com/get/</a>，进入如下图所示的页面</p>
<p><img class="alignnone" src="http://i623.domety.com/albums/tt312/baolai5/201004/akismet_003.png" alt="" width="516" height="349" /></p>
<p>在&#8221;your email address&#8221;一栏输入你的email地址，然后点击&#8221;Next&#8221;</p>
<p><img class="alignnone" src="http://i623.domety.com/albums/tt312/baolai5/201004/akismet_004.png" alt="" width="506" height="345" /></p>
<p>在&#8221;choose a username&#8221;一栏输入一个用户名，并勾选&#8221;I have read and agree to the Akismet terms of service&#8221;，点击“Next”</p>
<p><img class="alignnone" src="http://i623.domety.com/albums/tt312/baolai5/201004/akismet_005.png" alt="" width="514" height="136" /></p>
<p>这个页面是说已经向你的邮箱里发送了一封激活账号的邮件，需要你打开你的邮箱并点击激活链接进行激活账号操作。</p>
<p>那么下一步就是打开你的邮箱查看邮件</p>
<p><img class="alignnone" src="http://i623.domety.com/albums/tt312/baolai5/201004/akismet_006.png" alt="" width="566" height="130" /></p>
<p>点击邮件内的链接进行激活</p>
<p><img class="alignnone" src="http://i623.domety.com/albums/tt312/baolai5/201004/akismet_007.png" alt="" width="454" height="305" /></p>
<p>复制你的API Key，然后进入你的wordpress后台管理面板，开启Akismet插件</p>
<p><img class="alignnone" src="http://i623.domety.com/albums/tt312/baolai5/201004/akismet_008.png" alt="" width="475" height="89" /></p>
<p>点击“输入一个wordpress.com API key”</p>
<p><img class="alignnone" src="http://i623.domety.com/albums/tt312/baolai5/201004/akismet_009.png" alt="" width="515" height="446" /></p>
<p>把你刚才复制的API key粘贴过来，然后点击“更新选项”</p>
<p><img class="alignnone" src="http://i623.domety.com/albums/tt312/baolai5/201004/akismet_010.png" alt="" width="520" height="436" /></p>
<p>恭喜你，你的Akismet过虑垃圾留言插件已经生效了。以后你可以通过控制板下面的“Akismet统计”来查看垃圾留言情况。</p>
<p><img class="alignnone" title="Akismet统计报表" src="http://i623.domety.com/albums/tt312/baolai5/201004/akismet_011.png" alt="" width="559" height="522" /></p>
<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/247/">《开启Akismet插件，自动过滤垃圾留言》</a></li><li>本文链接: <a href="http://domety.com/archives/247/" title="开启Akismet插件，自动过滤垃圾留言">http://domety.com/archives/247/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 四月 6th,2010</li><li>关键字: <a href="http://domety.com/archives/tag/wordpress/" rel="tag">WordPress</a><a href="http://domety.com/archives/tag/%e6%8f%92%e4%bb%b6/" rel="tag">插件</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/188/">为wordpress添加阅读RSS功能</a></li><li><a href="http://domety.com/archives/156/">为WorePress管理面板添加自定义菜单选项</a></li><li><a href="http://domety.com/archives/216/">wordpress首页显示摘要的几种方法</a></li><li><a href="http://domety.com/archives/115/">WordPress中自定义你的文章链接</a></li><li><a href="http://domety.com/archives/154/">如何制作WordPress插件</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://domety.com/archives/247/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>对所有日志的指定字符串进行替换</title>
		<link>http://domety.com/archives/244/</link>
		<comments>http://domety.com/archives/244/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 13:09:47 +0000</pubDate>
		<dc:creator>DDBug</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[phpmyadmin]]></category>

		<guid isPermaLink="false">http://domety.com/?p=244</guid>
		<description><![CDATA[上午写了一篇《终于解决了半角引号自动转换为全角引号的问题》，果真也有朋友和我一样，用blockquote引用代码，但他们又不想修改wordpress的源代码，所以想把blockquote替换成pre或者code。但又苦于日志太多，一篇一篇的修改也确实太麻烦。在QQ上问我有没有简单的方法&#8230;&#8230;
方法当然是有的，而且还有很多种。比如可以通过写一段php代码，先从数据库中取出所有的日志，再用str_replace函数进行字符串替换，然后再更新数据库。这种方法当然可以，特别是对于插件开发者，可以在插件中增加一个对所有日志替换字符串的功能。但是这个需要一般不是太高，也没必要做到插件中去。其实我们可以充分发挥mysql的实力，也就是一条sql语句的事情。
REPLACE()
稍微了解一点mysql的人都应该知道，mysql定义了很多实用的函数，其中就有一个字符串替换的函数REPLACE()，具体参数如下
REPLACE(str,from_str,to_str)
这是mysql5.5的参考手册中给出的解释，其中str是一个要查找的字符串，from_str是要被替换的字符串，to_str是替换字符串。手册中也给出了一个例子
mysql&#62; SELECT REPLACE('www.mysql.com', 'w', 'Ww');
-&#62; 'WwWwWw.mysql.com'
这段例子是把字符串&#8217;www.mysql.com&#8217;中的&#8217;w'替换成&#8217;Ww&#8217;，替换结果是&#8217;WwWwWw.mysql.com&#8217;。
开始行动
有了以上的准备知识，让我们实际动手试一试吧，把日志中的blockquote标签替换成code标签或pre标签，以替换成code标签为例。
首先登录你的phpmyadmin管理面板，进入你的wordpress所使用的数据库，编辑sql语句
UPDATE ddd_posts SET post_content = replace( post_content, 'blockquote', 'code' )
其中ddd_posts为你的日志表名，请根据实际情况进行更改(下同)。其实这一个简单的sql语句就可以达到我们的目的了，但是有一个缺点：它不仅会替换&#60;blockquote&#62;&#60;/blockquote&#62;标签中的blockquote字符串，也会替换掉你在正文中出现的字符串中包含的blockquote。为了避免出现这种情况，我们采取下面这样的安全措施
UPDATE ddd_posts SET post_content = replace( post_content, '&#60;blockquote&#62;', '&#60;code&#62;' ) ;
UPDATE ddd_posts SET post_content = replace( post_content, '&#60;/blockquote&#62;', '&#60;/code&#62;' ) ;
这样就可以准确的把blockquote标签替换成code标签。
替换昵称
我们再举一个常见的例子，有些人写文章的时候喜欢在文章中引入自己的昵称，就像我有的时候会在文章称自己是的DDBug一样。但是一段时间之后作者想改换昵称，这个时候REPLACE函数就又派上了用场。比如我想把DDBug替换成Domety，就可以执行下面这样的sql语句
UPDATE ddd_posts SET post_content = replace( post_content, 'DDBug', 'Domety' )
当然，针对不同的用户，可能还有更多类似的需求，当你碰到类似的问题的时候，考虑一下mysql的REPLACE函数吧，或许能帮上你的忙。
版权声明: 转载时请以超链接形式标明文章原始出处和作者信息本文来自: Domety&#187;《对所有日志的指定字符串进行替换》本文链接: http://domety.com/archives/244/本文作者: DDBug发表时期: 四月 4th,2010关键字: mysqlphpmyadminWordPress本站的feed地址已经更改为http://feed.domety.com/,请朋友们手动更改一下，谢谢相关文章升级到wordpress2.9原来如此简单为wordpress添加阅读RSS功能Domety正式更换主题为win开启Akismet插件，自动过滤垃圾留言wordpress2.9模板果然支持page-slug和page-id了<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/244/">《对所有日志的指定字符串进行替换》</a></li><li>本文链接: <a href="http://domety.com/archives/244/" title="对所有日志的指定字符串进行替换">http://domety.com/archives/244/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 四月 4th,2010</li><li>关键字: <a href="http://domety.com/archives/tag/mysql/" rel="tag">mysql</a><a href="http://domety.com/archives/tag/phpmyadmin/" rel="tag">phpmyadmin</a><a href="http://domety.com/archives/tag/wordpress/" rel="tag">WordPress</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/94/">给网站(博客)添加RSS订阅到(google、鲜果、有道、QQ邮箱)</a></li><li><a href="http://domety.com/archives/216/">wordpress首页显示摘要的几种方法</a></li><li><a href="http://domety.com/archives/134/">Wordpress中给文章添加“上一篇 下一篇”功能</a></li><li><a href="http://domety.com/archives/220/">自定义more标签的more跳转</a></li><li><a href="http://domety.com/archives/141/">小工具“随机文章”插件制作完成</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>上午写了一篇《<a href="http://domety.com/archives/241/">终于解决了半角引号自动转换为全角引号的问题</a>》，果真也有朋友和我一样，用blockquote引用代码，但他们又不想修改wordpress的源代码，所以想把blockquote替换成pre或者code。但又苦于日志太多，一篇一篇的修改也确实太麻烦。在QQ上问我有没有简单的方法&#8230;&#8230;</p>
<p>方法当然是有的，而且还有很多种。比如可以通过写一段php代码，先从数据库中取出所有的日志，再用str_replace函数进行字符串替换，然后再更新数据库。这种方法当然可以，特别是对于插件开发者，可以在插件中增加一个对所有日志替换字符串的功能。但是这个需要一般不是太高，也没必要做到插件中去。其实我们可以充分发挥mysql的实力，也就是一条sql语句的事情。<span id="more-244"></span></p>
<h3>REPLACE()</h3>
<p>稍微了解一点mysql的人都应该知道，mysql定义了很多实用的函数，其中就有一个字符串替换的函数REPLACE()，具体参数如下</p>
<pre>REPLACE(<em>str</em>,<em>from_str</em>,<em>to_str</em>)</pre>
<p>这是mysql5.5的参考手册中给出的解释，其中str是一个要查找的字符串，from_str是要被替换的字符串，to_str是替换字符串。手册中也给出了一个例子</p>
<pre>mysql&gt; <strong>SELECT REPLACE('www.mysql.com', 'w', 'Ww');</strong>
-&gt; 'WwWwWw.mysql.com'</pre>
<p>这段例子是把字符串&#8217;www.mysql.com&#8217;中的&#8217;w'替换成&#8217;Ww&#8217;，替换结果是&#8217;WwWwWw.mysql.com&#8217;。</p>
<h3>开始行动</h3>
<p>有了以上的准备知识，让我们实际动手试一试吧，把日志中的blockquote标签替换成code标签或pre标签，以替换成code标签为例。</p>
<p>首先登录你的phpmyadmin管理面板，进入你的wordpress所使用的数据库，编辑sql语句</p>
<pre>UPDATE ddd_posts SET post_content = replace( post_content, 'blockquote', 'code' )</pre>
<p>其中ddd_posts为你的日志表名，请根据实际情况进行更改(下同)。其实这一个简单的sql语句就可以达到我们的目的了，但是有一个缺点：它不仅会替换&lt;blockquote&gt;&lt;/blockquote&gt;标签中的blockquote字符串，也会替换掉你在正文中出现的字符串中包含的blockquote。为了避免出现这种情况，我们采取下面这样的安全措施</p>
<pre>UPDATE ddd_posts SET post_content = replace( post_content, '&lt;blockquote&gt;', '&lt;code&gt;' ) ;
UPDATE ddd_posts SET post_content = replace( post_content, '&lt;/blockquote&gt;', '&lt;/code&gt;' ) ;</pre>
<p>这样就可以准确的把blockquote标签替换成code标签。</p>
<h3>替换昵称</h3>
<p>我们再举一个常见的例子，有些人写文章的时候喜欢在文章中引入自己的昵称，就像我有的时候会在文章称自己是的DDBug一样。但是一段时间之后作者想改换昵称，这个时候REPLACE函数就又派上了用场。比如我想把DDBug替换成Domety，就可以执行下面这样的sql语句</p>
<pre>UPDATE ddd_posts SET post_content = replace( post_content, 'DDBug', 'Domety' )</pre>
<p>当然，针对不同的用户，可能还有更多类似的需求，当你碰到类似的问题的时候，考虑一下mysql的REPLACE函数吧，或许能帮上你的忙。</p>
<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/244/">《对所有日志的指定字符串进行替换》</a></li><li>本文链接: <a href="http://domety.com/archives/244/" title="对所有日志的指定字符串进行替换">http://domety.com/archives/244/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 四月 4th,2010</li><li>关键字: <a href="http://domety.com/archives/tag/mysql/" rel="tag">mysql</a><a href="http://domety.com/archives/tag/phpmyadmin/" rel="tag">phpmyadmin</a><a href="http://domety.com/archives/tag/wordpress/" rel="tag">WordPress</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/199/">向搜索引擎提交站点</a></li><li><a href="http://domety.com/archives/216/">wordpress首页显示摘要的几种方法</a></li><li><a href="http://domety.com/archives/233/">为页面标题添加页码</a></li><li><a href="http://domety.com/archives/204/">wordpress循环之查询篇</a></li><li><a href="http://domety.com/archives/202/">wordpress循环之基础篇</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://domety.com/archives/244/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>终于解决了半角引号自动转换为全角引号的问题</title>
		<link>http://domety.com/archives/241/</link>
		<comments>http://domety.com/archives/241/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 12:42:19 +0000</pubDate>
		<dc:creator>DDBug</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://domety.com/?p=241</guid>
		<description><![CDATA[以前就有朋友反应过日志中的代码中引号有问题，一直也没放在心上。今天仔细看了一下，原来wordpress会自动把blockquote中的半角引号转换成全角引号。以下是两种解决方法
修改formatting.php文件
wordpress对日志的格式化处理代码保存在includes文件夹下的formatting.php文件中。用文本编辑器打开该文件，找到以下代码片段
if ( !empty($curl) &#38;&#38; '&#60;' != $curl{0} &#38;&#38; '[' != $curl{0}
amp;&#38; empty($no_texturize_shortcodes_stack) &#38;&#38; empty($no_texturize_tags_stack)) {
// This is not a tag, nor is the texturization disabled
// static strings
$curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
}
注释掉两条$curl语句即可，修改后代码如下：
if ( !empty($curl) &#38;&#38; '&#60;' != $curl{0} &#38;&#38; '[' != $curl{0}
&#38;&#38; empty($no_texturize_shortcodes_stack) &#38;&#38; empty($no_texturize_tags_stack)) {
// This is not a [...]<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/241/">《终于解决了半角引号自动转换为全角引号的问题》</a></li><li>本文链接: <a href="http://domety.com/archives/241/" title="终于解决了半角引号自动转换为全角引号的问题">http://domety.com/archives/241/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 四月 1st,2010</li><li>关键字: <a href="http://domety.com/archives/tag/wordpress/" rel="tag">WordPress</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/210/">wordpress自定义页面</a></li><li><a href="http://domety.com/archives/150/">个性评论头像——图解gravatar全球通用头像</a></li><li><a href="http://domety.com/archives/154/">如何制作WordPress插件</a></li><li><a href="http://domety.com/archives/169/">详解wordpress安装过程</a></li><li><a href="http://domety.com/archives/115/">WordPress中自定义你的文章链接</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>以前就有朋友反应过日志中的代码中引号有问题，一直也没放在心上。今天仔细看了一下，原来wordpress会自动把blockquote中的半角引号转换成全角引号。以下是两种解决方法</p>
<h3>修改formatting.php文件</h3>
<p>wordpress对日志的格式化处理代码保存在includes文件夹下的formatting.php文件中。用文本编辑器打开该文件，找到以下代码片段</p>
<pre>if ( !empty($curl) &amp;&amp; '&lt;' != $curl{0} &amp;&amp; '[' != $curl{0}
amp;&amp; empty($no_texturize_shortcodes_stack) &amp;&amp; empty($no_texturize_tags_stack)) {
// This is not a tag, nor is the texturization disabled
// static strings
$curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
}</pre>
<p>注释掉两条$curl语句即可，修改后代码如下：</p>
<pre>if ( !empty($curl) &amp;&amp; '&lt;' != $curl{0} &amp;&amp; '[' != $curl{0}
&amp;&amp; empty($no_texturize_shortcodes_stack) &amp;&amp; empty($no_texturize_tags_stack)) {
// This is not a tag, nor is the texturization disabled
// static strings
//$curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
//$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
}</pre>
<h3>还是修改formatting.php文件</h3>
<p>同样是修改formatting.php文件，上面提到的代码可以不用注释掉，找到下面这行代码</p>
<pre>$default_no_texturize_tags = array('pre', 'code', 'kbd', 'style', 'script', 'tt');</pre>
<p>改为</p>
<pre>$default_no_texturize_tags = array('pre', 'code', 'kbd', 'style', 'script', 'tt', 'blockquote');</pre>
<p>也就是在$default_no_texturize_tags中加入一个&#8217;blockquote&#8217;标签</p>
<h3>不使用blockquote</h3>
<p>以上两种方法都可以解决引号转换的问题，不过需要修改wordpress的源代码，对以后的升级带来了麻烦。从上面的代码中我们也可以看到，像pre,code这些标签都不会转换引号，可以使用这两个标签来代替blockquote。</p>
<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/241/">《终于解决了半角引号自动转换为全角引号的问题》</a></li><li>本文链接: <a href="http://domety.com/archives/241/" title="终于解决了半角引号自动转换为全角引号的问题">http://domety.com/archives/241/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 四月 1st,2010</li><li>关键字: <a href="http://domety.com/archives/tag/wordpress/" rel="tag">WordPress</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/134/">Wordpress中给文章添加“上一篇 下一篇”功能</a></li><li><a href="http://domety.com/archives/148/">WordPress性能测试——查看页面生成时间</a></li><li><a href="http://domety.com/archives/199/">向搜索引擎提交站点</a></li><li><a href="http://domety.com/archives/200/">在feed中加入版权信息以及相关文章</a></li><li><a href="http://domety.com/archives/224/">the_content是如何输出摘要和全文的</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://domety.com/archives/241/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML DOM实战——查找指定链接</title>
		<link>http://domety.com/archives/239/</link>
		<comments>http://domety.com/archives/239/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 04:39:02 +0000</pubDate>
		<dc:creator>DDBug</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://domety.com/?p=239</guid>
		<description><![CDATA[今天又给页面添加了一些快捷键，主要是想加深一下对DOM的了解。到目前为止，本站支持以下快捷键操作

在首页或者分类列表页面，按数字0键直接进入第一篇文章，1进入第二篇文章，以次类推。
日志内容页面，按←或p键跳转到上一页，按→或N键跳转到下一页

我的处理方式是响应按键事件的时候，查找对应的链接地址，然后跳转。这个处理过程根据页面文档的结构不同而不同，不过思想是一样的。以本站的首页为例，日志标题列表的结构如下：
&#60;div id="posts"&#62;
&#60;h2&#62;&#60;a href="第一篇日志链接"&#62;第一篇日志标题&#60;/a&#62;&#60;/h2&#62;
&#60;h2&#62;&#60;a href="第二篇日志链接"&#62;第二篇日志标题&#60;/a&#62;&#60;/h2&#62;
......
&#60;h2&#62;&#60;a href="第十篇日志链接"&#62;第十篇日志标题&#60;/a&#62;&#60;/h2&#62;
&#60;/div&#62;
通过对HTML DOM模型的理解，获取连接地址的方法如下：
var elems = document.getElementById("posts").getElementsByTagName("h2");
var elem = elems[i].childNodes[0];
if(elem){
var lin = elem.href;
window.location.assign(lin);
}
其中i的值为0~9,由按键决定。这里我们用到了document对象以及getElementById、getElementByTagName方法，还有childNodes和href属性。elems保存Posts下的所有h2元素集合，然后再通过childNodes属性来得到a标签元素，也就是一个Anchor对象，其href属性就是我们要查找的链接地址。最后通过window.location的assign方法，重新加载页面。如果要在新窗口中打开页面的话，请使用window.open()方法。
查找上一篇文章和下一篇文章链接的方法是一样的，主要分析页面文档的结构。
目前对DOM模型的操作还很生疏，更深层次的东西暂时还无法和大家分享，我会在第一时间把实战经验分享给大家，谢谢关注。
版权声明: 转载时请以超链接形式标明文章原始出处和作者信息本文来自: Domety&#187;《HTML DOM实战——查找指定链接》本文链接: http://domety.com/archives/239/本文作者: DDBug发表时期: 四月 1st,2010关键字: DOMhtmljs本站的feed地址已经更改为http://feed.domety.com/,请朋友们手动更改一下，谢谢相关文章为网站添加网址图标favicon.ico为页面添加快捷键响应HTML DOM 模型HTML DOM 模型为页面添加快捷键响应<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/239/">《HTML DOM实战——查找指定链接》</a></li><li>本文链接: <a href="http://domety.com/archives/239/" title="HTML DOM实战——查找指定链接">http://domety.com/archives/239/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 四月 1st,2010</li><li>关键字: <a href="http://domety.com/archives/tag/dom/" rel="tag">DOM</a><a href="http://domety.com/archives/tag/html/" rel="tag">html</a><a href="http://domety.com/archives/tag/js/" rel="tag">js</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/238/">HTML DOM 模型</a></li><li><a href="http://domety.com/archives/237/">为页面添加快捷键响应</a></li><li><a href="http://domety.com/archives/135/">为网站添加网址图标favicon.ico</a></li><li><a href="http://domety.com/archives/238/">HTML DOM 模型</a></li><li><a href="http://domety.com/archives/237/">为页面添加快捷键响应</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>今天又给页面添加了一些快捷键，主要是想加深一下对DOM的了解。到目前为止，本站支持以下快捷键操作</p>
<ul>
<li>在首页或者分类列表页面，按数字0键直接进入第一篇文章，1进入第二篇文章，以次类推。</li>
<li>日志内容页面，按←或p键跳转到上一页，按→或N键跳转到下一页</li>
</ul>
<p>我的处理方式是响应按键事件的时候，查找对应的链接地址，然后跳转。这个处理过程根据页面文档的结构不同而不同，不过思想是一样的。以本站的首页为例，日志标题列表的结构如下：<span id="more-239"></span></p>
<pre>&lt;div id="posts"&gt;
&lt;h2&gt;&lt;a href="第一篇日志链接"&gt;第一篇日志标题&lt;/a&gt;&lt;/h2&gt;
&lt;h2&gt;&lt;a href="第二篇日志链接"&gt;第二篇日志标题&lt;/a&gt;&lt;/h2&gt;
......
&lt;h2&gt;&lt;a href="第十篇日志链接"&gt;第十篇日志标题&lt;/a&gt;&lt;/h2&gt;
&lt;/div&gt;</pre>
<p>通过对<a href="http://domety.com/archives/238/">HTML DOM</a>模型的理解，获取连接地址的方法如下：</p>
<pre>var elems = document.getElementById("posts").getElementsByTagName("h2");
var elem = elems[i].childNodes[0];
if(elem){
var lin = elem.href;
window.location.assign(lin);
}</pre>
<p>其中i的值为0~9,由按键决定。这里我们用到了document对象以及getElementById、getElementByTagName方法，还有childNodes和href属性。elems保存Posts下的所有h2元素集合，然后再通过childNodes属性来得到a标签元素，也就是一个Anchor对象，其href属性就是我们要查找的链接地址。最后通过window.location的assign方法，重新加载页面。如果要在新窗口中打开页面的话，请使用window.open()方法。</p>
<p>查找上一篇文章和下一篇文章链接的方法是一样的，主要分析页面文档的结构。</p>
<p>目前对DOM模型的操作还很生疏，更深层次的东西暂时还无法和大家分享，我会在第一时间把实战经验分享给大家，谢谢关注。</p>
<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/239/">《HTML DOM实战——查找指定链接》</a></li><li>本文链接: <a href="http://domety.com/archives/239/" title="HTML DOM实战——查找指定链接">http://domety.com/archives/239/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 四月 1st,2010</li><li>关键字: <a href="http://domety.com/archives/tag/dom/" rel="tag">DOM</a><a href="http://domety.com/archives/tag/html/" rel="tag">html</a><a href="http://domety.com/archives/tag/js/" rel="tag">js</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/135/">为网站添加网址图标favicon.ico</a></li><li><a href="http://domety.com/archives/238/">HTML DOM 模型</a></li><li><a href="http://domety.com/archives/237/">为页面添加快捷键响应</a></li><li><a href="http://domety.com/archives/237/">为页面添加快捷键响应</a></li><li><a href="http://domety.com/archives/238/">HTML DOM 模型</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://domety.com/archives/239/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML DOM 模型</title>
		<link>http://domety.com/archives/238/</link>
		<comments>http://domety.com/archives/238/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 09:15:46 +0000</pubDate>
		<dc:creator>DDBug</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://domety.com/?p=238</guid>
		<description><![CDATA[本文收集整理自http://w3schools.com,简单的介绍一下HTML DOM模型。
HTML DOM模型可以用下面的html tree进行概括：

上图中的每一个方框都代表一个节点(Node)。如果你想动态的更改页面内容，只需要更改相应的节点即可。如果你打开任何一个网站，查看其源代码，会发现这个模型无处不在。
下面是节点之间的关系图

&#60;html&#62;节点是一个页面的根节点，当然你可以把上图中的节点替换成其它节点，也可以找到类似的关系。通过firstChild、lastChild、nextsibling、previousSibling、childNodes、parentNode等节点属性，可以遍历整个页面文档。
常用的节点属性和方法
我们假设x是一个一个节点对象，下面是一些常用的属性：

x.innerHTML —— 可以获取或更改x的文本内容
x.nodeName —— x的节点名称，只读，不可改写。如果x是HTML元素，返回的就是元素名(如p,h1,a等)，如果x是HTML标签的属性，返回的就是属性名(如href、title等)。
x.nodeValue —— 节点值。如果x是HTML元素,nodeValue无意义。如果果x是HTML标签的属性，则表示属性值。如果x是文本节点(Text)，则表示文本的内容。
x.parentNode —— x的父节点
x.childNodes —— x 的子节点集合
x.attributes —— x的属性集合

另外还有一个nodeType属性，表示节点类型：



Element type
NodeType


Element
1


Attribute
2


Text
3


Comment
8


Document
9



下面是一些常用的方法：

x.getElementById(id) &#8211; 根据元素id获取节点对象
x.getElementsByTagName(name) &#8211; 根据标签名获取所有元素的集合
x.appendChild(node) &#8211; 给x插入一个子节点
x.removeChild(node) &#8211; 从x中删除一个子节点

最后再了解一下HTML DOM中的事件
页面中的每一个元素都有触发脚本语句或函数的事件。比如我们点击页面中的某个按钮的时候，就触发了相应的&#8221;点击&#8221;事件，如果我们为这个&#8221;click&#8221;事件注册了脚本语句或函数的话，这个时候就会执行注册的脚本语句或函数。
以下列举几个事件触发的例子：

当鼠标点击的时候，触发&#8221;onclick&#8221;
当加载完页面或图片的时候，触发&#8221;onload&#8221;
当鼠标经过指定的区域的时候，触发&#8221;onmouseover&#8221;
当元素获得焦点的时候，触发&#8221;onfocus&#8221;
当按下键盘的时候，触发&#8221;onkeydown&#8221;,&#8221;onkeypress&#8221;,&#8221;onkeyup&#8221;

更多事件请参考http://w3schools.com/jsref/dom_obj_event.asp
版权声明: 转载时请以超链接形式标明文章原始出处和作者信息本文来自: Domety&#187;《HTML DOM 模型》本文链接: http://domety.com/archives/238/本文作者: DDBug发表时期: 三月 30th,2010关键字: DOMhtmljs本站的feed地址已经更改为http://feed.domety.com/,请朋友们手动更改一下，谢谢相关文章HTML DOM实战——查找指定链接为页面添加快捷键响应为网站添加网址图标favicon.icoHTML DOM实战——查找指定链接为页面添加快捷键响应<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/238/">《HTML DOM 模型》</a></li><li>本文链接: <a href="http://domety.com/archives/238/" title="HTML DOM 模型">http://domety.com/archives/238/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 三月 30th,2010</li><li>关键字: <a href="http://domety.com/archives/tag/dom/" rel="tag">DOM</a><a href="http://domety.com/archives/tag/html/" rel="tag">html</a><a href="http://domety.com/archives/tag/js/" rel="tag">js</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/239/">HTML DOM实战——查找指定链接</a></li><li><a href="http://domety.com/archives/237/">为页面添加快捷键响应</a></li><li><a href="http://domety.com/archives/135/">为网站添加网址图标favicon.ico</a></li><li><a href="http://domety.com/archives/237/">为页面添加快捷键响应</a></li><li><a href="http://domety.com/archives/239/">HTML DOM实战——查找指定链接</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>本文收集整理自http://w3schools.com,简单的介绍一下HTML DOM模型。</p>
<p>HTML DOM模型可以用下面的html tree进行概括：<span id="more-238"></span></p>
<p><img class="alignnone" title="html tree" src="http://i623.domety.com/albums/tt312/baolai5/201004/htmltree.gif" alt="" width="486" height="266" /></p>
<p>上图中的每一个方框都代表一个节点(Node)。如果你想动态的更改页面内容，只需要更改相应的节点即可。如果你打开任何一个网站，查看其源代码，会发现这个模型无处不在。</p>
<p>下面是节点之间的关系图</p>
<p><img class="alignnone" title="navigate" src="http://i623.domety.com/albums/tt312/baolai5/201004/navigate.gif" alt="" width="362" height="255" /></p>
<p>&lt;html&gt;节点是一个页面的根节点，当然你可以把上图中的节点替换成其它节点，也可以找到类似的关系。通过firstChild、lastChild、nextsibling、previousSibling、childNodes、parentNode等节点属性，可以遍历整个页面文档。</p>
<h3>常用的节点属性和方法</h3>
<p>我们假设x是一个一个节点对象，下面是一些常用的属性：</p>
<ul>
<li>x.innerHTML —— 可以获取或更改x的文本内容</li>
<li>x.nodeName —— x的节点名称，只读，不可改写。如果x是HTML元素，返回的就是元素名(如p,h1,a等)，如果x是HTML标签的属性，返回的就是属性名(如href、title等)。</li>
<li>x.nodeValue —— 节点值。如果x是HTML元素,nodeValue无意义。如果果x是HTML标签的属性，则表示属性值。如果x是文本节点(Text)，则表示文本的内容。</li>
<li>x.parentNode —— x的父节点</li>
<li>x.childNodes —— x 的子节点集合</li>
<li>x.attributes —— x的属性集合</li>
</ul>
<p>另外还有一个nodeType属性，表示节点类型：</p>
<table style="height: 102px;" border="1" cellspacing="0" cellpadding="0" width="368">
<tbody>
<tr>
<th width="85%" align="left" valign="top">Element type</th>
<th width="15%" align="left" valign="top">NodeType</th>
</tr>
<tr>
<td valign="top">Element</td>
<td valign="top">1</td>
</tr>
<tr>
<td valign="top">Attribute</td>
<td valign="top">2</td>
</tr>
<tr>
<td valign="top">Text</td>
<td valign="top">3</td>
</tr>
<tr>
<td valign="top">Comment</td>
<td valign="top">8</td>
</tr>
<tr>
<td valign="top">Document</td>
<td valign="top">9</td>
</tr>
</tbody>
</table>
<p>下面是一些常用的方法：</p>
<ul>
<li>x.getElementById(<em>id</em>) &#8211; 根据元素id获取节点对象</li>
<li>x.getElementsByTagName(<em>name</em>) &#8211; 根据标签名获取所有元素的集合</li>
<li>x.appendChild(<em>node</em>) &#8211; 给x插入一个子节点</li>
<li>x.removeChild(<em>node</em>) &#8211; 从x中删除一个子节点</li>
</ul>
<h3>最后再了解一下HTML DOM中的事件</h3>
<p>页面中的每一个元素都有触发脚本语句或函数的事件。比如我们点击页面中的某个按钮的时候，就触发了相应的&#8221;点击&#8221;事件，如果我们为这个&#8221;click&#8221;事件注册了脚本语句或函数的话，这个时候就会执行注册的脚本语句或函数。</p>
<p>以下列举几个事件触发的例子：</p>
<ul>
<li>当鼠标点击的时候，触发&#8221;onclick&#8221;</li>
<li>当加载完页面或图片的时候，触发&#8221;onload&#8221;</li>
<li>当鼠标经过指定的区域的时候，触发&#8221;onmouseover&#8221;</li>
<li>当元素获得焦点的时候，触发&#8221;onfocus&#8221;</li>
<li>当按下键盘的时候，触发&#8221;onkeydown&#8221;,&#8221;onkeypress&#8221;,&#8221;onkeyup&#8221;</li>
</ul>
<p>更多事件请参考<a href="http://w3schools.com/jsref/dom_obj_event.asp">http://w3schools.com/jsref/dom_obj_event.asp</a></p>
<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/238/">《HTML DOM 模型》</a></li><li>本文链接: <a href="http://domety.com/archives/238/" title="HTML DOM 模型">http://domety.com/archives/238/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 三月 30th,2010</li><li>关键字: <a href="http://domety.com/archives/tag/dom/" rel="tag">DOM</a><a href="http://domety.com/archives/tag/html/" rel="tag">html</a><a href="http://domety.com/archives/tag/js/" rel="tag">js</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/239/">HTML DOM实战——查找指定链接</a></li><li><a href="http://domety.com/archives/237/">为页面添加快捷键响应</a></li><li><a href="http://domety.com/archives/135/">为网站添加网址图标favicon.ico</a></li><li><a href="http://domety.com/archives/237/">为页面添加快捷键响应</a></li><li><a href="http://domety.com/archives/239/">HTML DOM实战——查找指定链接</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://domety.com/archives/238/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>为页面添加快捷键响应</title>
		<link>http://domety.com/archives/237/</link>
		<comments>http://domety.com/archives/237/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 17:52:28 +0000</pubDate>
		<dc:creator>DDBug</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[快捷键]]></category>

		<guid isPermaLink="false">http://domety.com/?p=237</guid>
		<description><![CDATA[虽然wordpress的默认主题也把该链接加入到了页面中，因为这确实为管理网站带来了方便。但我总觉得像“登录控制台”这样的链接不应该出现在页面上，所以一直没有在主题中加入这样的链接。但是时间长了，也感觉老是从地址栏输入登录地址也有些不方便，于是就想到了给页面添加一个登录后台的快捷键。
首先写一个响应事件的js函数
 

function getKeyCode(evt) {
evt = (evt) ? evt : ((window.event) ? window.event : "");
if(evt) {
// 按下Ctrl+L键后打开后台页面
if(evt.ctrlKey&#38;&#38;evt.keyCode==76)
window.open("http://domety.com/wp-admin/");
}
}

这样的函数并没有什么难点，主要就是要知道对应按键的键码（本例中使用的快捷键是Ctrl+L，L的键码是76）。
接下来在body元素响应onkeydown事件
 

&#60;body onkeydown="getKeyCode(event)"&#62;

同样，我们也可以为评论回复按钮添加快捷键(通常为Ctrl+Enter)，当然你也可以定义一个响应函数，或者在上面函数的基础稍作修改。不过我认为最简单和最直接的方法是把响应代码直接写到form元素的属性里，因为代码很短，如下
onkeydown=&#8221;if(event.ctrlKey&#38;&#38;event.keyCode==13)this.submit.click()&#8221;
只需要在form的属性中把上面一段代码加进去即可，在wordpress中，form一般位于comments.php文件中。
拓展一下思路，还可以为你的网站添加一些更好玩的快捷键，比如说“上一篇文章”、“下一篇文章”、“评论”等等&#8230;&#8230;
下面是一张键盘的键码对照表，以供参考，或者去我的domety实验室查询http://lab.domety.com/keycode/

版权声明: 转载时请以超链接形式标明文章原始出处和作者信息本文来自: Domety&#187;《为页面添加快捷键响应》本文链接: http://domety.com/archives/237/本文作者: DDBug发表时期: 三月 30th,2010关键字: js快捷键本站的feed地址已经更改为http://feed.domety.com/,请朋友们手动更改一下，谢谢相关文章HTML DOM实战——查找指定链接HTML DOM 模型HTML DOM实战——查找指定链接HTML DOM 模型Adobe CS5系列破解补丁(amtlib.dll)<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/237/">《为页面添加快捷键响应》</a></li><li>本文链接: <a href="http://domety.com/archives/237/" title="为页面添加快捷键响应">http://domety.com/archives/237/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 三月 30th,2010</li><li>关键字: <a href="http://domety.com/archives/tag/js/" rel="tag">js</a><a href="http://domety.com/archives/tag/%e5%bf%ab%e6%8d%b7%e9%94%ae/" rel="tag">快捷键</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/239/">HTML DOM实战——查找指定链接</a></li><li><a href="http://domety.com/archives/238/">HTML DOM 模型</a></li><li><a href="http://domety.com/archives/238/">HTML DOM 模型</a></li><li><a href="http://domety.com/archives/239/">HTML DOM实战——查找指定链接</a></li><li><a href="http://domety.com/archives/175/">充分利用QQ邮箱的阅读空间</a></li></ul>]]></description>
			<content:encoded><![CDATA[<div>虽然wordpress的默认主题也把该链接加入到了页面中，因为这确实为管理网站带来了方便。但我总觉得像“登录控制台”这样的链接不应该出现在页面上，所以一直没有在主题中加入这样的链接。但是时间长了，也感觉老是从地址栏输入登录地址也有些不方便，于是就想到了给页面添加一个登录后台的快捷键。<span id="more-237"></span><br id="__mce" /></div>
<div>首先写一个响应事件的js函数</div>
<pre> </pre>
<pre>
<div>function getKeyCode(evt) {
evt = (evt) ? evt : ((window.event) ? window.event : "");
if(evt) {
// 按下Ctrl+L键后打开后台页面
if(evt.ctrlKey&amp;&amp;evt.keyCode==76)
window.open("<a href="http://domety.com/wp-admin/" target="_blank">http://domety.com/wp-admin/</a>");
}
}</div>
</pre>
<div>这样的函数并没有什么难点，主要就是要知道对应按键的键码（本例中使用的快捷键是Ctrl+L，L的键码是76）。</div>
<div>接下来在body元素响应onkeydown事件</div>
<pre> </pre>
<pre>
<div>&lt;body onkeydown="getKeyCode(event)"&gt;</div>
</pre>
<div>同样，我们也可以为评论回复按钮添加快捷键(通常为Ctrl+Enter)，当然你也可以定义一个响应函数，或者在上面函数的基础稍作修改。不过我认为最简单和最直接的方法是把响应代码直接写到form元素的属性里，因为代码很短，如下</div>
<div>onkeydown=&#8221;if(event.ctrlKey&amp;&amp;event.keyCode==13)this.submit.click()&#8221;</div>
<div>只需要在form的属性中把上面一段代码加进去即可，在wordpress中，form一般位于comments.php文件中。</div>
<div>拓展一下思路，还可以为你的网站添加一些更好玩的快捷键，比如说“上一篇文章”、“下一篇文章”、“评论”等等&#8230;&#8230;</div>
<div>下面是一张键盘的键码对照表，以供参考，或者去我的domety实验室查询<a href="http://lab.domety.com/keycode/" target="_blank">http://lab.domety.com/keycode/</a></div>
<div><img class="alignnone" title="keycode" src="http://i623.domety.com/albums/tt312/baolai5/201004/KeyCode.png" alt="" width="472" height="1023" /></div>
<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/237/">《为页面添加快捷键响应》</a></li><li>本文链接: <a href="http://domety.com/archives/237/" title="为页面添加快捷键响应">http://domety.com/archives/237/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 三月 30th,2010</li><li>关键字: <a href="http://domety.com/archives/tag/js/" rel="tag">js</a><a href="http://domety.com/archives/tag/%e5%bf%ab%e6%8d%b7%e9%94%ae/" rel="tag">快捷键</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/238/">HTML DOM 模型</a></li><li><a href="http://domety.com/archives/239/">HTML DOM实战——查找指定链接</a></li><li><a href="http://domety.com/archives/238/">HTML DOM 模型</a></li><li><a href="http://domety.com/archives/239/">HTML DOM实战——查找指定链接</a></li><li><a href="http://domety.com/archives/253/">为wordpress添加评论邮件回复功能</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://domety.com/archives/237/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>给文章添加“收藏到”(QQ书签、Google书签、百度搜藏)</title>
		<link>http://domety.com/archives/234/</link>
		<comments>http://domety.com/archives/234/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 04:01:18 +0000</pubDate>
		<dc:creator>DDBug</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[收藏]]></category>

		<guid isPermaLink="false">http://domety.com/?p=234</guid>
		<description><![CDATA[为了方便有需要的朋友收藏小站有用的文章，做了一个收藏到 QQ书签 、 Google书签 、 百度搜藏 、 Yahoo收藏 、 乐收 的链接。其实网上也有很多第三方的js文件可以很方便的做到这一点，只需要加载一个js文件即可。因为DDBug不太喜欢加载第三方的东西，能不加载就不加载，所以本文讨论的是最原始的链接形式的。
下面给出几个常用的在线收藏夹的收藏链接，标题以domety为例，网址以http://domety.com/为例。在具体的使用过程中，只需要把这两个替换掉你自己文章的标题和网址即可。
QQ书签：http://shuqian.qq.com/post?title=domety&#38;uri=http://domety.com/
google书签：http://www.google.com/bookmarks/mark?op=add&#38;hl=zh_cn&#38;title=domety&#38;bkmk=http://domety.com/
百度搜藏：http://cang.baidu.com/do/add?it=domety&#38;iu=http://domety.com/
yahoo收藏：http://myweb.cn.yahoo.com/popadd.html?title=domety&#38;url=http://domety.com/
新浪ViVi：http://vivi.sina.com.cn/collect/icollect.php?title=domety&#38;url=http://domety.com/
乐收：http://leshou.com/post?act=shou&#38;title=domety&#38;url=http://domety.com/
以下是本站的实现代码，以做参考

&#60;?php $title = get_the_title();
$permalink = get_permalink();
$title = urlencode($title);
$permalink = esc_url($permalink);
// QQ书签
$output = '&#60;a href="http://shuqian.qq.com/post?title='.$title.'&#38;uri='.$permalink.'" title="收藏到QQ书签" target="_blank"&#62;QQ书签&#60;/a&#62;';
// google书签
$output .= ' &#124; &#60;a href="http://www.google.com/bookmarks/mark?op=add&#38;hl=zh_cn&#38;title='.$title.'&#38;bkmk='.$permalink.'" title="收藏到google书签" target="_blank"&#62;Google书签&#60;/a&#62;';
// 百度搜藏
$output .= ' &#124; &#60;a href="http://cang.baidu.com/do/add?it='.$title.'&#38;iu='.$permalink.'" title="收藏到百度搜藏" target="_blank"&#62;百度搜藏&#60;/a&#62;';
// yahoo收藏
$output .= ' &#124; &#60;a href="http://myweb.cn.yahoo.com/popadd.html?title='.$title.'&#38;url='.$permalink.'" title="收藏到Yahoo收藏" target="_blank"&#62;Yahoo收藏&#60;/a&#62;';
// 新浪ViVi
//$output .= ' &#124; &#60;a href="http://vivi.sina.com.cn/collect/icollect.php?title='.$title.'&#38;url='.$permalink.'" title="收藏到新浪ViVi" target="_blank"&#62;新浪ViVi&#60;/a&#62;';
// 乐收
$output .= ' &#124; &#60;a href="http://leshou.com/post?act=shou&#38;title='.$title.'&#38;url='.$permalink.'" [...]<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/234/">《给文章添加“收藏到”(QQ书签、Google书签、百度搜藏)》</a></li><li>本文链接: <a href="http://domety.com/archives/234/" title="给文章添加“收藏到”(QQ书签、Google书签、百度搜藏)">http://domety.com/archives/234/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 一月 30th,2010</li><li>关键字: <a href="http://domety.com/archives/tag/google/" rel="tag">google</a><a href="http://domety.com/archives/tag/qq/" rel="tag">QQ</a><a href="http://domety.com/archives/tag/wordpress/" rel="tag">WordPress</a><a href="http://domety.com/archives/tag/%e6%94%b6%e8%97%8f/" rel="tag">收藏</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/156/">为WorePress管理面板添加自定义菜单选项</a></li><li><a href="http://domety.com/archives/188/">为wordpress添加阅读RSS功能</a></li><li><a href="http://domety.com/archives/143/">用wordpress 2.8 widget API 制作侧边栏小工具</a></li><li><a href="http://domety.com/archives/217/">公布本站首页缩略图方法</a></li><li><a href="http://domety.com/archives/134/">Wordpress中给文章添加“上一篇 下一篇”功能</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>为了方便有需要的朋友收藏小站有用的文章，做了一个收藏到 QQ书签 、 Google书签 、 百度搜藏 、 Yahoo收藏 、 乐收 的链接。其实网上也有很多第三方的js文件可以很方便的做到这一点，只需要加载一个js文件即可。因为DDBug不太喜欢加载第三方的东西，能不加载就不加载，所以本文讨论的是最原始的链接形式的。</p>
<p>下面给出几个常用的在线收藏夹的收藏链接，标题以domety为例，网址以http://domety.com/为例。在具体的使用过程中，只需要把这两个替换掉你自己文章的标题和网址即可。</p>
<p>QQ书签：<a href="http://shuqian.qq.com/post?title=domety&amp;uri=http://domety.com/" target="_blank">http://shuqian.qq.com/post?title=domety&amp;uri=http://domety.com/</a></p>
<p>google书签：<a href="http://www.google.com/bookmarks/mark?op=add&amp;hl=zh_cn&amp;title=domety&amp;bkmk=http://domety.com/" target="_blank">http://www.google.com/bookmarks/mark?op=add&amp;hl=zh_cn&amp;title=domety&amp;bkmk=http://domety.com/</a></p>
<p>百度搜藏：<a href="http://cang.baidu.com/do/add?it=domety&amp;iu=http://domety.com/" target="_blank">http://cang.baidu.com/do/add?it=domety&amp;iu=http://domety.com/</a></p>
<p>yahoo收藏：<a href="http://myweb.cn.yahoo.com/popadd.html?title=domety&amp;url=http://domety.com/" target="_blank">http://myweb.cn.yahoo.com/popadd.html?title=domety&amp;url=http://domety.com/</a></p>
<p>新浪ViVi：<a href="http://vivi.sina.com.cn/collect/icollect.php?title=domety&amp;url=http://domety.com/" target="_blank">http://vivi.sina.com.cn/collect/icollect.php?title=domety&amp;url=http://domety.com/</a></p>
<p>乐收：<a href="http://leshou.com/post?act=shou&amp;url=http://domety.com/&amp;title=domety" target="_blank">http://leshou.com/post?act=shou&amp;title=domety&amp;url=http://domety.com/</a></p>
<p>以下是本站的实现代码，以做参考</p>
<pre>
<div id="_mcePaste">&lt;?php $title = get_the_title();</div>
<div id="_mcePaste">$permalink = get_permalink();</div>
<div id="_mcePaste">$title = urlencode($title);</div>
<div id="_mcePaste">$permalink = esc_url($permalink);</div>
<div id="_mcePaste">// QQ书签</div>
<div id="_mcePaste">$output = '&lt;a href="http://shuqian.qq.com/post?title='.$title.'&amp;uri='.$permalink.'" title="收藏到QQ书签" target="_blank"&gt;QQ书签&lt;/a&gt;';</div>
<div id="_mcePaste">// google书签</div>
<div id="_mcePaste">$output .= ' | &lt;a href="http://www.google.com/bookmarks/mark?op=add&amp;hl=zh_cn&amp;title='.$title.'&amp;bkmk='.$permalink.'" title="收藏到google书签" target="_blank"&gt;Google书签&lt;/a&gt;';</div>
<div id="_mcePaste">// 百度搜藏</div>
<div id="_mcePaste">$output .= ' | &lt;a href="http://cang.baidu.com/do/add?it='.$title.'&amp;iu='.$permalink.'" title="收藏到百度搜藏" target="_blank"&gt;百度搜藏&lt;/a&gt;';</div>
<div id="_mcePaste">// yahoo收藏</div>
<div id="_mcePaste">$output .= ' | &lt;a href="http://myweb.cn.yahoo.com/popadd.html?title='.$title.'&amp;url='.$permalink.'" title="收藏到Yahoo收藏" target="_blank"&gt;Yahoo收藏&lt;/a&gt;';</div>
<div id="_mcePaste">// 新浪ViVi</div>
<div id="_mcePaste">//$output .= ' | &lt;a href="http://vivi.sina.com.cn/collect/icollect.php?title='.$title.'&amp;url='.$permalink.'" title="收藏到新浪ViVi" target="_blank"&gt;新浪ViVi&lt;/a&gt;';</div>
<div id="_mcePaste">// 乐收</div>
<div id="_mcePaste">$output .= ' | &lt;a href="http://leshou.com/post?act=shou&amp;title='.$title.'&amp;url='.$permalink.'" title="收藏到乐收" target="_blank"&gt;乐收&lt;/a&gt;';</div>
<div id="_mcePaste">echo $output; ?&gt;</div>
</pre>
<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/234/">《给文章添加“收藏到”(QQ书签、Google书签、百度搜藏)》</a></li><li>本文链接: <a href="http://domety.com/archives/234/" title="给文章添加“收藏到”(QQ书签、Google书签、百度搜藏)">http://domety.com/archives/234/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 一月 30th,2010</li><li>关键字: <a href="http://domety.com/archives/tag/google/" rel="tag">google</a><a href="http://domety.com/archives/tag/qq/" rel="tag">QQ</a><a href="http://domety.com/archives/tag/wordpress/" rel="tag">WordPress</a><a href="http://domety.com/archives/tag/%e6%94%b6%e8%97%8f/" rel="tag">收藏</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/152/">自制随机文章插件升级到1.1</a></li><li><a href="http://domety.com/archives/188/">为wordpress添加阅读RSS功能</a></li><li><a href="http://domety.com/archives/141/">小工具“随机文章”插件制作完成</a></li><li><a href="http://domety.com/archives/253/">为wordpress添加评论邮件回复功能</a></li><li><a href="http://domety.com/archives/258/">收到腾讯微博邀请码</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://domety.com/archives/234/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>为页面标题添加页码</title>
		<link>http://domety.com/archives/233/</link>
		<comments>http://domety.com/archives/233/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 12:05:52 +0000</pubDate>
		<dc:creator>DDBug</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[标题]]></category>
		<category><![CDATA[页面]]></category>

		<guid isPermaLink="false">http://domety.com/?p=233</guid>
		<description><![CDATA[说起来这篇文章应该很早以前就写的，可能是感觉这只是一个很小很小的技巧吧，所以也没提上日程。
自从小站添加了分页导航以后，发现了一个问题：搜索引擎收录的页面中，有很多标题重复的网页，但链接地址却不一样。认真一看才知道是分页的原因，分页之后链接地址不一样了，形如http://domety.com/page/2/、http://domety.com/page/3/等，但标题还是首页的标题。这种情况对搜索引擎来说是非常不友好的。

于是我就想到，何不在标题中加上页码呢？这样就能避免标题重复的问题了，那就修改header.php文件吧，在&#60;title&#62;和&#60;/title&#62;之间加入以下代码
&#60;?php $paged = get_query_var('paged'); if($paged &#62; 1) printf('第%s页&#38;laquo;',$paged); ?&#62;
如果当前页面不是第一页的话，就在标题中显示页码。具体效果可以点击小站的分页导航看一下，搜索引擎收录结果如下

在这里也提醒一下使用分页插件的朋友，最好也给标题加个页码，或者使用其它你能想到的方法来区别各个标题，争取做到一个链接对应一个标题。
版权声明: 转载时请以超链接形式标明文章原始出处和作者信息本文来自: Domety&#187;《为页面标题添加页码》本文链接: http://domety.com/archives/233/本文作者: DDBug发表时期: 一月 27th,2010关键字: WordPress标题页面本站的feed地址已经更改为http://feed.domety.com/,请朋友们手动更改一下，谢谢相关文章wordpress代码实现&#8221;最近评论&#8221;Domety正式更换主题为win了解wordpress模板(主题)系统wordpress订阅RSS最新方法成功升级WordPress到2.8.5<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/233/">《为页面标题添加页码》</a></li><li>本文链接: <a href="http://domety.com/archives/233/" title="为页面标题添加页码">http://domety.com/archives/233/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 一月 27th,2010</li><li>关键字: <a href="http://domety.com/archives/tag/wordpress/" rel="tag">WordPress</a><a href="http://domety.com/archives/tag/%e6%a0%87%e9%a2%98/" rel="tag">标题</a><a href="http://domety.com/archives/tag/%e9%a1%b5%e9%9d%a2/" rel="tag">页面</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/253/">为wordpress添加评论邮件回复功能</a></li><li><a href="http://domety.com/archives/193/">wordpress2.9模板果然支持page-slug和page-id了</a></li><li><a href="http://domety.com/archives/183/">把wordpress分类添加到导航菜单</a></li><li><a href="http://domety.com/archives/146/">Wordpress中为你的文章添加“相关文章”</a></li><li><a href="http://domety.com/archives/77/">WordPress中给文章加入版权声明</a></li></ul>]]></description>
			<content:encoded><![CDATA[<p>说起来这篇文章应该很早以前就写的，可能是感觉这只是一个很小很小的技巧吧，所以也没提上日程。</p>
<p>自从小站添加了分页导航以后，发现了一个问题：搜索引擎收录的页面中，有很多标题重复的网页，但链接地址却不一样。认真一看才知道是分页的原因，分页之后链接地址不一样了，形如<a href="http://domety.com/page/2/">http://domety.com/page/2/</a>、<a href="http://domety.com/page/2/">http://domety.com/page/3/</a>等，但标题还是首页的标题。这种情况对搜索引擎来说是非常不友好的。<span id="more-233"></span></p>
<p><img class="alignnone" title="标题重复" src="http://i623.domety.com/albums/tt312/baolai5/201001/domety_001.png" alt="" width="566" height="291" /></p>
<p>于是我就想到，何不在标题中加上页码呢？这样就能避免标题重复的问题了，那就修改header.php文件吧，在&lt;title&gt;和&lt;/title&gt;之间加入以下代码</p>
<pre>&lt;?php $paged = get_query_var('paged'); if($paged &gt; 1) printf('第%s页&amp;laquo;',$paged); ?&gt;</pre>
<p>如果当前页面不是第一页的话，就在标题中显示页码。具体效果可以点击小站的分页导航看一下，搜索引擎收录结果如下</p>
<p><img class="alignnone" title="标题带有页码" src="http://i623.domety.com/albums/tt312/baolai5/201001/domety_002.png" alt="" width="576" height="95" /></p>
<p>在这里也提醒一下使用分页插件的朋友，最好也给标题加个页码，或者使用其它你能想到的方法来区别各个标题，争取做到一个链接对应一个标题。</p>
<ul style="color:#808080;padding:10px;border:1px solid #D7D7D7;list-style-type:none;"><li><a href="http://creativecommons.org/licenses/by/3.0/deed.zh">版权声明</a>: 转载时请以超链接形式标明文章原始出处和作者信息</li><li>本文来自: <a href="http://domety.com">Domety</a>&raquo;<a href="http://domety.com/archives/233/">《为页面标题添加页码》</a></li><li>本文链接: <a href="http://domety.com/archives/233/" title="为页面标题添加页码">http://domety.com/archives/233/</a></li><li>本文作者: <a href="http://domety.com">DDBug</a></li><li>发表时期: 一月 27th,2010</li><li>关键字: <a href="http://domety.com/archives/tag/wordpress/" rel="tag">WordPress</a><a href="http://domety.com/archives/tag/%e6%a0%87%e9%a2%98/" rel="tag">标题</a><a href="http://domety.com/archives/tag/%e9%a1%b5%e9%9d%a2/" rel="tag">页面</a></li></ul><p style="color=red">本站的feed地址已经更改为<a href="http://feed.domety.com/">http://feed.domety.com/</a>,请朋友们手动更改一下，谢谢</p><h2>相关文章</h2><ul><li><a href="http://domety.com/archives/224/">the_content是如何输出摘要和全文的</a></li><li><a href="http://domety.com/archives/139/">WordPress添加“随机文章”模块</a></li><li><a href="http://domety.com/archives/216/">wordpress首页显示摘要的几种方法</a></li><li><a href="http://domety.com/archives/132/">wordpress中显示页面位置：当前位置</a></li><li><a href="http://domety.com/archives/77/">WordPress中给文章加入版权声明</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://domety.com/archives/233/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
