<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"> <channel><title>Dallas Lu</title> <link>http://dallaslu.com</link> <description>幻想牢骚 奇淫巧技</description> <lastBuildDate>Thu, 05 Apr 2012 12:45:43 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/dallaslu" /><feedburner:info uri="dallaslu" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><item><title>JavaScript 选项卡切换</title><link>http://dallaslu.com/the-javascript-tab-switching/</link> <comments>http://dallaslu.com/the-javascript-tab-switching/#comments</comments> <pubDate>Thu, 05 Apr 2012 12:08:38 +0000</pubDate> <dc:creator>卢达</dc:creator> <category><![CDATA[互联网络]]></category> <category><![CDATA[JavaScript]]></category> <guid isPermaLink="false">http://dallaslu.com/?p=1403</guid> <description><![CDATA[以一定结构组织 HTML，引入所需 JavaScript 脚本和 CSS样式文件，即可创建可切换的 Tab Show。 基础 HTML 结构 引入所需 jstab.css，jstab.js，mini.min.js，为外部 DIV 设定基本样式： &#60;link rel=&#34;stylesheet&#34; type=&#34;text/css&#34; media=&#34;all&#34; href=&#34;jstab.css&#34; /&#62; &#60;style type=&#34;text/css&#34;&#62; body{font-size:13px} #banner{width:688px;height:220px;border:1px solid #e4e4e4;overflow:hidden} &#60;/style&#62; &#60;div id=&#34;banner&#34;&#62; &#60;/div&#62; &#60;script type=&#34;text/javascript&#34; src=&#34;mini.min.js&#34;&#62;&#60;/script&#62; &#60;script type=&#34;text/javascript&#34; src=&#34;jstab.js&#34;&#62;&#60;/script&#62; &#60;script type=&#34;text/javascript&#34;&#62; jstab({&#34;nav&#34;:&#34;#banner-tab-nav&#34; ,&#34;content&#34;:&#34;#banner-tab-content&#34;}); &#60;/script&#62; 内容 HTML 结构 需要为导航和内容创建两个列表元素，并按如下结构组织内容： &#60;div id=&#34;banner&#34;&#62; &#60;ul class=&#34;jstab-nav-list&#34; id=&#34;banner-tab-nav&#34;&#62; &#60;li class=&#34;jstab-nav-item jstab-nav-item-first jstab-nav-current-item&#34;&#62; &#60;a [...]]]></description> <content:encoded><![CDATA[<p>以一定结构组织 HTML，引入所需 JavaScript 脚本和 CSS样式文件，即可创建可切换的 Tab Show。</p><p><span
id="more-1403"></span></p><p><a
href="http://dallaslu.com/files/2012/04/jstab.png" rel="lightbox[1403]"><img
class="alignnone size-medium wp-image-1404" title="jstab" src="http://dallaslu.com/files/2012/04/jstab-300x101.png" alt="" width="300" height="101" /></a></p><h2>基础 HTML 结构</h2><p>引入所需 jstab.css，jstab.js，mini.min.js，为外部 DIV 设定基本样式：</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; media=&quot;all&quot; href=&quot;jstab.css&quot; /&gt;
&lt;style type=&quot;text/css&quot;&gt;
body{font-size:13px}
#banner{width:688px;height:220px;border:1px solid #e4e4e4;overflow:hidden}
&lt;/style&gt;
&lt;div id=&quot;banner&quot;&gt;
&lt;/div&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;mini.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;jstab.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
jstab({&quot;nav&quot;:&quot;#banner-tab-nav&quot;
		,&quot;content&quot;:&quot;#banner-tab-content&quot;});
&lt;/script&gt;</pre></div></div><h2>内容 HTML 结构</h2><p>需要为导航和内容创建两个列表元素，并按如下结构组织内容：</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">&lt;div id=&quot;banner&quot;&gt;
&lt;ul class=&quot;jstab-nav-list&quot; id=&quot;banner-tab-nav&quot;&gt;
	&lt;li class=&quot;jstab-nav-item jstab-nav-item-first jstab-nav-current-item&quot;&gt;
		&lt;a href=&quot;#banner-tab-content-1&quot;&gt;&lt;div class=&quot;jstab-nav-label&quot;&gt;
			&lt;span class=&quot;jstab-nav-title&quot;&gt;Title #1&lt;/span&gt;
			&lt;span class=&quot;jstab-nav-desc&quot;&gt;Description for Title #1&lt;/span&gt;
		&lt;/div&gt;&lt;/a&gt;
	&lt;/li&gt;
	&lt;li class=&quot;jstab-nav-item&quot;&gt;
		&lt;a href=&quot;#banner-tab-content-2&quot;&gt;&lt;div class=&quot;jstab-nav-label&quot;&gt;
			&lt;span class=&quot;jstab-nav-title&quot;&gt;Title #2&lt;/span&gt;
			&lt;span class=&quot;jstab-nav-desc&quot;&gt;Description for Title #2&lt;/span&gt;
		&lt;/div&gt;&lt;/a&gt;
	&lt;/li&gt;
	&lt;li class=&quot;jstab-nav-item jstab-nav-item-last&quot;&gt;
		&lt;a href=&quot;#banner-tab-content-3&quot;&gt;&lt;div class=&quot;jstab-nav-label&quot;&gt;
			&lt;span class=&quot;jstab-nav-title&quot;&gt;Title #3&lt;/span&gt;
			&lt;span class=&quot;jstab-nav-desc&quot;&gt;Description for Title #3&lt;/span&gt;
		&lt;/div&gt;&lt;/a&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;ul class=&quot;jstab-content-list&quot; id=&quot;banner-tab-content&quot;&gt;
	&lt;li class=&quot;jstab-content-item jstab-content-current-item&quot; id=&quot;banner-tab-content-1&quot;&gt;
		&lt;div class=&quot;jstab-content&quot;&gt;
			&lt;p&gt;content #1&lt;/p&gt;
			&lt;p&gt;content #1&lt;/p&gt;
		&lt;/div&gt;
	&lt;/li&gt;
	&lt;li class=&quot;jstab-content-item&quot; id=&quot;banner-tab-content-2&quot;&gt;
		&lt;div class=&quot;jstab-content&quot;&gt;
			&lt;p&gt;content #2&lt;/p&gt;
			&lt;ol&gt;
				&lt;li&gt;item 1&lt;/li&gt;
				&lt;li&gt;item 2&lt;/li&gt;
			&lt;/ol&gt;
		&lt;/div&gt;
	&lt;/li&gt;
	&lt;li class=&quot;jstab-content-item&quot; id=&quot;banner-tab-content-3&quot;&gt;
		&lt;div class=&quot;jstab-content&quot;&gt;
			&lt;p&gt;content #3&lt;/p&gt;
		&lt;/div&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</pre></div></div><p>其中，#banner-tab-nav 中的每一个 a 元素都指向其对应的 .jstab-content-item 元素。注意这两个列表的 ID 与下方 JavaScript 中对应。</p><h2>样式调整</h2><p>提供的 CSS 样式表中，有多处以 px 单位指定了绝对大小，请依实际情况逐个调整。</p><h2>下载</h2><p>包括代码和演示：<a
href='http://dallaslu.com/files/2012/04/jstab.zip'>jstab</a></p> ]]></content:encoded> <wfw:commentRss>http://dallaslu.com/the-javascript-tab-switching/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>WordPress“即将推出”小工具</title><link>http://dallaslu.com/wordpress-upcoming-posts-widget/</link> <comments>http://dallaslu.com/wordpress-upcoming-posts-widget/#comments</comments> <pubDate>Sun, 11 Mar 2012 13:51:43 +0000</pubDate> <dc:creator>卢达</dc:creator> <category><![CDATA[WordPress]]></category> <category><![CDATA[插件]]></category> <guid isPermaLink="false">http://dallaslu.com/?p=1391</guid> <description><![CDATA[出于维护博客更新频率，或精雕细琢文章时督促自己及时完成，我们会在 WordPress 中把该篇文章设为“定时发布”(Schedule)。如果能在网站显示出这些预定发布的文章，会吸引读者继续关注你的博客吧？ 思路 把即将推出的文章显示在侧边栏是个好办法，不过很多主题都只能以小工具的形式在侧边栏添加内容。所以，不得言的办法，仍稍显不便。实际上，这个功能和 WordPress 中内置的近期文章小工具十分相似。 在 WordPress 的 wp-includes/default-widgets.php 第503行（WordPress 3.3.1，其他版本可能不同）处找到相关代码。 关键语句 找到代码： $r = new WP_Query&#40;array&#40;'posts_per_page' =&#38;gt; $number, 'no_found_rows' =&#38;gt; true, 'post_status' =&#38;gt; 'future', 'ignore_sticky_posts' =&#38;gt; true&#41;&#41;; 将 publish 改为 future，应该就可以实现功能。 修改后的完整代码 经过一番尝试，改好的 widget 类代码如下： /**  * Upcoming_Posts widget class  */ class WP_Widget_Upcoming_Posts extends WP_Widget &#123; &#160;     function __construct&#40;&#41; &#123;    [...]]]></description> <content:encoded><![CDATA[<p>出于维护博客更新频率，或精雕细琢文章时督促自己及时完成，我们会在 WordPress 中把该篇文章设为“定时发布”(Schedule)。如果能在网站显示出这些预定发布的文章，会吸引读者继续关注你的博客吧？</p><p><span
id="more-1391"></span></p><h2>思路</h2><p>把即将推出的文章显示在侧边栏是个好办法，不过很多主题都只能以小工具的形式在侧边栏添加内容。所以，<a
title="实现WordPress博客预发布日志预告功能的方法" href="http://www.budeyan.com/seo_youhua/display-future-posts/">不得言的办法</a>，仍稍显不便。实际上，这个功能和 WordPress 中内置的近期文章小工具十分相似。</p><p>在 WordPress 的 wp-includes/default-widgets.php 第503行（WordPress 3.3.1，其他版本可能不同）处找到相关代码。</p><h2>关键语句</h2><p>找到代码：</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$r</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> WP_Query<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'posts_per_page'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #000088;">$number</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'no_found_rows'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_status'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'future'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ignore_sticky_posts'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><p>将 publish 改为 future，应该就可以实现功能。</p><h2>修改后的完整代码</h2><p>经过一番尝试，改好的 widget 类代码如下：</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009933; font-style: italic;">/**
 * Upcoming_Posts widget class
 */</span>
