<?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>乔枫智库 &#187; more cms</title>
	<atom:link href="http://1.17sky.cn/category/other/feed" rel="self" type="application/rss+xml" />
	<link>http://1.17sky.cn</link>
	<description></description>
	<lastBuildDate>Wed, 15 Feb 2017 16:39:58 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>织梦的栏目命名&#8212;取字母的首字母</title>
		<link>http://1.17sky.cn/433.html</link>
		<comments>http://1.17sky.cn/433.html#comments</comments>
		<pubDate>Fri, 21 Dec 2012 03:00:26 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[more cms]]></category>
		<category><![CDATA[杂文]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=433</guid>
		<description><![CDATA[织梦的栏目命名&#8212;取字母的首字母 修改dede/catalog.add &#8230; <a href="http://1.17sky.cn/433.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>织梦的栏目命名&#8212;取字母的首字母</p>
<p><span id="more-433"></span>修改<strong>dede/catalog.add.php</strong>文件 </p>
<p>85行 $toptypedir = GetPinyin(stripslashes($toptypename));</p>
<p>修改为 $toptypedir = GetPinyin(stripslashes($toptypename),1); </p>
<p>&nbsp;</p>
<p>108 行 $typedir = $toptypedir.&#8217;/&#8217;.GetPinyin(stripslashes($v));</p>
<p>修改为 $typedir = $toptypedir.&#8217;/&#8217;.GetPinyin(stripslashes($v),1); </p>
<p>&nbsp;</p>
<p>134行  $toptypedir = GetPinyin(stripslashes($toptypename));</p>
<p>修改为 $toptypedir = GetPinyin(stripslashes($toptypename),1); </p>
<p>&nbsp;</p>
<p>187行 $typedir = GetPinyin(stripslashes($typename));<br />
修改为 $typedir = GetPinyin(stripslashes($typename),1);</p>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/433.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>discuz更换云平台</title>
		<link>http://1.17sky.cn/428.html</link>
		<comments>http://1.17sky.cn/428.html#comments</comments>
		<pubDate>Mon, 17 Dec 2012 03:40:39 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[more cms]]></category>
		<category><![CDATA[杂文]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=428</guid>
		<description><![CDATA[discuz更换云平台详细方法： 1、先关闭你原云平台的所有服务； 2、进入站点 &#8230; <a href="http://1.17sky.cn/428.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>discuz更换云平台详细方法：</p>
<p>1、先关闭你原云平台的所有服务；</p>
<p>2、进入站点后台-&gt;云平台-&gt;诊断工具下，点击手动修改站点ID/KEY，在弹层里将站点ID、KEY删掉，同时将云平台状态改为尚未开通云平台；<span id="more-428"></span></p>
<p>3、更新服务器缓存；</p>
<p>4、下载附件中的文件，并解压；</p>
<p>5、上传 discuzx_update_sitekey.php 到 Discuz!X 根目录；</p>
<p>6、已开通过云平台的域名无法重新开通云平台，这个地方你得用空间的三级域名或者其他二级域名指过来再操作开通（未开通过云平台的域名即可），假设你的暂时域名是:  <a href="http://zanshi.xxx.com/" target="_blank">http://zanshi.xxx.com/</a>；</p>
<p>7、运行 <a href="http://zanshi.xxx.com/" target="_blank">http://zanshi.xxx.com/</a>discuzx_update_sitekey.php ，运行成功后请到网站后台更新缓存；</p>
<p>8、删除 discuzx_update_sitekey.php 文件；</p>
<p>9、用上面的域名<a href="http://zanshi.xxx.com/" target="_blank">http://zanshi.xxx.com/</a>登录后台， 按提示重新开通Discuz!云平台，这次一定要绑定你想绑定的QQ号；</p>
<p>10、最后一步，将你的真实域名指到这个空间，后台同步站点信息即可。<a href="http://www.1.qfnmall.com/wp-content/uploads/2012/12/discuzx_update_sitekey.zip">discuzx_update_sitekey</a></p>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/428.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>安装错误 Fatal error: Mage_Core_Model_Session_Abstract::getMessages</title>
		<link>http://1.17sky.cn/425.html</link>
		<comments>http://1.17sky.cn/425.html#comments</comments>
		<pubDate>Fri, 14 Dec 2012 11:09:54 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[more cms]]></category>
		<category><![CDATA[杂文]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=425</guid>
		<description><![CDATA[将php.ini文件中的 session.auto_start = 1 改成 0 &#8230; <a href="http://1.17sky.cn/425.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>将php.ini文件中的</p>
<p>session.auto_start = 1 改成 0即可</p>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/425.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>joomla和joomla模板不错的网址</title>
		<link>http://1.17sky.cn/422.html</link>
		<comments>http://1.17sky.cn/422.html#comments</comments>
		<pubDate>Thu, 13 Dec 2012 03:18:26 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[more cms]]></category>
		<category><![CDATA[杂文]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=422</guid>
		<description><![CDATA[joomla不错的网址的http://wrun.ru/ http://www.o &#8230; <a href="http://1.17sky.cn/422.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>joomla不错的网址的<a href="http://wrun.ru/">http://wrun.ru/</a></p>
<p><a href="http://www.okjoomla.com/joomla">http://www.okjoomla.com/joomla</a>-模板/</p>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/422.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>今天捡到一个重要的网址http://www.okjoomla.com</title>
		<link>http://1.17sky.cn/405.html</link>
		<comments>http://1.17sky.cn/405.html#comments</comments>
		<pubDate>Fri, 07 Dec 2012 07:49:17 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[more cms]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=405</guid>
		<description><![CDATA[http://www.okjoomla.com,这个网站有很多的joomla的模 &#8230; <a href="http://1.17sky.cn/405.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.okjoomla.com/">http://www.okjoomla.com</a>,这个网站有很多的joomla的模板</p>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/405.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>配置jeecms环境以及java多站点</title>
		<link>http://1.17sky.cn/378.html</link>
		<comments>http://1.17sky.cn/378.html#comments</comments>
		<pubDate>Sun, 25 Nov 2012 14:04:08 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[more cms]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=378</guid>
		<description><![CDATA[ 第一步：安装java环境 1、在【我的电脑】上按右键，选择【属性】 2.选择【 &#8230; <a href="http://1.17sky.cn/378.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p> 第一步：安装java环境<br />
1、在【我的电脑】上按右键，选择【属性】<br />
2.选择【系统属性】面板上面的【高级】选项，然后选择下面的【环境变量】<span id="more-378"></span><br />
3.在底部的【系统变量】列表中，查找变量名为“<span style="color: #ff0000;">JAVA_HOME</span>”的系统变量，如果没有，则点击【新建】按钮，在弹出的对话框里，变量名填入“JAVA_HOME”，在变量值里面填入jdk的安装路径（本教程以“<span style="color: #ff0000;">C:\Program Files\Java\jdk1.6.0_04</span>”为例）<br />
4、点击【确定】，查找变量名为“<span style="color: #ff0000;">Path</span>”的环境变量，然后点击【编辑】按钮，在变量值的最后面加上“ <span style="color: #ff0000;">;C:\Program Files\Java\jdk1.6.0_04\bin</span>”， 记得别忘了最前面的那个分号<br />
 5、点击【确定】按钮，查找变量名为“<span style="color: #ff0000;">CLASSPATH”</span>的环境变量，如果没有找到该环境变量则点击【新建】按钮，在变量名里填入“CLASSPATH”，在变量值里面填入“<span style="color: #ff0000;"> C:\Program Files\Java\jdk1.6.0_04\lib\dt.jar;C:\Program Files\Java\jdk1.6.0_04\lib\tools.jar;.”</span>特别要注意的就是最后那个点,一定要写上<br />
 <br />
    6、依次点击【确定】完成设置，如要查看前面的安装及配置是否成功，可在操作系统的【运行】中输入“cmd”，按回车键进入命令行模式，在命令行模式中输入“java –version”，然后回车，如正确输出java的安装版本信息，则表示java环境已经顺利安装成功。<br />
   <br />
第二步:安装tomcat</p>
<p>第三步：配置多站点 server.xml：</p>
<p>&lt;!&#8211; Note:  A &#8220;Server&#8221; is not itself a &#8220;Container&#8221;, so you may not<br />
     define subcomponents such as &#8220;Valves&#8221; at this level.<br />
     Documentation at /docs/config/server.html<br />
 &#8211;&gt;<br />
&lt;Server port=&#8221;8005&#8243; shutdown=&#8221;SHUTDOWN&#8221;&gt;</p>
<p>  &lt;!&#8211;APR library loader. Documentation at /docs/apr.html &#8211;&gt;<br />
  &lt;Listener className=&#8221;org.apache.catalina.core.AprLifecycleListener&#8221; SSLEngine=&#8221;on&#8221; /&gt;<br />
  &lt;!&#8211;Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html &#8211;&gt;<br />
  &lt;Listener className=&#8221;org.apache.catalina.core.JasperListener&#8221; /&gt;<br />
  &lt;!&#8211; JMX Support for the Tomcat server. Documentation at /docs/non-existent.html &#8211;&gt;<br />
  &lt;Listener className=&#8221;org.apache.catalina.mbeans.ServerLifecycleListener&#8221; /&gt;<br />
  &lt;Listener className=&#8221;org.apache.catalina.mbeans.GlobalResourcesLifecycleListener&#8221; /&gt;</p>
<p>  &lt;!&#8211; Global JNDI resources<br />
       Documentation at /docs/jndi-resources-howto.html<br />
  &#8211;&gt;<br />
  &lt;GlobalNamingResources&gt;<br />
    &lt;!&#8211; Editable user database that can also be used by<br />
         UserDatabaseRealm to authenticate users<br />
    &#8211;&gt;<br />
    &lt;Resource name=&#8221;UserDatabase&#8221; auth=&#8221;Container&#8221;<br />
              type=&#8221;org.apache.catalina.UserDatabase&#8221;<br />
              description=&#8221;User database that can be updated and saved&#8221;<br />
              factory=&#8221;org.apache.catalina.users.MemoryUserDatabaseFactory&#8221;<br />
              pathname=&#8221;conf/tomcat-users.xml&#8221; /&gt;<br />
  &lt;/GlobalNamingResources&gt;</p>
<p>  &lt;!&#8211; A &#8220;Service&#8221; is a collection of one or more &#8220;Connectors&#8221; that share<br />
       a single &#8220;Container&#8221; Note:  A &#8220;Service&#8221; is not itself a &#8220;Container&#8221;,<br />
       so you may not define subcomponents such as &#8220;Valves&#8221; at this level.<br />
       Documentation at /docs/config/service.html<br />
   &#8211;&gt;<br />
  &lt;Service name=&#8221;Catalina&#8221;&gt;<br />
 <br />
    &lt;!&#8211;The connectors can use a shared executor, you can define one or more named thread pools&#8211;&gt;<br />
    &lt;!&#8211;<br />
    &lt;Executor name=&#8221;tomcatThreadPool&#8221; namePrefix=&#8221;catalina-exec-&#8221;<br />
        maxThreads=&#8221;150&#8243; minSpareThreads=&#8221;4&#8243;/&gt;<br />
    &#8211;&gt;<br />
   <br />
   <br />
    &lt;!&#8211; A &#8220;Connector&#8221; represents an endpoint by which requests are received<br />
         and responses are returned. Documentation at :<br />
         Java HTTP Connector: /docs/config/http.html (blocking &amp; non-blocking)<br />
         Java AJP  Connector: /docs/config/ajp.html<br />
         APR (HTTP/AJP) Connector: /docs/apr.html<br />
         Define a non-SSL HTTP/1.1 Connector on port 8080<br />
    &#8211;&gt;<br />
    &lt;Connector port=&#8221;80&#8243; protocol=&#8221;HTTP/1.1&#8243;<br />
               connectionTimeout=&#8221;20000&#8243;<br />
               redirectPort=&#8221;8443&#8243; /&gt;<br />
    &lt;!&#8211; A &#8220;Connector&#8221; using the shared thread pool&#8211;&gt;<br />
    &lt;!&#8211;<br />
    &lt;Connector executor=&#8221;tomcatThreadPool&#8221;<br />
               port=&#8221;8080&#8243; protocol=&#8221;HTTP/1.1&#8243;<br />
               connectionTimeout=&#8221;20000&#8243;<br />
               redirectPort=&#8221;8443&#8243; /&gt;<br />
    &#8211;&gt;          <br />
    &lt;!&#8211; Define a SSL HTTP/1.1 Connector on port 8443<br />
         This connector uses the JSSE configuration, when using APR, the<br />
         connector should be using the OpenSSL style configuration<br />
         described in the APR documentation &#8211;&gt;<br />
    &lt;!&#8211;<br />
    &lt;Connector port=&#8221;8443&#8243; protocol=&#8221;HTTP/1.1&#8243; SSLEnabled=&#8221;true&#8221;<br />
               maxThreads=&#8221;150&#8243; scheme=&#8221;https&#8221; secure=&#8221;true&#8221;<br />
               clientAuth=&#8221;false&#8221; sslProtocol=&#8221;TLS&#8221; /&gt;<br />
    &#8211;&gt;</p>
<p>    &lt;!&#8211; Define an AJP 1.3 Connector on port 8009 &#8211;&gt;<br />
    &lt;Connector port=&#8221;8009&#8243; protocol=&#8221;AJP/1.3&#8243; redirectPort=&#8221;8443&#8243; /&gt;<br />
    &lt;!&#8211; An Engine represents the entry point (within Catalina) that processes<br />
         every request.  The Engine implementation for Tomcat stand alone<br />
         analyzes the HTTP headers included with the request, and passes them<br />
         on to the appropriate Host (virtual host).<br />
         Documentation at /docs/config/engine.html &#8211;&gt;</p>
<p>    &lt;!&#8211; You should set jvmRoute to support load-balancing via AJP ie :<br />
    &lt;Engine name=&#8221;Standalone&#8221; defaultHost=&#8221;localhost&#8221; jvmRoute=&#8221;jvm1&#8243;&gt;        <br />
    &#8211;&gt;<br />
    &lt;Engine name=&#8221;Catalina&#8221; defaultHost=&#8221;localhost&#8221;&gt;</p>
<p>      &lt;!&#8211;For clustering, please take a look at documentation at:<br />
          /docs/cluster-howto.html  (simple how to)<br />
          /docs/config/cluster.html (reference documentation) &#8211;&gt;<br />
      &lt;!&#8211;<br />
      &lt;Cluster className=&#8221;org.apache.catalina.ha.tcp.SimpleTcpCluster&#8221;/&gt;<br />
      &#8211;&gt;       </p>
<p>      &lt;!&#8211; The request dumper valve dumps useful debugging information about<br />
           the request and response data received and sent by Tomcat.<br />
           Documentation at: /docs/config/valve.html &#8211;&gt;<br />
      &lt;!&#8211;<br />
      &lt;Valve className=&#8221;org.apache.catalina.valves.RequestDumperValve&#8221;/&gt;<br />
      &#8211;&gt;</p>
<p>      &lt;!&#8211; This Realm uses the UserDatabase configured in the global JNDI<br />
           resources under the key &#8220;UserDatabase&#8221;.  Any edits<br />
           that are performed against this UserDatabase are immediately<br />
           available for use by the Realm.  &#8211;&gt;<br />
      &lt;Realm className=&#8221;org.apache.catalina.realm.UserDatabaseRealm&#8221;<br />
             resourceName=&#8221;UserDatabase&#8221;/&gt;</p>
<p>      &lt;!&#8211; Define the default virtual host<br />
           Note: XML Schema validation will not work with Xerces 2.2.<br />
       &#8211;&gt;<br />
      &lt;Host name=&#8221;localhost&#8221;  appBase=&#8221;webapps&#8221;<br />
            unpackWARs=&#8221;true&#8221; autoDeploy=&#8221;true&#8221;<br />
            xmlValidation=&#8221;false&#8221; xmlNamespaceAware=&#8221;false&#8221;&gt;</p>
<p>        &lt;!&#8211; SingleSignOn valve, share authentication between web applications<br />
             Documentation at: /docs/config/valve.html &#8211;&gt;<br />
        &lt;!&#8211;<br />
        &lt;Valve className=&#8221;org.apache.catalina.authenticator.SingleSignOn&#8221; /&gt;<br />
        &#8211;&gt;</p>
<p>        &lt;!&#8211; Access log processes all example.<br />
             Documentation at: /docs/config/valve.html &#8211;&gt;<br />
        &lt;!&#8211;<br />
        &lt;Valve className=&#8221;org.apache.catalina.valves.AccessLogValve&#8221; directory=&#8221;logs&#8221; <br />
               prefix=&#8221;localhost_access_log.&#8221; suffix=&#8221;.txt&#8221; pattern=&#8221;common&#8221; resolveHosts=&#8221;false&#8221;/&gt;<br />
        &#8211;&gt;</p>
<p>      &lt;/Host&gt;<br />
<span style="color: #ff0000;">&lt;Host appBase=&#8221;webapps2&#8243; name=&#8221;test01.com&#8221;&gt; </span><br />
<span style="color: #ff0000;">&lt;Alias&gt;www.test01.com&lt;/Alias&gt; </span><br />
<span style="color: #ff0000;">   &lt;Context path=&#8221;&#8221; docBase=&#8221;C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\test01&#8243; debug=&#8221;0&#8243; reloadable=&#8221;true&#8221;&gt;&lt;/Context&gt; </span><br />
<span style="color: #ff0000;">&lt;/Host&gt;</span><br />
<span style="color: #ff0000;">&lt;Host appBase=&#8221;webapps3&#8243; name=&#8221;test02.com&#8221;&gt; </span><br />
<span style="color: #ff0000;">&lt;Alias&gt;www.test02.com&lt;/Alias&gt; </span><br />
<span style="color: #ff0000;">   &lt;Context path=&#8221;&#8221; docBase=&#8221;C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\test02&#8243; debug=&#8221;0&#8243; reloadable=&#8221;true&#8221;&gt;&lt;/Context&gt; </span><br />
<span style="color: #ff0000;">&lt;/Host&gt;</span><br />
<span style="color: #ff0000;">&lt;Host appBase=&#8221;webapps4&#8243; name=&#8221;test03.com&#8221;&gt; </span><br />
<span style="color: #ff0000;">&lt;Alias&gt;www.test03.com&lt;/Alias&gt; </span><br />
<span style="color: #ff0000;">   &lt;Context path=&#8221;&#8221; docBase=&#8221;C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\test03&#8243; debug=&#8221;0&#8243; reloadable=&#8221;true&#8221;&gt;&lt;/Context&gt; </span><br />
<span style="color: #ff0000;">&lt;/Host&gt;</span><br />
<span style="color: #ff0000;">&lt;Host appBase=&#8221;webapps5&#8243; name=&#8221;test04.com&#8221;&gt; </span><br />
<span style="color: #ff0000;">&lt;Alias&gt;www.test04.com&lt;/Alias&gt; </span><br />
<span style="color: #ff0000;">   &lt;Context path=&#8221;&#8221; docBase=&#8221;C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\test04&#8243; debug=&#8221;0&#8243; reloadable=&#8221;true&#8221;&gt;&lt;/Context&gt; </span><br />
<span style="color: #ff0000;">&lt;/Host&gt;</span><br />
   <span style="color: #ff0000;"> &lt;/Engine&gt;</span><br />
  &lt;/Service&gt;<br />
&lt;/Server&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/378.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress_Category分类函数&#124;Tags标签函数详解</title>
		<link>http://1.17sky.cn/351.html</link>
		<comments>http://1.17sky.cn/351.html#comments</comments>
		<pubDate>Thu, 22 Nov 2012 13:20:59 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[more cms]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=351</guid>
		<description><![CDATA[WordPress Category分类函数、Tags标签函数详解 总结了Wor &#8230; <a href="http://1.17sky.cn/351.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p align="left"><strong>WordPress Category</strong><strong>分类函数、Tags标签函数详解</strong></p>
<p align="left"><script type="text/javascript"></script><script type="text/javascript"></script>总结了Wordpress<strong> Category</strong><strong>分类函数</strong>和<strong>Tags标签函数</strong>的使用方法。<span id="more-351"></span></p>
<p align="left"><script type="text/javascript"></script><script type="text/javascript" src="http://cpro.baidu.com/cpro/ui/c.js"></script><script charset="utf-8" type="text/javascript" src="http://cb.baidu.com/ecom?di=u217118&amp;tm=BAIDU_CPRO_SETJSONADSLOT&amp;fn=BAIDU_CPRO_CSETADSLOT&amp;baidu_id="></script><strong>目录模板函数集 （Category Template Tags） </strong><br />
(注意:所有代码的符号均需半角符号)</p>
<p align="left"><strong>一、获取文章目录链接（Post Category）函数</strong>-&lt;?php the_category(’arguments’);?&gt;，多参数。</p>
<p align="left">参数说明：</p>
<p align="left">①分隔符（seperator），目录之间的分隔符号，可以为文字或字符，默认情况下按照无序列表的形式显示。</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> the_category(&#8216;seperator=&amp;bull;&#8217;); <strong>?&gt;</strong></p>
<p align="left">②层级参数（parents），如何显示子目录链接，属性值有single和multiple。</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> the_category(&#8216;parents=multiple&#8217;); ?&gt;</p>
<p align="left"><strong>二、在RSS中显示文章的发表目录（Post Category in RSS Format）函数</strong>-&lt;?php the_category_rss(’arguments’); ?&gt;。</p>
<p align="left">参数说明：</p>
<p align="left">①类型（type）：Feed显示类型。</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> the_category_rss(&#8216;type=rss&#8217;); <strong>?&gt;</strong></p>
<p align="left">三、<strong>获取页面目录名称函数（Page Category Title）函数</strong>-&lt;?php single_cat_title(’prefix’,&#8217;display’); ?&gt;,显示或返回当前页面所属目录名称。</p>
<p align="left">参数说明：</p>
<p align="left">①前缀（prefix），目录名称前缀，默认值：不显示任何内容。</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> single_cat_title(&#8216;&amp;bull;&#8217;,&#8217;display&#8217;); <strong>?&gt;</strong></p>
<p align="left">②显示目录名称参数（display）。属性值 TRUE | FALSE</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> single_cat_title(&#8216;prefix&#8217;,&#8217;true&#8217;); <strong>?&gt;</strong></p>
<p align="left">四、<strong>获取当前页目录描述（Category Description）函数</strong>&lt;?php category_description(category); ?&gt;。</p>
<p align="left">参数说明：</p>
<p align="left">①目录ID（category），返回目录描述,参数值类型为整数</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> category_description(&#8216;2&#8242;); <strong>?&gt;</strong></p>
<p align="left">五、<strong>显示下拉菜单形式的目录列表（Category Dropdown）函数</strong>-&lt;?php wp_dropdown_categories(’argument’); ?&gt;</p>
<p align="left">参数说明：</p>
<p align="left">①显示所有选项（show_option_all）</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> wp_dropdown_categories(&#8216;show_option_all=&#8217;) ;<strong>?&gt;</strong></p>
<p align="left">②允许选择类别为“无”（show_option_none）</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> wp_dropdown_categories(&#8216;show_option_none=&#8217;); <strong>?&gt;</strong></p>
<p align="left">③排列字段（orderby）参数值 ID | name</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> wp_dropdown_categories(&#8216;orderby=name&#8217;); <strong>?&gt;</strong></p>
<p align="left">④排序次序（order）参数值 ASC | DESC</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> wp_dropdown_categories(&#8216;order=DESC&#8217;); <strong>?&gt;</strong></p>
<p align="left">⑤是否显示最后更新日期（show_last_update）属性值 1 | 0</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> wp_dropdown_categories(&#8216;show_last_update=1&#8242;); <strong>?&gt;</strong></p>
<p align="left">⑥是否显示目录内文章数量（show_count）属性值 1 | 0</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> wp_dropdown_categories(&#8216;show_count=1&#8242;); <strong>?&gt;</strong></p>
<p align="left">⑦是否隐藏空目录（hide_empty）属性值 1 | 0</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> wp_dropdown_categories(&#8216;hide_empty=0&#8242;); <strong>?&gt;</strong></p>
<p align="left">⑧显示子目录（Child of）属性值类型为 Interger</p>
<p align="left">根据目录ID显示其子目录</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> wp_dropdown_categories(&#8216;child_of=5&#8242;); <strong>?&gt;</strong></p>
<p align="left">⑨排除指定目录（exclude），包含指定目录（include），以逗号分开指定目录的ID。参数值类型：Interger。</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> wp_dropdown_categories(&#8216;exclude=5,12&#8242;); <strong>?&gt;</strong></p>
<p align="left">输出（echo）属性值 1 | 0,当参数echo=0是返回PHP形式的代码共使用。</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> wp_dropdown_categories(&#8216;echo=0&#8242;); <strong>?&gt;</strong></p>
<p align="left">⑩下拉列表中的选中项（selected）属性值类型：Interger。，参数范围为目录ID。</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> wp_dropdown_categories(&#8216;selected=5&#8242;); <strong>?&gt;</strong></p>
<p align="left">⑾层级（heirarchial），属性值 1 | 0</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> wp_dropdown_categories(&#8216;heirarchial=1&#8242;); <strong>?&gt;</strong></p>
<p align="left">⑿目录下拉列表名称（name），默认值为 “cat”。</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> wp_dropdown_categories(&#8216;name=cat-dropdown&#8217;); <strong>?&gt;</strong></p>
<p align="left">⒀目录下拉列表类（class）,默认值为“postform”。</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> wp_dropdown_categories(&#8216;class=cat-dropdown&#8217;); <strong>?&gt;</strong></p>
<p align="left">⒁层级目录深度（depth）属性值 0 | -1 | 1 | n。</p>
<p align="left">0：显示所有目录及子目录，默认值。</p>
<p align="left">-1：平级显示所有目录（子目录无缩进）</p>
<p align="left">1：只先是顶级目录</p>
<p align="left">n：指定层级深度</p>
<p align="left">例子：</p>
<p align="left"><strong>&lt;?php</strong> wp_dropdown_categories(&#8216;depth=n&#8217;); <strong>?&gt;</strong></p>
<p align="left">六、<strong>获取目录链接（Category Link List）函数</strong>-&lt;?php wp_list_categories(’arguments’); ?&gt;。</p>
<p align="left">具体参考 <a title="Wordpress目录链接列表函数-Category Link List " href="http://it.dengchao.org/wordpress-category-link-list/wordpress/wordpress-design/" target="_blank">WordPress目录链接列表函数-Category Link List</a></p>
<p align="left">七、<strong>返回文章是否属于某个指定目录（If In Category）函数</strong>-in_category()。</p>
<p align="left"><strong>&lt;?php</strong> if ( in_category(&#8216;category_id&#8217;) ): <strong>?&gt;</strong></p>
<p align="left">// 具体代码</p>
<p align="left"><strong>&lt;?php</strong> endif; <strong>?&gt;</strong></p>
<p align="left">八、<strong>返回父目录列表（Category’s Parents List）函数</strong>-get_category_parents)。</p>
<p align="left"><strong>&lt;?php</strong> echo(get_category_parents(category, display link, separator, nice name)); <strong>?&gt;</strong></p>
<p align="left">九、<strong>以数组的形式返回文章所属目录（Category Array）的函数</strong>-get_the_category()。</p>
<p align="left"><strong>&lt;?php</strong> </p>
<p align="left">foreach((get_the_category()) as $category) {</p>
<p align="left">echo $category-&gt;cat_name .&#8217; &#8216;;</p>
<p align="left">}</p>
<p align="left"><strong>?&gt;</strong></p>
<p align="left">好了，关于<strong>WordPress Category分类函数、Tags标签函数详解</strong>就介绍到这里，如果您在使用过程中遇到什么问题可以在下面留言，我会Mail回复您的。</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/351.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress函数详解</title>
		<link>http://1.17sky.cn/349.html</link>
		<comments>http://1.17sky.cn/349.html#comments</comments>
		<pubDate>Thu, 22 Nov 2012 13:18:55 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[more cms]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=349</guid>
		<description><![CDATA[俗易懂的Wordpress函数详解   在讲述下面的WordPress函数之前， &#8230; <a href="http://1.17sky.cn/349.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p align="left">俗易懂的Wordpress函数详解<span id="more-349"></span></p>
<p align="left"> </p>
<table width="100%" border="0" cellpadding="0">
<tbody>
<tr>
<td>
<p align="left">在讲述下面的WordPress函数之前，我们需要明确这样一点，所有的WordPress函数都是已经定义好的PHP函数，它们都需要写在PHP 语句中（&lt;?php ?&gt;）才能执行；而且，所有这些函数在PHP语句中都应以分号”;”结尾。其实，为了用好这些函数，为你的WordPress服务，你最好具有 PHP语言的基础。</p>
<p align="left"><strong>1.bloginfo()</strong></p>
<p align="left">顾名思义，该函数主要用来显示博客信息；而且根据参数的不同，可以用来显示博客信息中的不同部分。常用的有以下几种：</p>
<p align="left">bloginfo(’name’) 显示博客题名，如“月夜”；默认（不写参数）输出该项；</p>
<p align="left">bloginfo(’description’) 显示博客描述部分，如“分享网络知识·享受快乐生活”；</p>
<p align="left">bloginfo(’url’) 输出博客URL地址，如http://www.yueye.org；</p>
<p align="left">bloginfo(’rss2_url’) 显示博客的RSS2.0 feed地址，如http://www.yueye.org/feed；</p>
<p align="left">bloginfo(’template_url’) 用来获取WordPress博客的模板地址；</p>
<p align="left">bloginfo(’charset’) 显示博客的编码方式，如“UTF-8”；</p>
<p align="left">一种常见的使用bloginfo()函数的组合如下：</p>
<p align="left">&lt;a href=”&lt;?php bloginfo(’url’); ?&gt;” title=”&lt;?php bloginfo(’description’); ?&gt;” &gt;&lt;?php bloginfo(’name’); ?&gt;</p>
<p align="left">在月夜博客中，如上信息输出形如月夜的样式。这种形式通常会用来添加博客的底部信息，如Copyright @ 月夜，经常在主题模板中使用。</p>
<p align="left">需要注意的是bloginfo()函数只能输出显示这些参量，如果你想在PHP语句中使用得到的这些值，则需使用get_bloginfo()函数，该函数和bloginfo()使用相同的参数，获得相同的结果。</p>
<p align="left"><strong>2.wp_title()</strong></p>
<p align="left">该函数用来显示页面的标题，如在文章页面，则显示文章标题；在分类页面，则显示分类名称；等等。</p>
<p align="left">wp_title()函数可以跟三个参数，即wp_title(’separator’,echo,seplocation)，其中 separator是title和其余部分之间的分割符号，默认是&gt;&gt;；echo是个bool变量，取true显示标题，取false则将标 题作为一个PHP参量返回；seplocation定义分隔符的位置，取right定义分隔符在标题后面，取其他任何值，都表示将分隔符放在标题前面。</p>
<p align="left">比如形如主题文件夹下header.php中的一段代码：</p>
<p align="left">&lt;title&gt;<br />
&lt;?php wp_title(’ | ‘,true,’right’); ?&gt;<br />
&lt;?php bloginfo(’name’); ?&gt; – &lt;?php bloginfo(’description’); ?&gt;<br />
&lt;/title&gt;</p>
<p align="left">在博客首页可以显示这样的效果“月夜 – 分享网络知识·享受快乐生活”；在文章页，可以显示这样的效果“用好WordPress不可不知的50个函数 | 月夜 – 分享网络知识·享受快乐生活”；而在分类页面，则可以显示这样的效果“网站相关 | 月夜 – 分享网络知识·享受快乐生活”；等等。</p>
<p align="left"><strong>3.wp_get_archives()</strong></p>
<p align="left">该函数用来获取博客的文章存档，通过设置函数的参数，可以按各种方式获取，如按月，按年等等。</p>
<p align="left">wp_get_archives()函数后面同样可以跟多种参数，只不过所有参数都需要使用&amp;连接，并放在单引号(’)中以字符串方式传递 给函数，形如wp_get_archives(’type=monthly&amp;format=html&amp; show_post_count=1&amp;limit=10′)。</p>
<p align="left">如上的参数意义描述如下：</p>
<p align="left">type=monthly表示按月显示文章存档，可以使用yearly、daily、weekly等代替monthly表示按年、日、以及周显示文章存档；</p>
<p align="left">format=html表示使用通常的HTML中&lt;li&gt;格式化文章列表；</p>
<p align="left">show_post_count=1表示在文章存档后面显示属于该类别（年、月等）的文章数量，该参量是个bool值；</p>
<p align="left">limit=10表示显示的文章存档的最大数量为10，超过次数，则超出部分不显示；</p>
<p align="left">尽管参数稍多，显得略为复杂，但其实只需注意type、show_post_count以及limit等三个参量即可。</p>
<p align="left"><strong>4.wp_list_categories()</strong></p>
<p align="left">和wp_get_archives()函数类似，wp_list_categories()函数用来获取博客文章的分类信 息，并可以通过设置适当的函数参数，将其显示出来。该函数的参数和wp_get_archives()函数类似，都需要使用&amp;连接，放在单引号 (’)中以字符串方式传递。形如wp_get_archives(’orderby=name&amp;order=ASC&amp; show_count=1&amp;use_desc_for_title=1&amp;feed=订阅&amp;exclude=2,5&amp; number=10′)。</p>
<p align="left">如上示例中，函数各参数的意义如下：</p>
<p align="left">orderby=name表示按照分类名称的字母先后顺序显示分类信息，可以将name换为ID等；</p>
<p align="left">order=ASC表示按照分类名称的字母的升序显示分类信息，将ASC改为DESC表示按降序；</p>
<p align="left">show_count=1在每个分类名称后面显示属于该分类的文章数；</p>
<p align="left">use_desc_for_title=1使用该分类的描述信息为每个分类名称超链接添加一个title属性；</p>
<p align="left">feed=订阅：在每个分类信息旁边添加一个名为“订阅”的超链接，提供该分类的RSS订阅；</p>
<p align="left">exlude=2,5：在显示的分类中去除ID为2和5的分类；也可以用include=2,5表示只显示ID为2和5的分类；</p>
<p align="left">number=10：表示只显示最先的10个分类。</p>
<p align="left"><strong>5.get_the_category()</strong></p>
<p align="left">get_the_category()函数用来返回当前文章所属的类别的若干属性所组成的一个数组，该数组包括以下内容：</p>
<p align="left">cat_ID：当前类别的ID(也可以写作’term_id’)；</p>
<p align="left">cat_name：当前类别的名称(也被写作’name’)；</p>
<p align="left">category_description：当前分类的描述(也可以写作’description’)；</p>
<p align="left">category_count：属于当前分类的文章数量(也被写作’count’)。</p>
<p align="left">具体的使用方法，我们通过下面的几个句子来说明：</p>
<p align="left">形如get_the_category()-&gt;cat_ID的语句，返回当前文章所属分类的ID号；</p>
<p align="left">形如get_the_category()-&gt;description的语句，返回当前文章所属分类的描述；等等。</p>
<p align="left"><strong>6.the_category()</strong></p>
<p align="left">该函数返回当前文章所属的类别名称，而且是文章类别的超链接形式。</p>
<p align="left">默认的无参数形式the_category()直接以超链接形式显示类别名称，显示为：精品推介；</p>
<p align="left">可以在函数中跟上分隔符等参数来格式化输出，如the_category(’-’)，若当前文章属于两个以上分类，可以显示这样的形式：精品推介-经验知识；如只属于一个分类，则显示为这样的形式：精品推介。</p>
<p align="left"><strong>7.category_description()</strong></p>
<p align="left">该函数以分类的ID为输入，得到该分类的描述。常和echo、get_the_category()配合使用，将当前分类描述输出：</p>
<p align="left">echo category_description(get_the_category()-&gt;cat_ID);</p>
<p align="left">如上语句，get_the_category()得到保存有当前分类信息的一个数组；cat_ID为该数组中该分类的ID；将该ID输入给category_description()函数，即可得到该分类的描述；然后使用echo将其输出。</p>
<p align="left">但经月夜试验，使用如下的语句可以实现和上面语句相同的功能：</p>
<p align="left">echo category_description();</p>
<p align="left">这可能是因为该函数在默认无参数输入的情况下会输出当前分类描述的结果吧。</p>
<p align="left"><strong>8.is_home()</strong></p>
<p align="left">is_home()用以判断当前显示的博客页面是否是博客首页，返回的是一个Bool值。如果是在首页，则返回TRUE；否则返回FALSE。</p>
<p align="left">该函数常用来控制博客侧边栏的显示方式，经常使用如下代码段：</p>
<p align="left">&lt;?php<br />
if ( is_home() ) {<br />
//此为在博客首页应该显示的内容<br />
} else {<br />
//此为非博客首页应该显示的内容<br />
}<br />
?&gt;</p>
<p align="left"><strong>9.is_archive()</strong></p>
<p align="left">is_archive()用以判断当前显示的内容是否是博客存档页面，比如按日期的存档，或者按分类的存档，等等；其和is_home()函数一样，返回一个Bool值。</p>
<p align="left"><strong>10.is_page()</strong></p>
<p align="left">is_page()函数判断当前显示的内容是否是博客的独立页面（page），如“月夜私语”、“关于月夜”等页面；它也返回一个Bool值。</p>
<p align="left">我们可以在模板中通过该函数判断当前是否是一个独立页面，从而决定是否为当前显示的文章显示发布时间等等。</p>
<p align="left"><strong>11.is_paged()</strong></p>
<p align="left">该函数用以判断当前文章是否因为内容过多而分页显示；需要注意的是，如果你在写文章时手动添加了&lt;!–nextpage–&gt;标签，来强制分页的话，该函数并不会因此而返回TRUE。</p>
<p align="left"><strong>12.is_page_template()</strong></p>
<p align="left">is_page_template()函数需要跟一个参数，通常以如下方式使用：</p>
<p align="left">is_page_template(’guestbook.php’);</p>
<p align="left">藉此判断当前显示的独立页面（page）是否使用了参数所示的模板guestbook.php；如果不跟参数，函数返回当前独立页面是否使用了模板。</p>
<p align="left"><strong>13.is_single()</strong></p>
<p align="left">is_single()用以判断当前显示的页面内容是否是一篇单独的文章。其后面可以跟三种参数，一种是文章ID；一种是 文章题目（title）；一种是文章名称（slug，文章题目的一种简短说明形式）；或者可以将三种参数组合使用，藉此来判断当前页面内容是否是具体的某 篇文章。</p>
<p align="left">一个简单的例子如下，我们可以通过如下几种方式判断当前显示的内容是否是本文：</p>
<p align="left">is_single(’808′);<br />
is_single(’用好WordPress不可不知的函数（二）’);<br />
is_single(’functions-must-known-using-wordpress-second’);<br />
is_single(’808′,’用好WordPress不可不知的函数（二）’,’functions-must-known-using-wordpress-second’);</p>
<p align="left">在这里，月夜需要对上述最后一种方式做些说明：该函数后跟三个参数时，有优先级，如果第一个参数符合条件，则返回TRUE；否则，则返回FALSE；貌似后面的参数并没有什么意义。</p>
<p align="left"><strong>14.is_category()</strong></p>
<p align="left">该函数用以判断当前显示的页面内容是否是一个分类页面，如网站相关；其中无需参数。函数返回一个Bool值。</p>
<p align="left"><strong>15.is_tag()</strong></p>
<p align="left">is_tag()用以判断当前显示的页面是否是一个标签页面，比如WordPress；其后也不需要跟参数。该函数同样返回一个Bool值。</p>
<p align="left"><strong>16.is_date()</strong></p>
<p align="left">此函数用以判断当前显示的内容是否为按时间归档的页面，比如2009年四月，或者2009年4月8日，等等。</p>
<p align="left"><strong>17.is_day()</strong><strong>、is_month()、is_year()</strong></p>
<p align="left">这些函数用以判断当前显示的内容是否为按天、按月、按年份归档的页面。它们和is_date()类似，只不过将归档时间更具体化而已。</p>
<p align="left"><strong>18.is_author()</strong></p>
<p align="left">该函数用以判断当前显示的内容是否为以作者名归档的页面，比如月夜博客的admin作者页面。</p>
<p align="left"><strong>19.is_admin()</strong></p>
<p align="left">is_admin()函数用以判断当前是否在控制面板页面，或者管理员面板页面。</p>
<p align="left"><strong>20.get_bloginfo()</strong></p>
<p align="left">该函数和我们前面的文章用好WordPress不可不知的函数（一）中介绍的bloginfo()函数实现近乎相同的功能。主要用来显示博客的信息；而且根据后跟参数的不同，会输出博客的不同信息。</p>
<p align="left">其后不跟参数时，get_bloginfo()可以显示博客名称，形如“月夜”；</p>
<p align="left">后跟其他参数时，可以显示对应的信息，比如get_bloginfo ( ‘description’ )用以显示博客描述信息；</p>
<p align="left">其他还可以使用的参数包括name、url、wpurl以及admin_email等等。但因为其与bloginfo()函数实现相同的结果，所以，在bloginfo能够实现的情况下，月夜不推荐使用get_bloginfo()函数。</p>
<p align="left"><strong>21.query_posts()</strong></p>
<p align="left">query_posts()函数结合适当的参数用来控制哪些文章会在页面上显示。</p>
<p align="left">形如query_posts(”cat=3,6&amp;cat=-5,-10″)表示取分类ID为3和6的文章显示，不取分类ID为5和10的文章显示；</p>
<p align="left">形如query_posts(”order=ASC&amp;showposts=10&amp;offset=1&amp;orderby=date&amp;posts_per_page=5″)意义如下：</p>
<p align="left">order=ASC表示按照升序排列，取为DESC则表示按降序；</p>
<p align="left">showposts=10则表示获取10篇文章；</p>
<p align="left">offset=1表示取最新的文章；</p>
<p align="left">orderby=date表示将文章按照日期排序；</p>
<p align="left">posts_per_page=5表示每页显示5篇文章。</p>
<p align="left">需要注意的是该函数只是将文章内容从MySQL数据库中查询出来，要将其显示，还需要与其他语句配合，比如一个经常在侧边栏中使用的形式如下：</p>
<p align="left">&lt;li&gt;&lt;h2&gt;最近文章&lt;/h2&gt;<br />
&lt;?php query_posts(’showposts=5&amp;offset=1′); ?&gt;<br />
&lt;ul&gt;<br />
&lt;?php while (have_posts()) : the_post(); ?&gt;<br />
&lt;li&gt;&lt;a href=”&lt;?php the_permalink(); ?&gt;” title=”&lt;?php the_title(); ?&gt;”&gt;&lt;?php the_title(); ?&gt;&lt;/li&gt;<br />
&lt;?php endwhile;?&gt;<br />
&lt;/ul&gt;<br />
&lt;/li&gt;</p>
<p align="left">如上的这段代码用以在侧边栏的指定位置上显示最新的5篇文章。</p>
<p align="left">query_posts()函数后面可以跟众多种类的参数，功能十分强大，在此，我们不进行过多介绍。如果时间和精力允许，月夜会在以后的文章中专门撰文详细地为朋友们做一介绍。</p>
<p align="left"><strong>22.get_posts()</strong></p>
<p align="left">该函数和query_posts()函数功能大体相同，都是用来从数据库中查询并得到符合某条件的文章。不过get_posts()函数的使用有一个固定的形式，如下：</p>
<p align="left">&lt;?php<br />
$lastposts = get_posts(’numberposts=5′);<br />
foreach($lastposts as $post) : setup_postdata($post);<br />
?&gt;<br />
&lt;h2&gt;&lt;a href=”&lt;?php the_permalink(); ?&gt;” id=”post-&lt;?php the_ID(); ?&gt;”&gt;&lt;?php the_title(); ?&gt;&lt;/h2&gt;<br />
&lt;?php the_content(); ?&gt;<br />
&lt;?php endforeach; ?&gt;</p>
<p align="left">即首先使用get_posts()函数查询得到文章数据，然后使用形如foreach($lastposts as $post) : setup_postdata($post);的循环将查询得到的文章内容显示出来。</p>
<p align="left">get_posts()函数使用和query_posts()函数相同的参数，在此我们也不再作详细介绍。</p>
<p align="left"><strong>23.wp_list_cats()</strong></p>
<p align="left">该函数和前文用好WordPress不可不知的函数（一）中wp_list_categories()函数实现相同的功能，不过在最新的WordPress版本中，此函数已经被弃用，其功能为wp_list_categories()函数完全取代。</p>
<p align="left"><strong>24.get_calendar()</strong></p>
<p align="left">get_calendar()函数用以在WordPress上显示日历，日历样式和使用widget显示的效果相同，如下图所示：</p>
<p align="left">其后可以跟一个BOOL参数，用以控制日历上方星期的显示样式。但经月夜测试，在中文状态下，使用TRUE或FALSE参数，日历的显示效果并没有什么区别。</p>
<p align="left"><strong>25.wp_list_bookmarks()</strong></p>
<p align="left">该函数用来显示博客的友情链接，并可以使用各种参数来控制显示的数量、种类以及样式等等。</p>
<p align="left">形如wp_list_bookmarks(’title_li=&amp;categorize=0&amp;orderby=rand&amp;include=41,40,37,54′);的形式，意义解释如下：</p>
<p align="left">title_li=&amp;categorize=0是一种通常使用的组合，意为不显示WordPress后台控制面板中设置的友情链接标题，但所有友链都按照设置的分类显示出来；单独的一个title_li=还可以用来设置被显示友链的类别名称；</p>
<p align="left">orderby=rand设置友链的显示方式为随机顺序，当然，还可以设置为其他的方式，比如id、url、name等等；</p>
<p align="left">include=41,40,37,54表示只显示ID为这四个数字的四个友链；与此对应，还支持使用exclude，表示不显示ID为多少的友链。</p>
<p align="left">此外，该函数还经常用到的参数有before和after，用来设置每个链接前后的文字，默认的是&lt;li&gt;和&lt;/li&gt;标记。</p>
<p align="left"><strong>26.get_links()</strong><strong>、wp_get_links()</strong></p>
<p align="left">这两个函数实现和25.wp_list_bookmarks()相同的功能，不过此二函数已在WordPress升级的过程中为25.wp_list_bookmarks()所取代。</p>
<p align="left"><strong>27.wp_list_pages()</strong></p>
<p align="left">该函数以页面名称的超链接形式显示WordPress博客内的所有页面，经常用来建立顶端导航页面，或用来修饰侧边栏。</p>
<p align="left">形如wp_list_pages(’title_li=&amp;sort_column=menu_order&amp;include=12,25,38,57&amp;depth=1&amp;’);的函数调用，各参数意义如下：</p>
<p align="left">title_li=用来设置所有显示页面的一个总名称；后面没有参数值时，表示不显示名称；</p>
<p align="left">sort_column=menu_order用来设置页面的显示顺序，表示按照WP后台设置的各页面顺序显示，其他的常用顺序设置可能还包括post_title、post_date、ID等等；</p>
<p align="left">include=12,25,38,57表示只显示ID为这四个数值的四个页面；同样，可以使用exclude来排除相应ID的页面；</p>
<p align="left">depth=1表示只显示父页面，对所有子页面不予显示；其他数值还包括默认的0，表示显示所有页面（子页面有缩进）；-1显示所有页面（子页面无缩进）；等等。</p>
<p align="left">此外，该函数可能会用到的属性还包括link_before和link_after，用于设置显示的页面链接前后的字符。</p>
<p align="left"><strong>28.wp_tag_cloud()</strong></p>
<p align="left">顾名思义，wp_tag_cloud()函数用来显示WordPress博客的标签云。</p>
<p align="left">一种形如wp_tag_cloud(’smallest=8&amp;largest=22&amp;number=30&amp;orderby=count’);的函数调用，各参数的意义如下：</p>
<p align="left">smallest=8用来设置标签云中显示出来的所有标签中，计数最少（最少文章使用）的标签的字体大小为8；</p>
<p align="left">largest=22用来设置标签云的所有标签中，计数最多（最多文章使用）的标签的字体大小为22；</p>
<p align="left">number=30设置标签云中显示的最多标签数量为30；</p>
<p align="left">orderby=count设置标签云中标签的排序方式为计数（默认），而不是名称（相应参数为name，widget调用时的默认值）。</p>
<p align="left">其他常用的参数还包括include和exclude，用来设置在标签云中是否包含或去除ID为某数字的标签。</p>
<p align="left"><strong>29.wp_register()</strong></p>
<p align="left">wp_register()函数用以向管理员显示“站点管理”超链接；或者当WP博客开放了注册时，向未登陆的用户显示“注册”超链接。</p>
<p align="left">该函数不需要什么参数，唯一可能用到的参数形式如wp_register(’前’,’后’)，可以在如上显示的超链接文字的前后分别显示一个“前”字和一个“后”字。当然，你可以据此发挥想象力来个性化自己网站的管理或注册链接。</p>
<p align="left"><strong>30.wp_loginout()</strong></p>
<p align="left">该函数用来在指定位置显示一个“登录”链接；当然，如果你已经登录过了，则会相应地显示一个“退出”链接。此函数后面不使用任何参数，所以无法进行灵活的自定义。</p>
<p align="left">不过如果你想自定义自己的WP博客的登录或退出链接文字的话，还是可以使用下面31中 月夜 介绍的函数wp_logout_url()和wp_login_url()。</p>
<p align="left"><strong>31.wp_logout_url()</strong><strong>、wp_login_url()</strong></p>
<p align="left">使用如上30中的函数尽管可以方便地为WP博客设置登录、退出链接，但自定义不够灵活。所以，从WordPress 2.7版本开始，提供了这里的两个函数。它们分别用来获取WP博客退出或登录超链接，然后，我们使用获得的超链接即可编写如下代码，来对WP博客的登录和 退出链接进行灵活设置：</p>
<p align="left">&lt;a href=”&lt;?php echo wp_logout_url(); ?&gt;”&gt;点击这里退出</p>
<p align="left">&lt;a href=”&lt;?php echo wp_login_url(); ?&gt;”&gt;点击这里登录</p>
<p align="left">当然，要想实现完美的效果，还需要对访客的登录状态进行判断，使用一个if语句，根据登录状态显示相应的菜单项。</p>
<p align="left"><strong>32.wp_meta()</strong></p>
<p align="left">该函数通常会紧跟如上29、30中的函数后面，其具体在直观显示上没有什么异样，貌似是WP主题为WP插件留下的API Hook，月夜建议朋友们在如上函数后面跟上这一函数。</p>
<p align="left"><strong>33.get_recent_posts()</strong></p>
<p align="left">该函数只有当你安装了中文WordPress工具箱之后，才能使用。其作用是用来获取最新日志，函数原型如下：</p>
<p align="left">get_recent_posts($no_posts = 5, $before = ‘&lt;li&gt;+ ‘, $after = ‘&lt;/li&gt;’, $show_pass_post = false, $skip_posts = 0)</p>
<p align="left">可以使用$no_posts控制显示文章数量，$before和$after的意义和前面函数中相同；至于后两个参数，一般不必设置，直接取默认值即可。</p>
<p align="left">不过因为该函数与WordPress内置的get_posts()和query_posts()函数功能重复，所以通常情况下很少使用。</p>
<p align="left"><strong>34.get_recent_comments()</strong></p>
<p align="left">其实安装了如上的中文WordPress工具箱之后，最常使用的是这个函数，因为WordPress程序本身没有内置获取最新评论的函数。该函数原型如下：</p>
<p align="left">get_recent_comments($no_comments = 5, $before = ‘&lt;li&gt; ‘, $after = ‘&lt;/li&gt;’, $show_pass_post = false)</p>
<p align="left">意义显然，和上面函数类似，月夜此处不再赘言。</p>
<p align="left"><strong>35.get_recentcomments()</strong></p>
<p align="left">该函数是在安装了WP-RecentComments插件之后才具有的功能，与如上34中的函数类似。</p>
<p align="left">该函数原型如下：</p>
<p align="left">get_recentcomments(int num, int size)</p>
<p align="left">num表示返回的最新评论数量；size表示返回的评论内容的长度。</p>
<p align="left"><strong>36.wp_get_post_tags()</strong></p>
<p align="left">该函数用来在某个文章页面或者根据某篇文章的ID来获取该文章的tag，获取的结果被放置到一个tag数组中。一个常见的使用方式如下：</p>
<p align="left">if (is_single()){<br />
$keywords = “”;<br />
$tags = wp_get_post_tags($post-&gt;ID);<br />
foreach ($tags as $tag ) {<br />
$keywords = $keywords . $tag-&gt;name . “,”;<br />
}<br />
echo $keywords;<br />
}</p>
<p align="left">首先判断是否是单文章页面，如果是，则据当前文章的ID（$post-&gt;ID）来获取当前文章的tag，然后取得其name（$tag-&gt;name），并将其组合输出。</p>
<p align="left"><strong>37.single_cat_title()</strong><strong>、single_tag_title()</strong></p>
<p align="left">如名所言，这两个函数用来获取分类页面和tag页面的title，其通常的使用方式如：</p>
<p align="left">&lt;?php<br />
$str = single_cat_title();<br />
echo $str;<br />
?&gt;</p>
<p align="left">和</p>
<p align="left">&lt;?php<br />
$str = single_tag_title();<br />
echo $str;<br />
?&gt;</p>
<p align="left">然而，除此之外，single_cat_title()还可以用来在tag页面上获取当前页面的title；但single_tag_title()却不可用于获取分类页面的title。</p>
<p align="left"><strong>38.get_settings()</strong><strong>、get_option()</strong></p>
<p align="left">此二函数与前文用好WordPress不可不知的函数（三）中函数20.get_bloginfo()类似，使用方法也相同，可以通过后跟各种参数来获取WordPress博客的相关信息。</p>
<p align="left">比如如下的调用方式：</p>
<p align="left">get_settings(’name’)或get_option(’name’)</p>
<p align="left">可以用来获取当前WordPress博客的标题。</p>
<p align="left"><strong>39.wp_head()</strong></p>
<p align="left">该函数与前文用好WordPress不可不知的函数（五）中函数32.wp_meta()相同，是WP主题为WP插件留下的API Hook。</p>
<p align="left"><strong>40.get_header()</strong><strong>、get_footer()、get_sidebar()和comments_template()</strong></p>
<p align="left">这几个函数是用来在WordPress主题中获取并包含相应的文件的。比如：</p>
<p align="left">get_header()用来包含当前主题文件夹下的header.php；</p>
<p align="left">get_footer()用来包含主题文件夹下的footer.php；</p>
<p align="left">get_sidebar()用来包含主题文件夹下的sidebar.php；</p>
<p align="left">comments_template()用来包含comments.php。</p>
<p align="left">需要注意的一点是，如果当前主题文件夹下缺少对应的文件，则函数会使用wp-content/themes/default/文件夹下的对应文件代替。</p>
<p align="left">此外，以上函数后面都不能跟参数，只有get_sidebar()例外，因为一个主题中可以使用多个sidebar。形如get_sidebar(’up’)的调用方法可将sidebar-up.php侧边栏模板文件包含到主题中。</p>
<p align="left">除了以上几个函数之外，在主题中如果想包含一个具体的文件，还可以使用如下方式：</p>
<p align="left">include(TEMPLATEPATH . ‘/***.php’)</p>
<p align="left">如上的函数形式可以将当前主题文件夹下名为***.php的文件包含进来；其中TEMPLATEPATH是当前主题文件夹地址的一个（不含末尾的/，所以需要添加上）。</p>
<p align="left"><strong>41.have_posts()</strong><strong>、the_post()</strong></p>
<p align="left">这两个函数的使用范围有限，通常在WordPress的循环中使用，用以获取所有文章。其固定使用形式如下：</p>
<p align="left">&lt;?php if (have_posts()) : ?&gt;<br />
&lt;?php while (have_posts()) : the_post(); ?&gt;<br />
此处显示文章<br />
&lt;?php endwhile; ?&gt;<br />
&lt;?php else : ?&gt;<br />
此处显示未找到文章时的信息，比如404相关<br />
&lt;?php endif; ?&gt;</p>
<p align="left">另一种常见的形式是将如上代码中的前两行组合起来（其他地方不变）：</p>
<p align="left">&lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?&gt;</p>
<p align="left">该形式通常会在模板的index.php、archive.php或者single.php等页面使用。除此之外的其他地方，我们通常不会看到此二函数的身影。</p>
<p align="left"><strong>42.the_title()</strong><strong>、the_title_attribute()</strong></p>
<p align="left">the_title()函数主要用来获取当前文章的title，其后可以跟上三个参数（可全部省略，取默认值），调用形式如下：</p>
<p align="left">&lt;?php the_title(’before’, ‘after’, display); ?&gt;</p>
<p align="left">参数before用来设置在获取的title前面显示的字符内容；after用来设置title其后显示的内容；而display是一个Bool值，用于控制获取的title是否显示出来。</p>
<p align="left">the_title_attribute()函数与the_title()类似，其使用方法如下：</p>
<p align="left">the_title_attribute(’before=前&amp;after=后&amp;echo=true’)</p>
<p align="left">其中before=和after=分别用于设置title前面和后面显示的字符；echo=true或者false用户设置获取的title字符串是否显示出来。</p>
<p align="left">形如&lt;?php the_title(’当前文章’, ‘的评论：’, true); ?&gt;或the_title_attribute(’before=当前文章&amp;after=的评论：&amp;echo=true’)的调用形式将会显示如下的结果：</p>
<p align="left">当前文章用好WordPress不可不知的函数（七）的评论：</p>
<p align="left"><strong>43.single_post_title()</strong><strong>、single_tag_title()、single_cat_title()</strong></p>
<p align="left">这一系列函数用于获取当前文章页面、tag页面或分类页面的title字符串。其后可跟两个参数，调用形式如下：</p>
<p align="left">&lt;?php single_post_title(’前缀’,display); ?&gt;</p>
<p align="left">可以使用形如&lt;?php single_post_title(’当前文章：’,TRUE); ?&gt;或&lt;?php single_post_title(’当前文章：’); ?&gt;的调用形式来显示如下的结果：</p>
<p align="left">当前文章：用好WordPress不可不知的函数（七）</p>
<p align="left">此外，也可以像42中的函数一样，将显示属性设置为false，把获取的title字符串传给一个变量，以供其他语句使用。此时的调用形式如下：</p>
<p align="left">&lt;?php $tt = single_post_title(’当前文章：’,false); ?&gt;</p>
<p align="left"><strong>44.the_ID()</strong></p>
<p align="left">该函数后面不跟任何参数，使用如下所示的调用方式：</p>
<p align="left">&lt;?php<br />
$id = the_ID();<br />
echo $id;<br />
?&gt;</p>
<p align="left">用于获取并显示当前文章页面的ID号。不过需要特别注意的一点是，该函数只能在WordPress的大循环内使用，在其他地方使用可能也会显示ID号，但显示的内容始终不会随文章而改变。</p>
<p align="left">此外，该函数通常还会在如下所示的CSS结构中使用：</p>
<p align="left">&lt;h2 id=”post-&lt;?php the_ID(); ?&gt;”&gt;<br />
&lt;?php the_title(); ?&gt;<br />
&lt;/h2&gt;</p>
<p align="left">可为博客中不同的作者设置不同的title样式，以示区分。</p>
<p align="left"><strong>45.get_the_ID()</strong></p>
<p align="left">该函数与44.the_ID()函数实现完全相同的功能，目前WordPress官方也没有提供该函数的使用说明。你可以参阅如上44中对the_ID()函数的介绍。特别提醒一点，该函数与the_ID()类似，也只能在WordPress的大循环中才能正确使用。</p>
<p align="left"><strong>46.the_time()</strong><strong>、get_the_time()</strong></p>
<p align="left">the_time()用来获取并显示当前文章发布的时间，和上面几个函数类似，此函数也是只能在WordPress的大循环中使用。</p>
<p align="left">该函数后面可以跟控制日期或时间格式的参数，常用的参数形式如下：</p>
<p align="left">如&lt;?php the_time(’F j, Y’); ?&gt;的调用形式显示效果为：六月13, 2009（英文状态下显示June 13, 2009）；</p>
<p align="left">如&lt;?php the_time(’g:i a’); ?&gt;的调用形式显示效果为：7:09 下午（英文状态下显示7:09 pm）；</p>
<p align="left">如&lt;?php the_time(’G:i’); ?&gt;的调用形式显示效果为：19:09。</p>
<p align="left">事实上，除了使用the_time()函数之外，WordPress还提供了一个具有类似功能的get_the_time()函数。该函数除了不具 有the_time()函数的显示功能之外，其余功能二者完全相同。使用get_the_time()函数时，如欲将获取的时间显示出来，需要使用专用语 句。</p>
<p align="left">下面，我们籍此机会来简单了解一下WordPress中时间的格式。在WordPress中，通常用于控制时间格式的有一下字符：l, F, j, S, Y, G, g, i, a等等，其详细意义如下：</p>
<p align="left">l（小写L）用来显示一周之中每一天的名称，比如星期六，或者在英文中显示Saturday；</p>
<p align="left">F用来显示月份名称，比如六月，或者June；</p>
<p align="left">j用来显示一月之中的某一天，比如13；</p>
<p align="left">Y用来以4位数字形式显示年份，使用y则以末两位数字显示年份，比如2009或09；</p>
<p align="left">G, g, i, a等四个字符通常组合使用，如前例子，有两种形式：</p>
<p align="left">g:i a以形如7:09 下午或7:09 pm的形式显示时间；</p>
<p align="left">G:i以形如19:09的24小时进制形式显示时间。</p>
<p align="left">S通常紧跟在j后面，表示是否在一月之中某天之后添加英文后缀（st, nd, th等）。</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/349.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Discuz！模板制作教程</title>
		<link>http://1.17sky.cn/342.html</link>
		<comments>http://1.17sky.cn/342.html#comments</comments>
		<pubDate>Thu, 22 Nov 2012 12:59:24 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[more cms]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=342</guid>
		<description><![CDATA[模板制作前请将你的界面设计好，并制作成html+CSS的格式。这里我就以大魔王的 &#8230; <a href="http://1.17sky.cn/342.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>模板制作前请将你的界面设计好，并制作成html+CSS的格式。这里我就以大魔王的“蓝色经典”作为样版（知识共享，希望大魔王不要介意，如有侵权，请及时通知我）。效果图如下：见附件<span id="more-342"></span><a href="http://www.1.qfnmall.com/wp-content/uploads/2012/11/Discuz模板制作案例.zip">Discuz!模板制作案例</a></p>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/342.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解决wordpress复制代码时单双引号成中文字符</title>
		<link>http://1.17sky.cn/324.html</link>
		<comments>http://1.17sky.cn/324.html#comments</comments>
		<pubDate>Thu, 22 Nov 2012 06:44:13 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[more cms]]></category>

		<guid isPermaLink="false">http://www.sweet888.com/?p=324</guid>
		<description><![CDATA[无论在什么语言版本的 WordPress 中'(英文半角引号)总是显示成＇(中文 &#8230; <a href="http://1.17sky.cn/324.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>无论在什么语言版本的 WordPress 中'(英文半角引号)总是显示成＇(中文全角单引号)，英文的三个句号(&#8230;)都会被转换为中文的半个省略号(…)，双引号也有同样的问题，<span id="more-324"></span>中文的一对双引号（&#8221;&#8221;）在 WordPress 中显示出来是(“”)。 在用英文写 BLOG 或博文中有代码片断的时候，不但影响显示美观，复制下来的代码基本无法直接使用，原因据说是因为 WordPress 为了避免某些字符在 MySQL 中二义性而改用全角显示和储存这种字符。</p>
<p>解决方法如下：</p>
<p>1. 修改源文件：wp-includes/formatting.php 找到以下代码并注释掉： // static strings $curl = str_replace($static_characters, $static_replacements, $curl); // regular expressions $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl); 即： // static strings // $curl = str_replace($static_characters, $static_replacements, $curl); // regular expressions // $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl); 保存即可。【注意：注意保存的时候,文件格式要选择UTF- 8,否则可能出错!】</p>
<p>2. 另外，针对 WordPress 单引号问题还有个插件可以解决： Quotmarks Replacer 是一个通过禁用 wptexturize 函数，解决 WordPress 自动将半角的单引号、双引号和省略号转换为全角标点的问题。使后台输入的标点格式与前台读者浏览的标点格式保持一致的插件。 上面修改源代码的方式，也是通过禁用 wptexturize 函数的标点替换部分来达到目的，不想修改源代码的朋友可以直接使用插件。</p>
<p>3. 修改模版的方法最简单：</p>
<p>在主题的 functions.php 里加一句： remove_filter(&#8216;the_content&#8217;, &#8216;wptexturize&#8217;); 这就可以了，以后WordPress升级也不影响。 但有个缺点：就是只在文章正文里起效，其他文章标题、文章摘要、评论内容、评论摘要、评论作者等区域没有效果。 上面的代码可以让文章内容的过滤器失效, 达到显示代码的作用. 如果还想要在其他地方显示正常的代码, 例如标题, 摘要, 评论, 文章标题, 博客信息, 描述, 小工具的文本等等, 可以按照自己的要求去除相应的过滤器, 可用下面的代码来达到我们的目的: $qmr_work_tags = array( &#8216;the_title&#8217;, &#8216;the_content&#8217;, &#8216;the_excerpt&#8217;, &#8216;comment_text&#8217;, &#8216;list_cats&#8217;, &#8216;single_post_title&#8217;, &#8216;comment_author&#8217;, &#8216;term_name&#8217;, &#8216;link_name&#8217;, &#8216;link_description&#8217;, &#8216;link_notes&#8217;, &#8216;bloginfo&#8217;, &#8216;wp_title&#8217;, &#8216;widget_title&#8217;, &#8216;term_description&#8217;, &#8216;category_description&#8217;, &#8216;widget_text&#8217; ); foreach ( $qmr_work_tags as $qmr_work_tag ) { remove_filter ($qmr_work_tag, &#8216;wptexturize&#8217;); } 需要注意的一点是, 这种实现方式需要在可视化编辑模式下输入文章的代码, 在HTML模式下会导致大部分代码丢失.</p>
]]></content:encoded>
			<wfw:commentRss>http://1.17sky.cn/324.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