<span style="color: #000000; font-weight: bold;">class</span> WP_Widget_Upcoming_Posts <span style="color: #000000; font-weight: bold;">extends</span> WP_Widget <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$widget_ops</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'classname'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'widget_upcoming_entries'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> __<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;The upcoming posts on your site&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        parent<span style="color: #339933;">::</span>__construct<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'upcoming-posts'</span><span style="color: #339933;">,</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Upcoming Posts'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$widget_ops</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>alt_option_name <span style="color: #339933;">=</span> <span style="color: #0000ff;">'widget_upcoming_entries'</span><span style="color: #339933;">;</span>
&nbsp;
        add_action<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'save_post'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span><span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'flush_widget_cache'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        add_action<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'deleted_post'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span><span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'flush_widget_cache'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        add_action<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'switch_theme'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span><span style="color: #000088;">$this</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'flush_widget_cache'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> widget<span style="color: #009900;">&#40;</span><span style="color: #000088;">$args</span><span style="color: #339933;">,</span> <span style="color: #000088;">$instance</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$cache</span> <span style="color: #339933;">=</span> wp_cache_get<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'widget_upcoming_posts'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'widget'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cache</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
            <span style="color: #000088;">$cache</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$args</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'widget_id'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
            <span style="color: #000088;">$args</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'widget_id'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>id<span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$cache</span><span style="color: #009900;">&#91;</span> <span style="color: #000088;">$args</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'widget_id'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$cache</span><span style="color: #009900;">&#91;</span> <span style="color: #000088;">$args</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'widget_id'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">return</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #990000;">ob_start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">extract</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$args</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$title</span> <span style="color: #339933;">=</span> apply_filters<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'widget_title'</span><span style="color: #339933;">,</span> <span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> ? __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Upcoming Posts'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$instance</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>id_base<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'number'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #339933;">!</span> <span style="color: #000088;">$number</span> <span style="color: #339933;">=</span> absint<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'number'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
             <span style="color: #000088;">$number</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$r</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> WP_Query<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'posts_per_page'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #000088;">$number</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'no_found_rows'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_status'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'future'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ignore_sticky_posts'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$r</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>have_posts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span>
?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span>
        <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$before_widget</span><span style="color: #339933;">;</span> ?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span>
        <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$title</span> <span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$before_title</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$title</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$after_title</span><span style="color: #339933;">;</span> ?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span>
        <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>ul<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span>
        <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php  <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$r</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>have_posts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$r</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>the_post<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> ?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span>
        <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>li<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>lt<span style="color: #339933;">;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&amp;lt;?php the_permalink() ?&amp;gt;&quot;</span> title<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&amp;lt;?php echo esc_attr(get_the_title() ? get_the_title() : get_the_ID()); ?&amp;gt;&quot;</span><span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>lt<span style="color: #339933;">;</span>?php <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> get_the_title<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> the_title<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">else</span> the_ID<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> ?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>lt<span style="color: #339933;">;/</span>a<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>lt<span style="color: #339933;">;/</span>li<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span>
        <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php <span style="color: #b1b100;">endwhile</span><span style="color: #339933;">;</span> ?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span>
        <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;/</span>ul<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span>
        <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$after_widget</span><span style="color: #339933;">;</span> ?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span>
<span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php
        <span style="color: #666666; font-style: italic;">// Reset the global $the_post as this query will have stomped on it</span>
        wp_reset_postdata<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$cache</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$args</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'widget_id'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ob_get_flush</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        wp_cache_set<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'widget_upcoming_posts'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$cache</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'widget'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> update<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$new_instance</span><span style="color: #339933;">,</span> <span style="color: #000088;">$old_instance</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$instance</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$old_instance</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strip_tags</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$new_instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'number'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #000088;">$new_instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'number'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>flush_widget_cache<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$alloptions</span> <span style="color: #339933;">=</span> wp_cache_get<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'alloptions'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'options'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$alloptions</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'widget_upcoming_entries'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
            delete_option<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'widget_upcoming_entries'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$instance</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> flush_widget_cache<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        wp_cache_delete<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'widget_upcoming_posts'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'widget'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> form<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$instance</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$title</span> <span style="color: #339933;">=</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> ? esc_attr<span style="color: #009900;">&#40;</span><span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$number</span> <span style="color: #339933;">=</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'number'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> ? absint<span style="color: #009900;">&#40;</span><span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'number'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">;</span>
?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span>
        <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>p<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>lt<span style="color: #339933;">;</span>label <span style="color: #b1b100;">for</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&amp;lt;?php echo <span style="color: #006699; font-weight: bold;">$this</span>-&amp;gt;get_field_id('title'); ?&amp;gt;&quot;</span><span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>lt<span style="color: #339933;">;</span>?php _e<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Title:'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> ?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>lt<span style="color: #339933;">;/</span>label<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span>
        <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>input id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&amp;lt;?php echo <span style="color: #006699; font-weight: bold;">$this</span>-&amp;gt;get_field_id('title'); ?&amp;gt;&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&amp;lt;?php echo <span style="color: #006699; font-weight: bold;">$this</span>-&amp;gt;get_field_name('title'); ?&amp;gt;&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&amp;lt;?php echo <span style="color: #006699; font-weight: bold;">$title</span>; ?&amp;gt;&quot;</span> <span style="color: #339933;">/&amp;</span>gt<span style="color: #339933;">;&amp;</span>lt<span style="color: #339933;">;/</span>p<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>p<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>lt<span style="color: #339933;">;</span>label <span style="color: #b1b100;">for</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&amp;lt;?php echo <span style="color: #006699; font-weight: bold;">$this</span>-&amp;gt;get_field_id('number'); ?&amp;gt;&quot;</span><span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>lt<span style="color: #339933;">;</span>?php _e<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Number of posts to show:'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> ?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>lt<span style="color: #339933;">;/</span>label<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span>
        <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>input id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&amp;lt;?php echo <span style="color: #006699; font-weight: bold;">$this</span>-&amp;gt;get_field_id('number'); ?&amp;gt;&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&amp;lt;?php echo <span style="color: #006699; font-weight: bold;">$this</span>-&amp;gt;get_field_name('number'); ?&amp;gt;&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&amp;lt;?php echo <span style="color: #006699; font-weight: bold;">$number</span>; ?&amp;gt;&quot;</span> size<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;3&quot;</span> <span style="color: #339933;">/&amp;</span>gt<span style="color: #339933;">;&amp;</span>lt<span style="color: #339933;">;/</span>p<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span>
<span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div><h2>使用方法</h2><p>将以上代码小心地拷贝进主题的 functions.php 文件中，并添加以下代码：</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> upcoming_posts_widget_init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	register_widget<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'WP_Widget_Upcoming_Posts'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_action<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'widgets_init'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'upcoming_posts_widget_init'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><p>在主题的小工具选项中就可以使用了。</p><h2>插件版</h2><p><a
href="http://wordpress.org/extend/plugins/wp-upcoming-posts-widget/">http://wordpress.org/extend/plugins/wp-upcoming-posts-widget/</a></p> ]]></content:encoded> <wfw:commentRss>http://dallaslu.com/wordpress-upcoming-posts-widget/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>主题 functions.php 常用代码</title><link>http://dallaslu.com/wordpress-themes-functions-php-commonly-used-code/</link> <comments>http://dallaslu.com/wordpress-themes-functions-php-commonly-used-code/#comments</comments> <pubDate>Sun, 26 Feb 2012 15:22:11 +0000</pubDate> <dc:creator>卢达</dc:creator> <category><![CDATA[WordPress]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[主题]]></category> <guid isPermaLink="false">http://dallaslu.com/?p=1364</guid> <description><![CDATA[WordPress 的主题目录下都会有一个 functions.php 文件，这个文件负责为主题调用各种PHP函数；可以在functions.php文件里面添加各种函数来实各种需求。 关闭网站中的管理员工具条 add_filter&#40; 'show_admin_bar', '__return_false' &#41;; 移除 l10n.js 脚本 wp_deregister_script&#40; 'l10n' &#41;; 移除 Akismet 在网页头部添加的代码 remove_action&#40;'wp_head', 'aktt_head'&#41;; 关闭 Feed 订阅功能 function fb_disable_feed&#40;&#41; &#123; wp_die&#40; __&#40;'No feed available,please visit our &#60;a href=&#34;'. get_bloginfo&#40;'url'&#41; .'&#34;&#62;homepage&#60;/a&#62;!'&#41; &#41;; &#125; &#160; add_action&#40;'do_feed', 'fb_disable_feed', 1&#41;; add_action&#40;'do_feed_rdf', 'fb_disable_feed', 1&#41;; add_action&#40;'do_feed_rss', 'fb_disable_feed', 1&#41;; add_action&#40;'do_feed_rss2', 'fb_disable_feed', 1&#41;; add_action&#40;'do_feed_atom', 'fb_disable_feed', 1&#41;; 移除评论框下“可用标签和属性”提示 [...]]]></description> <content:encoded><![CDATA[<p>WordPress 的主题目录下都会有一个 functions.php 文件，这个文件负责为主题调用各种PHP函数；可以在functions.php文件里面添加各种函数来实各种需求。</p><p><span
id="more-1364"></span></p><h2>关闭网站中的管理员工具条</h2><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;">add_filter<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'show_admin_bar'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'__return_false'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><h2>移除 l10n.js 脚本</h2><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;">wp_deregister_script<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'l10n'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><h2>移除 Akismet 在网页头部添加的代码</h2><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;">remove_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_head'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'aktt_head'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><h2>关闭 Feed 订阅功能</h2><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> fb_disable_feed<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	wp_die<span style="color: #009900;">&#40;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'No feed available,please visit our &lt;a href=&quot;'</span><span style="color: #339933;">.</span> get_bloginfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'url'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;&gt;homepage&lt;/a&gt;!'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'do_feed'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'fb_disable_feed'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'do_feed_rdf'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'fb_disable_feed'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'do_feed_rss'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'fb_disable_feed'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'do_feed_rss2'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'fb_disable_feed'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'do_feed_atom'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'fb_disable_feed'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><h2><a
href="http://dallaslu.com/remove-the-available-tags-and-attributes-prompt-under-the-comment-box/">移除评论框下“可用标签和属性”提示</a></h2><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;">add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'comment_form_defaults'</span><span style="color: #339933;">,</span>my_comment_form_defaults<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> my_comment_form_defaults<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$defaults</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$defaults</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment_notes_after'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$defaults</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div><h2>移除评论表单的的网址输入框</h2><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;">add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'comment_form_default_fields'</span><span style="color: #339933;">,</span>my_comment_form_default_fields<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> my_comment_form_default_fields<span style="color: #009900;">&#40;</span><span style="color: #000088;">$fields</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fields</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'url'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$fields</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div><h2>移除登陆框 Logo 的连接地址</h2><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;">add_filter<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'login_headerurl'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'custom_loginlogo_url'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> custom_loginlogo_url<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> home_url<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'/'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div><h2>更改登陆框 Logo</h2><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;">add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'login_head'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'my_custom_login_logo'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> my_custom_login_logo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div> ]]></content:encoded> <wfw:commentRss>http://dallaslu.com/wordpress-themes-functions-php-commonly-used-code/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>移除评论框下“可用标签和属性”提示</title><link>http://dallaslu.com/remove-the-available-tags-and-attributes-prompt-under-the-comment-box/</link> <comments>http://dallaslu.com/remove-the-available-tags-and-attributes-prompt-under-the-comment-box/#comments</comments> <pubDate>Sat, 17 Dec 2011 11:39:50 +0000</pubDate> <dc:creator>卢达</dc:creator> <category><![CDATA[WordPress]]></category> <category><![CDATA[评论]]></category> <guid isPermaLink="false">http://dallaslu.com/?p=1354</guid> <description><![CDATA[使用 WordPress 的默认主题或其他主题时，每篇文章的评论框下面都有一段文字，提示浏览者可以在评论中使用的HTML标签和属性，而实际你的网站目标用户并不懂HTML意味着什么： 您可以使用这些 HTML 标签和属性： &#60;a href=”" title=”"&#62; &#60;abbr title=”"&#62; &#60;acronym title=”"&#62; &#60;b&#62; &#60;blockquote cite=”"&#62; &#60;cite&#62; &#60;code&#62; &#60;del datetime=”"&#62; &#60;em&#62; &#60;i&#62; &#60;q cite=”"&#62; &#60;strike&#62; &#60;strong&#62; 为了删除这段文字，有的网友建议在WordPress 根目录下 wp-includes/comment-template.php 文件中删除 echo $args['comment_notes_after']; 而这么做的一个明显的缺点就是当 WordPress 升级时，文件的内容将被覆盖。 所以，你应该在自建主题或某流行主题的子主题中的 functions.php 文件中加入以下代码，来屏蔽这个提示： add_filter&#40;'comment_form_defaults',my_comment_form_defaults&#41;; function my_comment_form_defaults&#40; $defaults&#41; &#123; $defaults&#91;'comment_notes_after'&#93; = ''; return $defaults; &#125;]]></description> <content:encoded><![CDATA[<p>使用 WordPress 的默认主题或其他主题时，每篇文章的评论框下面都有一段文字，提示浏览者可以在评论中使用的HTML标签和属性，而实际你的网站目标用户并不懂HTML意味着什么：</p><p><span
id="more-1354"></span></p><blockquote><p>您可以使用这些 HTML 标签和属性： &lt;a href=”" title=”"&gt; &lt;abbr title=”"&gt; &lt;acronym title=”"&gt; &lt;b&gt; &lt;blockquote cite=”"&gt; &lt;cite&gt; &lt;code&gt; &lt;del datetime=”"&gt; &lt;em&gt; &lt;i&gt; &lt;q cite=”"&gt; &lt;strike&gt; &lt;strong&gt;</p></blockquote><p>为了删除这段文字，有的网友<a
href="http://bolg.malu.me/html/2011/936.html">建议</a>在WordPress 根目录下 wp-includes/comment-template.php 文件中删除 <code>echo $args['comment_notes_after'];</code> 而这么做的一个明显的缺点就是当 WordPress 升级时，文件的内容将被覆盖。</p><p>所以，你应该在自建主题或某流行主题的<a
title="如何创建子主题？" href="http://codex.wordpress.org/zh-cn:%E5%AD%90%E4%B8%BB%E9%A2%98">子主题</a>中的 functions.php 文件中加入以下代码，来屏蔽这个提示：</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;">add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'comment_form_defaults'</span><span style="color: #339933;">,</span>my_comment_form_defaults<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">function</span> my_comment_form_defaults<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$defaults</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000088;">$defaults</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment_notes_after'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">return</span> <span style="color: #000088;">$defaults</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div> ]]></content:encoded> <wfw:commentRss>http://dallaslu.com/remove-the-available-tags-and-attributes-prompt-under-the-comment-box/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>自动连接VPN+永久路由表</title><link>http://dallaslu.com/auto-connect-vpn-chnroutes-permanently/</link> <comments>http://dallaslu.com/auto-connect-vpn-chnroutes-permanently/#comments</comments> <pubDate>Tue, 13 Dec 2011 11:01:21 +0000</pubDate> <dc:creator>卢达</dc:creator> <category><![CDATA[互联网络]]></category> <category><![CDATA[VPN]]></category> <guid isPermaLink="false">http://dallaslu.com/?p=1349</guid> <description><![CDATA[现在的网络环境真是糟糕，随便在 Google 搜索点什么都有可能被重置连接，完全无规律可循，敏感词的字典越来越厚，都快背不下来了。所以长时间连接VPN就越来越有必要。加上永久路由表，不影响访问国内网络服务，感觉真是一夜回到“解放”前哪。  自动连接VPN 使用你从供应商处获取的地址、用户名和密码，创建好一个VPN连接，并选择记住密码。修改该连接在属性，在“选项”中取消“显示连接进度”和“提示名称密码和证书”前面的复选框： 在开始菜单中的“所有程序”目录中的“启动”文件夹上右键，选择“浏览”来打开资源管理器窗口。在该窗口中右键，新建一个快捷方式，在对象的位置中输入： rasphone-d "VPN 连接" 引号中内容应与连接名称一致。单击下一步完成即可。双击该快捷方式，看看能否正常工作。下次登陆或启动系统时，这个快捷方式将为你自动拨号。 永久路由表 首先下载路由表脚本 解压，使用文本编辑器编辑其中的 vpnup.bat，将 'route add' 全部替换为 'route -p add' 双击该文件，等待其执行完毕自动关闭 访问 ip168.com 和 whatismyip.org，如果两个网站检测出的IP一个在中国一个在美国，那就正确了。 （以上方法仅适用于 Windows 操作系统）]]></description> <content:encoded><![CDATA[<p>现在的网络环境真是糟糕，随便在 Google 搜索点什么都有可能被重置连接，完全无规律可循，敏感词的字典越来越厚，都快背不下来了。所以长时间连接VPN就越来越有必要。加上永久路由表，不影响访问国内网络服务，感觉真是一夜回到“解放”前哪。</p><p><span
id="more-1349"></span></p><h2> 自动连接VPN</h2><p>使用你从供应商处获取的地址、用户名和密码，创建好一个VPN连接，并选择记住密码。修改该连接在属性，在“选项”中取消“显示连接进度”和“提示名称密码和证书”前面的复选框：</p><div
id="attachment_1350" class="wp-caption alignnone" style="width: 262px"><a
href="http://dallaslu.com/files/2011/12/vpn-prop.png" rel="lightbox[1349]"><img
class="size-medium wp-image-1350" title="vpn-prop" src="http://dallaslu.com/files/2011/12/vpn-prop-252x300.png" alt="" width="252" height="300" /></a><p
class="wp-caption-text">VPN属性设置</p></div><p>在开始菜单中的“所有程序”目录中的“启动”文件夹上右键，选择“浏览”来打开资源管理器窗口。在该窗口中右键，新建一个快捷方式，在对象的位置中输入：</p><p><code>rasphone-d "VPN 连接"</code></p><p>引号中内容应与连接名称一致。单击下一步完成即可。双击该快捷方式，看看能否正常工作。下次登陆或启动系统时，这个快捷方式将为你自动拨号。</p><h2>永久路由表</h2><ol><li>首先<a
href="http://code.google.com/p/chnroutes/downloads/detail?name=pre-generated-bat-for-win.zip">下载路由表脚本</a></li><li>解压，使用文本编辑器编辑其中的 vpnup.bat，将 'route add' 全部替换为 'route -p add'</li><li>双击该文件，等待其执行完毕自动关闭</li><li>访问 ip168.com 和 whatismyip.org，如果两个网站检测出的IP一个在中国一个在美国，那就正确了。</li></ol><p>（以上方法仅适用于 Windows 操作系统）</p> ]]></content:encoded> <wfw:commentRss>http://dallaslu.com/auto-connect-vpn-chnroutes-permanently/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>超高性价比的欧诺VPS</title><link>http://dallaslu.com/onovps/</link> <comments>http://dallaslu.com/onovps/#comments</comments> <pubDate>Wed, 23 Nov 2011 13:57:17 +0000</pubDate> <dc:creator>卢达</dc:creator> <category><![CDATA[互联网络]]></category> <category><![CDATA[VPS]]></category> <guid isPermaLink="false">http://dallaslu.com/?p=1323</guid> <description><![CDATA[实际上，这个博客以及其他的一时心血来潮的站点，都处于高成本运营状态。本着折腾精神，一路从低价虚拟主机入门，然后购买共享主机、低价VPS，至今竟然也用过几家的VPS了。现在正在用的欧诺VPS也有3个来月了，目前还说，还是可以推荐一下的。 配置与价格 我在用的是特惠XEN，1024M内存，30G硬盘，每月800G流量，目前价格每月120元。单从配置上来讲，这个价格绝对的有优势。 使用体验 编译安装 lnmp 曾在 VPSYOU 的 X360 上编译安装，在中午开始执行脚本，直到下班后一个小时才安装结束；而在欧诺VPS编译时，只用了个把小时，在公司执行，坐车到家竟然就已经编译好了。（抱歉，现在没有确切数据可以提供） 访问速度 本博客速度你觉得如何呢？为了发挥VPS的优势，并进一步提高WordPress的访问速度，我又进行了以下优化： 关闭多余 centos 服务，节省内存 使用 nginx 对 html/css/js 文件进行gzip压缩输出 安装 WP Minity 插件，自动合并页面中的 css 和 js 文件，减少 http 请求 安装 WP Super Cache 插件，对页面进行缓存 安装 eAccelerator 组件，加速 PHP 解析 虽然美国主机速度也就如此，但是相信面对未来很长一段时间之内的流量增长（一定会有的）完全绰绰有余了。 J2EE 服务器 朋友在欧诺的VPS上搭建了Tomcat、MySQL，跑着一套自行开发的SNS系统，完全没有任何问题。 美中不足 欧诺提供的VPS君位于美国凤凰城，独立服务器价格较低廉，所以才有如此高性价比的VPS。所以常见的凤凰城抽风问题也是不可避免，在我监控宝账户中，可以看到，我的站点仍然达到了99%的可用率。 监控宝并不代表一切，在故障的19小时40分中，有大概12小时是母机维护更换硬盘，有2小时是因本站WEB服务器配置错误，还有3小时是我操作VPS失误意外关机所致，所以VPS本身理论可用率应该已经接近 99.9%。线路问题实属无耐，但这对我影响并不大。 你觉得这个VPS如何呢？是否有更好的推荐？]]></description> <content:encoded><![CDATA[<p>实际上，这个博客以及其他的一时心血来潮的站点，都处于高成本运营状态。本着折腾精神，一路从低价虚拟主机入门，然后购买共享主机、低价VPS，至今竟然也用过几家的VPS了。现在正在用的<a
href="http://www.onovps.com/">欧诺VPS</a>也有3个来月了，目前还说，还是可以推荐一下的。</p><p><span
id="more-1323"></span></p><h2>配置与价格</h2><p>我在用的是特惠XEN，1024M内存，30G硬盘，每月800G流量，目前价格每月120元。单从配置上来讲，这个价格绝对的有优势。</p><h2>使用体验</h2><h3>编译安装 lnmp</h3><p>曾在 VPSYOU 的 X360 上编译安装，在中午开始执行脚本，直到下班后一个小时才安装结束；而在欧诺VPS编译时，只用了个把小时，在公司执行，坐车到家竟然就已经编译好了。（抱歉，现在没有确切数据可以提供）</p><h3>访问速度</h3><p>本博客速度你觉得如何呢？为了发挥VPS的优势，并进一步提高WordPress的访问速度，我又进行了以下优化：</p><ol><li>关闭多余 centos 服务，节省内存</li><li>使用 nginx 对 html/css/js 文件进行gzip压缩输出</li><li>安装 WP Minity 插件，自动合并页面中的 css 和 js 文件，减少 http 请求</li><li>安装 WP Super Cache 插件，对页面进行缓存</li><li>安装 eAccelerator 组件，加速 PHP 解析</li></ol><p>虽然美国主机速度也就如此，但是相信面对未来很长一段时间之内的流量增长（一定会有的）完全绰绰有余了。</p><h3>J2EE 服务器</h3><p>朋友在欧诺的VPS上搭建了Tomcat、MySQL，跑着一套自行开发的SNS系统，完全没有任何问题。</p><h2>美中不足</h2><p>欧诺提供的VPS君位于美国凤凰城，独立服务器价格较低廉，所以才有如此高性价比的VPS。所以常见的凤凰城抽风问题也是不可避免，在我监控宝账户中，可以看到，我的站点仍然达到了99%的可用率。</p><div
id="attachment_1324" class="wp-caption alignnone" style="width: 310px"><a
href="http://dallaslu.com/files/2011/11/goose.jpg" rel="lightbox[1323]"><img
class="size-medium wp-image-1324" title="goose" src="http://dallaslu.com/files/2011/11/goose-300x242.jpg" alt="" width="300" height="242" /></a><p
class="wp-caption-text">监控宝截图</p></div><p>监控宝并不代表一切，在故障的19小时40分中，有大概12小时是母机维护更换硬盘，有2小时是因本站WEB服务器配置错误，还有3小时是我操作VPS失误意外关机所致，所以VPS本身理论可用率应该已经接近 99.9%。线路问题实属无耐，但这对我影响并不大。</p><p>你觉得这个VPS如何呢？是否有更好的推荐？</p> ]]></content:encoded> <wfw:commentRss>http://dallaslu.com/onovps/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Nginx 配置 Namecheap 证书</title><link>http://dallaslu.com/nginx-namecheap-certificate/</link> <comments>http://dallaslu.com/nginx-namecheap-certificate/#comments</comments> <pubDate>Thu, 17 Nov 2011 15:42:42 +0000</pubDate> <dc:creator>卢达</dc:creator> <category><![CDATA[互联网络]]></category> <category><![CDATA[Namecheap]]></category> <category><![CDATA[Nginx]]></category> <category><![CDATA[SSL]]></category> <guid isPermaLink="false">http://dallaslu.com/?p=1314</guid> <description><![CDATA[这年头，SSL 应用真是太广泛了——不仅仅是电子商务，连写个博客、建个论坛也会有人上个SSL——中国的网民们被活生生地逼成了一个个的网络工程师；自从有了GFW以后，劳苦大众的计算机知识水平与日俱增，上个小网页各种SSH、VPN，和米国等发达帝国国民大范围使用类似 iPad 等拥有傻瓜界面的数码产品形成鲜明对比。 话说回来，在 Namecheap 注册域名可以以$1.99购得一个SSL证书，难得有博客话题，就凑成一篇。 生成CSR文件 下载 openssl for windows 安装文件：http://xiazai.zol.com.cn/detail/39/389798.shtml 并安装。打开命令行窗口，并切换到C:\OpenSSL\bin 目录下，依次执行： set OPENSSL_CONF=openssl.cfg openssl req -new -nodes -newkey rsa:2048 -keyout xxx_com.key -out server.csr 在这一命令执行的过程中，系统会要求您填写如下信息： Country Name (2 letter code):使用国际标准组织(ISO)国码格式，填写2个字母的国家代号。中国请填写CN。 State or Province Name (full name): 省份，比如填写Shanghai Locality Name (eg, city): 城市，比如填写Shanghai Organization Name (eg, company): 组织单位，比如填写公司名的拼音 Organizational Unit Name (eg, section): [...]]]></description> <content:encoded><![CDATA[<p>这年头，SSL 应用真是太广泛了——不仅仅是电子商务，连写个博客、建个论坛也会有人上个SSL——中国的网民们被活生生地逼成了一个个的网络工程师；自从有了GFW以后，劳苦大众的计算机知识水平与日俱增，上个小网页各种SSH、VPN，和米国等发达帝国国民大范围使用类似 iPad 等拥有傻瓜界面的数码产品形成鲜明对比。</p><p><span
id="more-1314"></span></p><p>话说回来，在 Namecheap 注册域名可以以$1.99购得一个SSL证书，难得有博客话题，就凑成一篇。</p><h2>生成CSR文件</h2><p>下载 openssl for windows 安装文件：<a
href="http://xiazai.zol.com.cn/detail/39/389798.shtml">http://xiazai.zol.com.cn/detail/39/389798.shtml</a> 并安装。打开命令行窗口，并切换到C:\OpenSSL\bin 目录下，依次执行：</p><p><code>set OPENSSL_CONF=openssl.cfg</code></p><p><code>openssl req -new -nodes -newkey rsa:2048 -keyout xxx_com.key -out server.csr</code></p><div
id="attachment_1315" class="wp-caption alignnone" style="width: 310px"><a
href="http://dallaslu.com/files/2011/11/cmd.png" rel="lightbox[1314]"><img
class="size-medium wp-image-1315" title="cmd" src="http://dallaslu.com/files/2011/11/cmd-300x195.png" alt="" width="300" height="195" /></a><p
class="wp-caption-text">命令提示行</p></div><p>在这一命令执行的过程中，系统会要求您填写如下信息：</p><ol><li>Country Name (2 letter code):使用国际标准组织(ISO)国码格式，填写2个字母的国家代号。中国请填写CN。</li><li>State or Province Name (full name): 省份，比如填写Shanghai</li><li>Locality Name (eg, city): 城市，比如填写Shanghai</li><li>Organization Name (eg, company): 组织单位，比如填写公司名的拼音</li><li>Organizational Unit Name (eg, section): 比如填写IT Dept</li><li>Common Name (eg, your websites domain name):  SSL 加密的网站地址。请注意这里并不是单指您的域名，而是直接使用 SSL 的网站名称 例如:pay.abc.com。 一个网站这里定义是：abc.com 是一个网站； <a
href="http://www.abc.com/" target="_blank">www.abc.com</a> 是另外一个网站； pay.abc.com 又是另外一个网站。 注意：这个服务器域名应该和邮件客户端软件设置的SMTP/POP3服务器名称一致。</li><li>Email Address: 邮件地址，可以不填</li><li>A challenge password: 可以不填</li><li>An optional company name:可以不填</li></ol><p>于是当前目录下将产生两个文件：server.key 和 server.csr。请妥善保存这两个文，尤其不要泄露server.key私钥文件，应该像保存自己的艳照一样，不对，不能像艳照一样发给任何人看。</p><h2>申请证书文件</h2><p>登陆 namecheap.com，并打开菜单中的，SSL CERTIFICATES&gt;Your SSL certificates。</p><div
id="attachment_1316" class="wp-caption alignnone" style="width: 310px"><a
href="http://dallaslu.com/files/2011/11/namecheap.png" rel="lightbox[1314]"><img
class="size-medium wp-image-1316" title="namecheap" src="http://dallaslu.com/files/2011/11/namecheap-300x129.png" alt="" width="300" height="129" /></a><p
class="wp-caption-text">Namecheap 证书产品菜单</p></div><p>单击SSL产品列表中对应的Active Now 链接，在新页面的表单中，将Select Web Server 选为 other，并在下面粘贴server.csr的内容，并单击 next。</p><p>确定登陆信息并选择一个可以收到邮件的邮箱（没有？快去Google Apps 和 QQ 域名邮箱申请一个，并开通对应用户名的账号），单击next。再次确认接收域名证书的邮箱，和订单联系人信息，单击 Submit Order 按钮。</p><p>稍后查看邮箱，即可看到名为ORDER #000000 - Domain Control Validation for xxx.com的邮件，单击“here”，并将下方的验证码粘贴在打开的页面中并单击 next。很快，你将收到包含证书附件的邮件。</p><h2>Nginx主机配置 SSL</h2><p>将邮件附件中的 zip 压缩包解压，并将其中的四个文件上传到服务器中的 /usr/local/nginx/conf 目录下。</p><p>合并 PositiveSSLCA.crt （证书签发机构的 crt） 和 jungehost_com.crt (自己域名的 crt)</p><p><code>cat  xxx_com.crt &gt;&gt; PositiveSSLCA.crt</code></p><p><code>mv PositiveSSLCA.crt  xxx_com.crt</code></p><p>或者直接用记事本打开，然后复制 PositiveSSLCA.crt 里面所有的内容到 xxx_com.crt 最下方即可。</p><p>在虚拟机中添加 SSL 证书支持：</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;">ssl on;
ssl_certificate xxx_com.crt;
ssl_certificate_key jungehost.pem;
...
fastcgi_param  HTTPS on;</pre></div></div><p>最后代码如下：</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;">server
<span style="color: #7a0874; font-weight: bold;">&#123;</span>
listen      <span style="color: #000000;">443</span>;
server_name jungehost.com www.jungehost.com;
index index.html index.htm index.php;
root  <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>wwwroot<span style="color: #000000; font-weight: bold;">/</span>jungehost;
&nbsp;
ssl on;
ssl_certificate xxx_com.crt;
ssl_certificate_key xxx_com.key;
&nbsp;
location ~ .<span style="color: #000000; font-weight: bold;">*</span>\.<span style="color: #7a0874; font-weight: bold;">&#40;</span>php<span style="color: #000000; font-weight: bold;">|</span>php5<span style="color: #7a0874; font-weight: bold;">&#41;</span>?$
<span style="color: #7a0874; font-weight: bold;">&#123;</span>
fastcgi_pass  unix:<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>php-cgi.sock;
fastcgi_index index.php;
fastcgi_param  HTTPS on;
include fcgi.conf;
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
access_log  off;
<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></div></div><p>好了，重新载入 nginx 即可。</p> ]]></content:encoded> <wfw:commentRss>http://dallaslu.com/nginx-namecheap-certificate/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Xmind 快捷键</title><link>http://dallaslu.com/xmind-shortcuts/</link> <comments>http://dallaslu.com/xmind-shortcuts/#comments</comments> <pubDate>Tue, 15 Nov 2011 13:11:02 +0000</pubDate> <dc:creator>卢达</dc:creator> <category><![CDATA[互联网络]]></category> <category><![CDATA[Xmind]]></category> <guid isPermaLink="false">http://dallaslu.com/?p=1310</guid> <description><![CDATA[Xmind 作为一款优秀的思维导图软件，提供了丰富的功能和友好的操作界面。如果不支持快捷键的话，恐怕也难成为一款提升效率的软件了。除去常规快捷键之外，还有哪些能够提高效率的快捷键呢？ 常用快捷键 快捷鍵（Windows） 快捷鍵（Mac） 描述 Ctrl+N Command+N 建立新工作簿 Ctrl+O Command+O 开启工作簿 Ctrl+S Command+S 储存目前工作簿 Ctrl+Shift+S Command+Shift+S 储存全部工作簿 Ctrl+W Command+W 关闭目前工作簿 Ctrl+Shift+W Command+Shift+W 关闭全部工作簿 Ctrl+P Command+P 列印 Ctrl+Z Command+Z 复原 Ctrl+Y Command+Y 重做 Ctrl+X Command+X 剪切 Ctrl+C Command+C 复制 Ctrl+V Command+V 贴上 Delete Delete 删除 Ctrl+Home Command+Home 返回中心主題 Ctrl+A Command+A 选择全部主題 Ctrl+Shift+A Command+Shift+A 选择同層級主題 Ctrl+Alt+A [...]]]></description> <content:encoded><![CDATA[<p>Xmind 作为一款优秀的思维导图软件，提供了丰富的功能和友好的操作界面。如果不支持快捷键的话，恐怕也难成为一款提升效率的软件了。除去常规快捷键之外，还有哪些能够提高效率的快捷键呢？</p><p><span
id="more-1310"></span></p><h2>常用快捷键</h2><table><tbody><tr><th>快捷鍵（Windows）</th><th>快捷鍵（Mac）</th><th>描述</th></tr><tr><td>Ctrl+N</td><td>Command+N</td><td>建立新工作簿</td></tr><tr><td>Ctrl+O</td><td>Command+O</td><td>开启工作簿</td></tr><tr><td>Ctrl+S</td><td>Command+S</td><td>储存目前工作簿</td></tr><tr><td>Ctrl+Shift+S</td><td>Command+Shift+S</td><td>储存全部工作簿</td></tr><tr><td>Ctrl+W</td><td>Command+W</td><td>关闭目前工作簿</td></tr><tr><td>Ctrl+Shift+W</td><td>Command+Shift+W</td><td>关闭全部工作簿</td></tr><tr><td>Ctrl+P</td><td>Command+P</td><td>列印</td></tr><tr><td>Ctrl+Z</td><td>Command+Z</td><td>复原</td></tr><tr><td>Ctrl+Y</td><td>Command+Y</td><td>重做</td></tr><tr><td>Ctrl+X</td><td>Command+X</td><td>剪切</td></tr><tr><td>Ctrl+C</td><td>Command+C</td><td>复制</td></tr><tr><td>Ctrl+V</td><td>Command+V</td><td>贴上</td></tr><tr><td>Delete</td><td>Delete</td><td>删除</td></tr><tr><td>Ctrl+Home</td><td>Command+Home</td><td>返回中心主題</td></tr><tr><td>Ctrl+A</td><td>Command+A</td><td>选择全部主題</td></tr><tr><td>Ctrl+Shift+A</td><td>Command+Shift+A</td><td>选择同層級主題</td></tr><tr><td>Ctrl+Alt+A</td><td>Command+Alt+A</td><td>选择子主題</td></tr><tr><td>Ctrl+F</td><td>Command+F</td><td>寻找/取代</td></tr><tr><td>Ctrl++</td><td>Command++</td><td>放大</td></tr><tr><td>Ctrl+-</td><td>Command+-</td><td>缩小</td></tr><tr><td>Ctrl+=</td><td>Command+=</td><td>正常大小</td></tr><tr><td>Ctrl+]</td><td>Command+]</td><td>插入摘要</td></tr><tr><td>Alt+Enter</td><td>Alt+Enter</td><td>属性内容內容</td></tr><tr><td>Enter</td><td>Enter</td><td>插入主题</td></tr><tr><td>Tab</td><td>Tab</td><td>插入子主题</td></tr><tr><td>Shift+Enter</td><td>Shift+Enter</td><td>在目前主题前插入主题</td></tr><tr><td>Ctrl+Enter</td><td>Command+Enter</td><td>插入目前主题父主题</td></tr><tr><td>Ctrl+Shift+L</td><td>Command+Shift+L</td><td>快捷鍵助手</td></tr><tr><td>Ctrl+I</td><td>Ctrl+I</td><td>插入图片</td></tr><tr><td>Ctrl+Shift+H</td><td>Command+Shift+H</td><td>插入超链接</td></tr><tr><td>Ctrl+B</td><td>Command+B</td><td>添加外框</td></tr><tr><td>Ctrl+L</td><td>Command+L</td><td>添加关联</td></tr><tr><td>F2</td><td>F2</td><td>编辑主题</td></tr><tr><td>F3</td><td>F3</td><td>添加/编辑标签</td></tr><tr><td>F4</td><td>F4</td><td>添加/编辑备注</td></tr><tr><td>F5</td><td>F5</td><td>简报演示</td></tr><tr><td>F6</td><td>F6</td><td>下钻</td></tr><tr><td>Shift+F6</td><td>Shift+F6</td><td>上钻</td></tr><tr><td>F7</td><td>F7</td><td>智慧截取图面</td></tr><tr><td>+</td><td>+</td><td>展开目前分支</td></tr><tr><td>-</td><td>-</td><td>收缩目前分支</td></tr><tr><td>*</td><td>*</td><td>展开所有分支</td></tr><tr><td>/</td><td>/</td><td>收缩所有分支</td></tr><tr><td>Alt+Up</td><td>Alt+Up</td><td>向前移动</td></tr><tr><td>Alt+Down</td><td>Alt+Down</td><td>向后移动</td></tr><tr><td>Ctrl+T</td><td>Command+T</td><td>建立新心智图</td></tr><tr><td>Ctrl+1,2,3,4,5,6</td><td>Command+1,2,3,4,5,6</td><td>快速添加优先等级图标</td></tr><tr><td>Esc</td><td>Esc</td><td>关闭跳出的备注对话框 / 取消截图</td></tr><tr><td>Ctrl+滑鼠滚轮</td><td>Command+滑鼠滚轮</td><td>放大缩小目前的画面</td></tr></tbody></table><p>via <a
title="XMind 快捷键集合" href="http://www.ecmoment.com/xmind-%E5%BF%AB%E6%8D%B7%E9%94%AE%E9%9B%86%E5%90%88">电子商务时刻</a></p><h2>更多快捷键</h2><p>在Xmind快捷键选项中，可以看到更多，整理如下：</p><table><tbody><tr><th>类别</th><th>描述</th><th>快捷键</th><th>适用情况</th></tr><tr><td>编辑</td><td>查找下一个</td><td>Ctrl+K</td><td>编辑文本时</td></tr><tr><td>编辑</td><td>增量查找</td><td>Ctrl+J</td><td>编辑文本时</td></tr><tr><td>编辑</td><td>增量逆向查找</td><td>Ctrl+Shift+J</td><td>编辑文本时</td></tr><tr><td>编辑</td><td>切换插入方式</td><td>Ctrl+Shift+Insert</td><td>编辑文本时</td></tr><tr><td>编辑</td><td>打开块选择</td><td>Alt+Shift+A</td><td>编辑文本时</td></tr><tr><td>编辑</td><td>文字补全</td><td>Ctrl+Alt+/</td><td>编辑文本时</td></tr><tr><td>编辑</td><td>查找上一个</td><td>Ctrl+Shift+K</td><td>编辑文本时</td></tr><tr><td>编辑</td><td>粘贴</td><td>Shift+Insert</td><td>在对话框和窗口中</td></tr><tr><td>编辑</td><td>粘贴</td><td>Ctrl+V</td><td>在对话框和窗口中</td></tr><tr><td>编辑</td><td>复制行</td><td>Ctrl+Insert</td><td>在对话框和窗口中</td></tr><tr><td>编辑</td><td>剪切</td><td>Ctrl+X</td><td>在对话框和窗口中</td></tr><tr><td>编辑</td><td>剪切</td><td>Shift+Delete</td><td>在对话框和窗口中</td></tr><tr><td>编辑</td><td>撤销</td><td>Ctrl+Z</td><td>在对话框和窗口中</td></tr><tr><td>编辑</td><td>复制</td><td>Ctrl+C</td><td>在对话框和窗口中</td></tr><tr><td>编辑</td><td>选择所有</td><td>Ctrl+A</td><td>在对话框和窗口中</td></tr><tr><td>编辑</td><td>内容助手</td><td>Alt+/</td><td>在对话框和窗口中</td></tr><tr><td>编辑</td><td>重做</td><td>Ctrl+Y</td><td>在对话框和窗口中</td></tr><tr><td>编辑</td><td>查找与替换</td><td>Ctrl+F</td><td>在窗口中</td></tr><tr><td>编辑</td><td>删除</td><td>Delete</td><td>在窗口中</td></tr><tr><td>窗口</td><td>显示标尺上下文菜单</td><td>Ctrl+F10</td><td>编辑文本时</td></tr><tr><td>窗口</td><td>显示标尺上下文菜单</td><td>Ctrl+F10</td><td>在对话框和窗口中</td></tr><tr><td>窗口</td><td>最大化当前视图或编辑器</td><td>Ctrl+M</td><td>在窗口中</td></tr><tr><td>窗口</td><td>透视图</td><td>Ctrl+Shift+F8</td><td>在窗口中</td></tr><tr><td>窗口</td><td>快速切换编辑器</td><td>Ctrl+E</td><td>在窗口中</td></tr><tr><td>窗口</td><td>显示系统菜单</td><td>Alt+-</td><td>在窗口中</td></tr><tr><td>窗口</td><td>切换到编辑器</td><td>F12</td><td>在窗口中</td></tr><tr><td>窗口</td><td>上一个编辑器</td><td>Ctrl+Shift+F6</td><td>在窗口中</td></tr><tr><td>窗口</td><td>新建工作簿</td><td>Ctrl+Shift+N</td><td>在窗口中</td></tr><tr><td>窗口</td><td>切换到编辑器</td><td>Ctrl+Shift+E</td><td>在窗口中</td></tr><tr><td>窗口</td><td>下一个编辑器</td><td>Ctrl+F6</td><td>在窗口中</td></tr><tr><td>窗口</td><td>下一个透视图</td><td>Ctrl+F8</td><td>在窗口中</td></tr><tr><td>窗口</td><td>从模板新建工作簿</td><td>Ctrl+Alt+N</td><td>在窗口中</td></tr><tr><td>窗口</td><td>上一个视图</td><td>Ctrl+Shift+F7</td><td>在窗口中</td></tr><tr><td>窗口</td><td>下一个视图</td><td>Ctrl+F7</td><td>在窗口中</td></tr><tr><td>导航</td><td>转至行</td><td>Ctrl+L</td><td>编辑文本时</td></tr><tr><td>导航</td><td>上一个子选项卡</td><td>Alt+PageUp</td><td>在对话框和窗口中</td></tr><tr><td>导航</td><td>下一个子选项卡</td><td>Alt+PageDown</td><td>在对话框和窗口中</td></tr><tr><td>导航</td><td>上一个编辑位置</td><td>Ctrl+Q</td><td>在窗口中</td></tr><tr><td>导航</td><td>上一个</td><td>Ctrl+,</td><td>在窗口中</td></tr><tr><td>导航</td><td>下一个</td><td>Ctrl+.</td><td>在窗口中</td></tr><tr><td>导航</td><td>收起全部</td><td>Ctrl+Shift+Numpad_Divide</td><td>在窗口中</td></tr><tr><td>导航</td><td>上一页</td><td>Alt+Shift+F7</td><td>在窗口中</td></tr><tr><td>导航</td><td>下一页</td><td>Alt+F7</td><td>在窗口中</td></tr><tr><td>视图</td><td>显示控制台</td><td>Alt+Shift+Q,C</td><td>在窗口中</td></tr><tr><td>视图</td><td>开始头脑风暴模式 [Pro]</td><td>F8</td><td>在思维图编辑器</td></tr><tr><td>视图</td><td>开始演示 [Pro]</td><td>F5</td><td>在思维图编辑器</td></tr><tr><td>视图</td><td>实际大小</td><td>Ctrl+0</td><td>在思维图编辑器</td></tr><tr><td>视图</td><td>放大</td><td>Ctrl+=</td><td>在思维图编辑器</td></tr><tr><td>视图</td><td>放大</td><td>Ctrl++</td><td>在思维图编辑器</td></tr><tr><td>视图</td><td>选中同级主题</td><td>Ctrl+Shift+A</td><td>在思维图编辑器</td></tr><tr><td>视图</td><td>上钻</td><td>Shift+F6</td><td>在思维图编辑器</td></tr><tr><td>视图</td><td>下钻</td><td>F6</td><td>在思维图编辑器</td></tr><tr><td>视图</td><td>选中子主题</td><td>Ctrl+Alt+A</td><td>在思维图编辑器</td></tr><tr><td>视图</td><td>缩小</td><td>Ctrl+-</td><td>在思维图编辑器</td></tr><tr><td>思维图</td><td>打开工作簿</td><td>Ctrl+O</td><td>在窗口中</td></tr><tr><td>思维图</td><td>提交备注</td><td>Ctrl+Enter</td><td>备注视图</td></tr><tr><td>思维图</td><td>快速添加图标 (图标: 图标: 优先级 -&gt; 优先级 1)</td><td>Ctrl+1</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>全部收缩</td><td>/</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>编辑备注</td><td>F4</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>快速添加图标 (图标: 图标: 优先级 -&gt; 优先级 2)</td><td>Ctrl+2</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>收缩</td><td>-</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>向左移动主题</td><td>Alt+←</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>插入主题(之前)</td><td>Shift+Enter</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>插入外框</td><td>Ctrl+B</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>插入子主题</td><td>Tab</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>快速添加图标 (图标: 图标: 优先级 -&gt; 优先级 4)</td><td>Ctrl+4</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>快速添加图标 (图标: 图标: 优先级 -&gt; 优先级 5)</td><td>Ctrl+5</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>展开</td><td>+</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>插入概要</td><td>Ctrl+]</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>向下移动主题</td><td>Alt+↓</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>全部展开</td><td>*</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>从 创建新画布</td><td>Ctrl+Alt+T</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>修改超链接</td><td>Ctrl+H</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>新建</td><td>Ctrl+T</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>焦点切换</td><td>Shift+Tab</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>编辑主题</td><td>F2</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>快速添加图标 (图标: 图标: 优先级 -&gt; 优先级 3)</td><td>Ctrl+3</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>插入图片</td><td>Ctrl+I</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>快速添加图标 (图标: 图标: 优先级 -&gt; 优先级 6)</td><td>Ctrl+6</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>添加标签</td><td>F3</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>插入联系</td><td>Ctrl+L</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>向上移动主题</td><td>Alt+↑</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>向右移动主题</td><td>Alt+→</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>插入父主题</td><td>Ctrl+Enter</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>插入主题</td><td>Enter</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>插入子主题</td><td>Insert</td><td>编辑思维图</td></tr><tr><td>思维图</td><td>焦点切换</td><td>Shift+Tab</td><td>焦点转移</td></tr><tr><td>思维图</td><td>关闭</td><td>Enter</td><td>焦点转移</td></tr><tr><td>思维图</td><td>进入备注视图</td><td>F4</td><td>在弹出的备注对话框</td></tr><tr><td>思维图</td><td>提交备注</td><td>Ctrl+Enter</td><td>在弹出的备注对话框</td></tr><tr><td>思维图</td><td>智能截图 [Pro]</td><td>F7</td><td>在思维图编辑器</td></tr><tr><td>思维图</td><td>移动至中心主题</td><td>Ctrl+Home</td><td>在思维图编辑器</td></tr><tr><td>文本编辑</td><td>行首</td><td>Home</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>删除至行末</td><td>Ctrl+Shift+Delete</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>删除行</td><td>Ctrl+D</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>选择下一个词语</td><td>Ctrl+Shift+→</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>更改为大写</td><td>Ctrl+Shift+X</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>下滚行</td><td>Ctrl+↓</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>连接行</td><td>Ctrl+Alt+J</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>在当前行上面插入行</td><td>Ctrl+Shift+Enter</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>行末</td><td>End</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>更改为小写</td><td>Ctrl+Shift+Y</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>在当前行下面插入行</td><td>Shift+Enter</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>上一个词语</td><td>Ctrl+←</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>改写切换</td><td>Insert</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>下一个词语</td><td>Ctrl+→</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>删除下一个词语</td><td>Ctrl+Delete</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>将行下移</td><td>Alt+↓</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>文本末尾</td><td>Ctrl+End</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>选择上一个词语</td><td>Ctrl+Shift+←</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>选择行末</td><td>Shift+End</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>选择行首</td><td>Shift+Home</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>复制行</td><td>Ctrl+Alt+↓</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>上滚行</td><td>Ctrl+↑</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>重复行</td><td>Ctrl+Alt+↑</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>删除上一个词语</td><td>Ctrl+Backspace</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>文本开头</td><td>Ctrl+Home</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>将行上移</td><td>Alt+↑</td><td>编辑文本时</td></tr><tr><td>文本编辑</td><td>斜写</td><td>Ctrl+I</td><td>备注视图</td></tr><tr><td>文本编辑</td><td>下划线</td><td>Ctrl+U</td><td>备注视图</td></tr><tr><td>文本编辑</td><td>右排列</td><td>Ctrl+R</td><td>备注视图</td></tr><tr><td>文本编辑</td><td>加粗</td><td>Ctrl+B</td><td>备注视图</td></tr><tr><td>文本编辑</td><td>左排列</td><td>Ctrl+L</td><td>备注视图</td></tr><tr><td>文本编辑</td><td>字体</td><td>Ctrl+T</td><td>备注视图</td></tr><tr><td>文本编辑</td><td>居中对齐</td><td>Ctrl+D</td><td>备注视图</td></tr><tr><td>文本编辑</td><td>右排列</td><td>Ctrl+R</td><td>在弹出的备注对话框</td></tr><tr><td>文本编辑</td><td>下划线</td><td>Ctrl+U</td><td>在弹出的备注对话框</td></tr><tr><td>文本编辑</td><td>加粗</td><td>Ctrl+B</td><td>在弹出的备注对话框</td></tr><tr><td>文本编辑</td><td>斜写</td><td>Ctrl+I</td><td>在弹出的备注对话框</td></tr><tr><td>文本编辑</td><td>左排列</td><td>Ctrl+L</td><td>在弹出的备注对话框</td></tr><tr><td>文本编辑</td><td>居中对齐</td><td>Ctrl+D</td><td>在弹出的备注对话框</td></tr><tr><td>文件</td><td>关闭所有</td><td>Ctrl+Shift+F4</td><td>在窗口中</td></tr><tr><td>文件</td><td>关闭</td><td>Ctrl+F4</td><td>在窗口中</td></tr><tr><td>文件</td><td>关闭所有</td><td>Ctrl+Shift+W</td><td>在窗口中</td></tr><tr><td>文件</td><td>关闭</td><td>Ctrl+W</td><td>在窗口中</td></tr><tr><td>文件</td><td>重命名</td><td>F2</td><td>在窗口中</td></tr><tr><td>文件</td><td>保存</td><td>Ctrl+S</td><td>在窗口中</td></tr><tr><td>文件</td><td>打印</td><td>Ctrl+P</td><td>在窗口中</td></tr><tr><td>文件</td><td>属性</td><td>Alt+Enter</td><td>在窗口中</td></tr><tr><td>文件</td><td>新建</td><td>Ctrl+N</td><td>在窗口中</td></tr><tr><td>文件</td><td>保存所有</td><td>Ctrl+Shift+S</td><td>在窗口中</td></tr><tr><td>文件</td><td>刷新</td><td>F5</td><td>在窗口中</td></tr></tbody></table> ]]></content:encoded> <wfw:commentRss>http://dallaslu.com/xmind-shortcuts/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>jQuery 验证码插件 QapTcha</title><link>http://dallaslu.com/jquery-qaptcha/</link> <comments>http://dallaslu.com/jquery-qaptcha/#comments</comments> <pubDate>Fri, 28 Oct 2011 05:51:14 +0000</pubDate> <dc:creator>卢达</dc:creator> <category><![CDATA[互联网络]]></category> <category><![CDATA[jQuery]]></category> <guid isPermaLink="false">http://dallaslu.com/?p=1299</guid> <description><![CDATA[最近用的欧诺VPS管理面板和caboo的免费VPN发布程序中都见到了这个插件。感觉蛮新潮，恰巧都是在 asp 语言编写的网站上看到，于是就以为是相关社区开发的小控件，从移动设备上借鉴到WEB上的滑动解锁，倒也很有意思。 在插件主页中介绍到，该插件是简单易用的“验证码系统”： QapTcha is a draggable jQuery captcha system with jQuery UI ! QapTcha is an easy-to-use, simple and intuitive captcha system. It needs human action instead of to read a hard text and it is a very lightweight jQuery plugin. 但是实际上，这个插件能否作为验证码来使用很让人怀疑。在插件的演示界面，设置了一个表单，需要滑动 QapTcha 插件产生的滑块儿才可以提交表单，并借此防止机器人自动提交。 在常规的图片验证码中，如果机器人想自动提交的话就得花费大量精力在处理验证码识别上。所以为了保证有效阻止机器人，常见的图片验证码都比较复杂，甚至人都很难识别。这个“滑动解锁”的小插件，能否搞定既阻止机器人，又方便人类呢？ 通过查看演示页面上的 JS 文件了解了一定原理，尝试在 firebug 控制台中执行以下 JS 代码： $.post&#40;'plugins/qaptcha/demo/php/Qaptcha.jquery.php' [...]]]></description> <content:encoded><![CDATA[<p>最近用的欧诺VPS管理面板和caboo的免费VPN发布程序中都见到了这个插件。感觉蛮新潮，恰巧都是在 asp 语言编写的网站上看到，于是就以为是相关社区开发的小控件，从移动设备上借鉴到WEB上的滑动解锁，倒也很有意思。</p><p><span
id="more-1299"></span></p><p>在插件主页中介绍到，该插件是简单易用的“验证码系统”：</p><blockquote><p>QapTcha is a draggable jQuery captcha system with jQuery UI !</p><p><strong>QapTcha is an easy-to-use, simple and intuitive captcha system.</strong><br
/> It needs human action instead of to read a hard text and it is a very lightweight jQuery plugin.</p></blockquote><p>但是实际上，这个插件能否作为验证码来使用很让人怀疑。在插件的<a
href="http://www.myjqueryplugins.com/QapTcha/demo">演示界面</a>，设置了一个表单，需要滑动 QapTcha 插件产生的滑块儿才可以提交表单，并借此防止机器人自动提交。</p><p>在常规的图片验证码中，如果机器人想自动提交的话就得花费大量精力在处理验证码识别上。所以为了保证有效阻止机器人，常见的图片验证码都比较复杂，甚至人都很难识别。这个“滑动解锁”的小插件，能否搞定既阻止机器人，又方便人类呢？</p><p>通过查看演示页面上的 JS 文件了解了一定原理，尝试在 firebug 控制台中执行以下 JS 代码：</p><div
class="wp_syntax"><div
class="code"><pre class="javascript" style="font-family:monospace;">$.<span style="color: #660066;">post</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'plugins/qaptcha/demo/php/Qaptcha.jquery.php'</span>
	<span style="color: #339933;">,</span><span style="color: #009900;">&#123;</span>action<span style="color: #339933;">:</span><span style="color: #3366CC;">'qaptcha'</span><span style="color: #009900;">&#125;</span>
	<span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;input[name='iQapTcha']&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Now,try to submit!'</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'json'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><p>然后再提交表单：很不幸地，表单提交成功了。所以说，这个插件<strong>没有验证码的作用</strong>，只能作为Javascript 中 confirm 的一个替代方案，只是提升了用户体验，其意义仍然只是提供给用户一个确认机会而已。</p> ]]></content:encoded> <wfw:commentRss>http://dallaslu.com/jquery-qaptcha/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>好好说话</title><link>http://dallaslu.com/netese/</link> <comments>http://dallaslu.com/netese/#comments</comments> <pubDate>Tue, 27 Sep 2011 17:08:12 +0000</pubDate> <dc:creator>卢达</dc:creator> <category><![CDATA[互联网络]]></category> <category><![CDATA[Twitter]]></category> <guid isPermaLink="false">http://dallaslu.com/?p=1290</guid> <description><![CDATA[Twitter 推出了中文版，欣喜的看到里面 tweet 翻译为“推文”这种中文用户早就习惯的翻译，遗憾的是未能参与其中。然而，因为网速问题，我突然收到一条提示：矮油！你刚推过那个…… “矮油”两个字激起我一身鸡皮疙瘩，仿佛逛窑子遇见难缠的老鸨挺着一张掉粉的脸咧嘴笑道矮油客官你好讨厌一般。我特意看了一下原文是 Whoops，作为一名 Chinglish 学习者，去Google翻译了一下，原来是“哎呦”的意思。虽然“哎呦”让我想起周杰伦，可这毕竟要比老鸨好的多。印象中现在流行萌语，可是我觉着这场合不合适吧？ 而另外一条包含 Whoops 的句子被翻译为：啊哦、呀、哎呀、对不起、亲娘哎，我觉得没什么问题。其实如果Twitter打算推出粗话中文版，而有人把 Whoops 翻译为哎呀我操，我也一定会投赞成票的。问题在于，这是 Simplified Chinese，而不是 Mengese。曾经被批判的网络语言，实际上有一部分仍然在被使用；我也支持互联网而不叫因特网，但是这个“矮油”出现在这儿，总让我觉得有一些尴尬。 实际上，另外一件很有意思的事儿是国骂的几种变形：喵了个咪的、干你妹、我艹、卧槽、TMD、尼玛等。 我非常理解，你们非常热爱这些词汇，平日里在网络上也很有礼貌，爱用上面提到的几种变形，或类似“我去”、“我擦”等文明用语，这都是您的自由——但是，我说“大酥”或者“妹纸”们，你这样发推就算了，敢不把 Twitter 翻译成这样吗？]]></description> <content:encoded><![CDATA[<p>Twitter 推出了中文版，欣喜的看到里面 tweet 翻译为“推文”这种中文用户早就习惯的翻译，遗憾的是未能参与其中。然而，因为网速问题，我突然收到一条提示：矮油！你刚推过那个……</p><p><span
id="more-1290"></span></p><p>“矮油”两个字激起我一身鸡皮疙瘩，仿佛逛窑子遇见难缠的老鸨挺着一张掉粉的脸咧嘴笑道矮油客官你好讨厌一般。我特意看了一下原文是 Whoops，作为一名 Chinglish 学习者，去Google翻译了一下，原来是“哎呦”的意思。虽然“哎呦”让我想起周杰伦，可这毕竟要比老鸨好的多。印象中现在流行萌语，可是我觉着这场合不合适吧？</p><p>而另外一条包含 Whoops 的句子被翻译为：啊哦、呀、哎呀、对不起、亲娘哎，我觉得没什么问题。其实如果Twitter打算推出粗话中文版，而有人把 Whoops 翻译为哎呀我操，我也一定会投赞成票的。问题在于，这是 Simplified Chinese，而不是 Mengese。曾经被批判的网络语言，实际上有一部分仍然在被使用；我也支持互联网而不叫因特网，但是这个“矮油”出现在这儿，总让我觉得有一些尴尬。</p><p>实际上，另外一件很有意思的事儿是国骂的几种变形：喵了个咪的、干你妹、我艹、卧槽、TMD、尼玛等。</p><p><iframe
id='xmindshare_embedviewer' src='http://www.xmind.net/share/_embed/dallaslu/curse/' width='600px' height='300px' frameborder='0' scrolling='no'></iframe></p><p>我非常理解，你们非常热爱这些词汇，平日里在网络上也很有礼貌，爱用上面提到的几种变形，或类似“我去”、“我擦”等文明用语，这都是您的自由——但是，我说“大酥”或者“妹纸”们，你这样发推就算了，敢不把 Twitter 翻译成这样吗？</p> ]]></content:encoded> <wfw:commentRss>http://dallaslu.com/netese/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss><!-- Dynamic page generated in 3.083 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-05-24 14:18:22 -->

