<?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>wordpress教程 &#8211; 九创科技</title>
	<atom:link href="https://www.3code.cn/tag/wordpress%e6%95%99%e7%a8%8b-2/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.3code.cn</link>
	<description>Wordpress外贸企业主题, Wp企业主题, wordpress企业主题, wordpress主题定制, WORDPRESS外贸网站建设SEO</description>
	<lastBuildDate>Sat, 15 Feb 2014 10:46:08 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>WordPress实现ajax文章顶踩代码</title>
		<link>https://www.3code.cn/wordpress-ajax-like/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Sat, 15 Feb 2014 10:40:58 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[WORDPRESS主题技术]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3409</guid>

					<description><![CDATA[本篇教程要实现的内容为文章定踩功能，或者说“喜欢”“不喜欢”。 实现步骤： 本实例以上图所示喜欢和不<a class="moretag" href="https://www.3code.cn/wordpress-ajax-like/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>本篇教程要实现的内容为文章定踩功能，或者说“喜欢”“不喜欢”。 实现步骤： 本实例以上图所示喜欢和不喜欢为例。 <strong>一、新建数据表</strong> 新建数据表，将文章投票数据保存在新的数据表中，我们需要记录用户ID，文章ID，投票内容，用户ip，新数据表如下： <img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-3410" alt="table" src="https://www.3code.cn/download/2014/02/table.png" width="405" height="194" srcset="https://www.3code.cn/download/2014/02/table.png 405w, https://www.3code.cn/download/2014/02/table-300x143.png 300w" sizes="(max-width: 405px) 100vw, 405px" />实现新建数据表代码如下，将代码添加进主题的functions.php(或自定)文件中：</p>
<pre>    /*********更新重写规则***************/  
    function ashu_load_theme() {   
        global $pagenow;   
        if ( is_admin() &amp;&amp; 'themes.php' == $pagenow &amp;&amp; isset( $_GET['activated'] ) )   
            ashu_vote_install(); //激活主题的时候执行函数   
    }   
    add_action( 'load-themes.php', 'ashu_load_theme' );   
    function ashu_vote_install(){   
        global $wpdb;   
        //创建 _post_vote表   
        $table_name = $wpdb-&gt;prefix . 'post_vote';   
        if( $wpdb-&gt;get_var("SHOW TABLES LIKE '$table_name'") != $table_name ) :   
        $sql = " CREATE TABLE `".$wpdb-&gt;prefix."post_vote` (
          `id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY ,  
          `user` INT NOT NULL ,  
          `post` INT NOT NULL ,  
          `rating` varchar(10),  
          `ip` varchar(40)  
         ) ENGINE = MYISAM DEFAULT CHARSET=utf8;";   
            require_once(ABSPATH . 'wp-admin/includes/upgrade.php');   
            dbDelta($sql);   
        endif;   
    }</pre>
<p><strong>二、准备投票和查询函数</strong> 准备数据库操作函数，包括添加数据函数和查询数据，将如下函数代码也添加到主题的functions.php文件(或自定)： <strong>1、添加数据函数</strong></p>
<pre>    /*  
    *添加投票函数  
    *$post_id 文章id  
    *$user_id 用户ID  
    *$ip 用户IP  
    *$rating 投票内容  
    */  
    function add_vote($post_id,$user_id='',$ip='',$rating='up'){   
        global $wpdb;   
        $user_id = (int)$user_id;   
        $post_id = (int)$post_id;   
        if(($user_id=='')&amp;&amp;($ip=='')){   
            return "e"; //返回error   
        }   
        //检查用户对某一文章是否已经投票票了   
        if($user_id!=''){   
            $check= "select * from ".$wpdb-&gt;prefix."post_vote where post='$post_id' and user='$user_id'";   
        }else{   
            if($ip!=''){   
                $check= "select * from ".$wpdb-&gt;prefix."post_vote where post='$post_id' and ip='$ip'";   
            }   
        }   
        $coo = $wpdb-&gt;get_results($check);   
        //投票内容只能是up或者down   
        if($rating=='up'){   
            $rating='up';   
        }else{   
            $rating='down';   
        }   
        //如果不存在数据   
        if(!count($coo) &gt; 0){   
            //插入数据 sql   
            $s = "insert into ".$wpdb-&gt;prefix."post_vote (user,post,rating,ip) values('$user_id','$post_id','$rating','$ip')";   
            $wpdb-&gt;query($s);   
            return "y"; //返回yes   
        }else{   
            return "h"; //返回have   
        }   
        return "e";//返回error   
    }</pre>
<p><strong>2、查询投票数据函数</strong> 比如查询某文章点击up的数据，则使用 get_post_vote(1,&#8217;up&#8217;);</p>
<pre>    /*   
    *获取文章投票数据   
    *$post_id 文章ID   
    *$vote 投票内容   
    */   
    function get_post_vote($post_id,$vote='up'){   
        global $wpdb;   
        $post_id = (int)$post_id;   
        if($vote == 'up'){   
            $vote='up';   
        }else{   
            $vote='down';   
        }   
        //查询数据sql   
        $sql = "select count(*) from ".$wpdb-&gt;prefix."post_vote where post='$post_id' and rating='$vote'";   
        $coo = $wpdb-&gt;get_var($sql);   
        if($coo)   
        return $coo; //返回数据   
        else   
        return 0;   
    }</pre>
<p><strong>三、准备前台html和js</strong> 建立好了新的数据表，也准备好了实现投票功能的函数，接下来看前台的html和js。 1、网页前台显示数据，将下面的代码放在输出文章的循环内，即常说的loop中。</p>
<div class="dp-highlighter">&lt;span class=&#8221;vote_up&#8221; id=&#8221;&lt;?php echo &#8216;vote_up&#8217;.$post-&gt;ID;?&gt;&#8221;&gt;<br />
&lt;a href=&#8221;javascript:void(0);&#8221; rel=&#8221;&lt;?php echo &#8216;up_&#8217;,$post-&gt;ID;?&gt;&#8221;&gt;<br />
&lt;span id=&#8221;&lt;?php echo &#8216;vup&#8217;.$post-&gt;ID;?&gt;&#8221;&gt;<br />
&lt;?php echo get_post_vote($post-&gt;ID,&#8217;up&#8217;);?&gt;<br />
&lt;/span&gt;<br />
&lt;/a&gt;<br />
人认为值得买！&lt;/span&gt;&lt;span class=&#8221;vote_down&#8221; id=&#8221;&lt;?php echo &#8216;vote_down&#8217;.$post-&gt;ID;?&gt;&#8221;&gt;<br />
&lt;a href=&#8221;javascript:void(0);&#8221; rel=&#8221;&lt;?php echo &#8216;down_&#8217;.$post-&gt;ID;?&gt;&#8221;&gt;<br />
&lt;span id=&#8221;&lt;?php echo &#8216;vdown&#8217;.$post-&gt;ID;?&gt;&#8221;&gt;<br />
&lt;?php echo get_post_vote($post-&gt;ID,&#8217;down&#8217;);?&gt;<br />
&lt;/span&gt;<br />
&lt;/a&gt;人认为不值得买！<br />
&lt;/span&gt;</p>
</div>
<p>上面代码将会输出一个如下的html结构<span class="vote_down" id="vote_down44"><br />
</span></p>
<p>&lt;span class=&#8221;vote_up&#8221; id=&#8221;vote_up44&#8243;&gt;<br />
&lt;a href=&#8221;javascript:void(0);&#8221; title=&#8221;值得&#8221; rel=&#8221;up_44&#8243;&gt;<br />
&lt;span id=&#8221;vup44&#8243;&gt;<br />
0<br />
&lt;/span&gt;<br />
&lt;/a&gt;<br />
人认为值得买！&lt;/span&gt;<br />
&lt;span class=&#8221;vote_down&#8221; id=&#8221;vote_down44&#8243;&gt;<br />
&lt;a href=&#8221;javascript:void(0);&#8221; title=&#8221;不值&#8221; rel=&#8221;down_44&#8243;&gt;<br />
&lt;span id=&#8221;vdown44&#8243;&gt;<br />
1<br />
&lt;/span&gt;<br />
&lt;/a&gt;人认为不值得买！<br />
&lt;/span&gt;<br />
<span class="vote_down" id="vote_down44"> </span></p>
<p><strong>四、js代码</strong></p>
<p>本篇教程中和上一篇一样，我们同样使用jquery发起ajax请求，所以首先在网页头部加载jquery代码，我在主题底部文件footer.php中加载jqeury。我将jquery-1.7.2.min.js放在了主题文件夹的js文件夹里面，所以用get_template_directory_uri()函数来输出主题的url</p>
<div class="dp-highlighter"><span><span class="tag">&lt;</span><span class="tag-name">script</span><span> </span><span class="attribute">src</span><span>=</span><span class="attribute-value">&#8220;&lt;?php echo get_template_directory_uri();?&gt;/js/jquery-1.7.2.min.js&#8221;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span><span>   </span></span></div>
<p>然后我将发起ajax请求代码也放在了主题里面js文件夹中的ashu.js文件，所以再加上一个 其中输出了ajax请求的地址：www.3code.cn/wp-admin/admin-ajax.php</p>
<p>&lt;script type=&#8221;text/javascript&#8221;&gt;var ajax_url = &#8216;&lt;?php echo admin_url(); ?&gt;admin-ajax.php&#8217;;&lt;/script&gt;<br />
&lt;script src=&#8221;&lt;?php echo get_template_directory_uri();?&gt;/js/ashu.js&#8221;&gt;&lt;/script&gt;</p>
<p>ashu.js文件中的代码:</p>
<pre>    /**     
     * by ashu.     
     * URI: http://www.ashuwp.com     
     */   

    /**   
     * 获取Cookie   
     *name  cookie名称   
     */   
    function getCookie(name) {   
        var start = document.cookie.indexOf( name + "=" );   
        var len = start + name.length + 1;   

        if ( ( !start ) &amp;&amp; ( name != document.cookie.substring( 0, name.length ) ) )   
            return null;   

        if ( start == -1 )   
            return null;   

        var end = document.cookie.indexOf( ';', len );   

        if ( end == -1 )   
            end = document.cookie.length;   
        return unescape( document.cookie.substring( len, end ) );   
    }   
    function ashu_isCookieEnable() {   
        var today = new Date();   
        today.setTime( today.getTime() );   
        var expires_date = new Date( today.getTime() + (1000 * 60) );   

        document.cookie = 'ashu_cookie_test=test;expires=' + expires_date.toGMTString() + ';path=/';   
        var cookieEnable = (getCookie('ashu_cookie_test') == 'test') ?  true : false;   
        //document.cookie = 'ludou_cookie_test=;expires=Fri, 3 Aug 2001 20:47:11 UTC;path=/';   
        return cookieEnable;   
    }   

    jQuery(document).ready(function($) {   
        var ashu_token = 1;   
        $('.vote_up a').click(function(){   
            //检查浏览器是否启用cookie功能   
            if( !ashu_isCookieEnable() ) {   
                alert("很抱歉，您不能给本文投票！");   
                return;   
            }   
            if( ashu_token != 1 ) {   
                alert("您的鼠标点得也太快了吧？！");   
                return false;   
            }   
            ashu_token = 0;   
            //获取投票a标签中的rel值   
            var full_info = $(this).attr( 'rel' );   
            var arr_param = full_info.split( '_' ); //以字符"_"分割   
            //发起ajax   
            $.ajax({   
                url:ajax_url, //ajax地址   
                type:'POST',   
                //请求的参数包括action   rating  postid三项   
                data:'action=vote_post&amp;rating=' + arr_param[ 0 ] + '&amp;postid=' + arr_param[ 1 ],   
                //返回数据   
                success:function(results){   
                    if(results=='n'){   
                        alert('评价失败');   
                        ashu_token = 1;   

                    }   
                    if (results=='y'){   
                        //如果成功，给前台数据加1   
                        var upd_vd = 'vup' + arr_param[ 1 ];   
                        $('#'+upd_vd).text(parseInt($("#"+upd_vd).text())+1);   
                        ashu_token = 1;   

                    }   
                    if (results=='h'){   
                        ashu_token = 1;   
                        alert('已经发表过评价了');   
                    }   
                    if (results=='e'){   
                        ashu_token = 1;   
                        alert('评价失败');   
                    }   
                }   
            });   
        });   

        $('.vote_down a').click(function(){   
            if( !ashu_isCookieEnable() ) {   
                alert("很抱歉，您不能给本文投票！");   
                return;   
            }   
            if(ashu_token != 1) {   
                alert("您的鼠标点得也太快了吧？！");   
                return false;   
            }   
            ashu_token = 0;   

            var full_info = $(this).attr( 'rel' );   
            var arr_param = full_info.split( '_' );   
            $.ajax({   
                url:ajax_url,   
                type:'POST',   
                data:'action=vote_post&amp;rating=' + arr_param[ 0 ] + '&amp;postid=' + arr_param[ 1 ],   
                success:function(results){   
                    if(results=='n'){   
                        alert('评价失败');   
                        ashu_token = 1;   
                    }   
                    if (results=='y'){   
                        var upd_vd = 'vdown' + arr_param[ 1 ];   
                        $("#"+upd_vd).text(parseInt($("#"+upd_vd).text())+1);   
                        ashu_token = 1;   
                    }   
                    if (results=='h'){   
                        ashu_token = 1;   
                        alert('已经发表过评价了');   
                    }   
                    if (results=='e'){   
                        ashu_token = 1;   
                        alert('发生未知错误');   
                    }   
                }   
            });   
        });   
    });</pre>
<p><strong>五、后台php处理代码。</strong> 在前面的教程中，我们的ajax请求地址直接是网站页码地址，但是本篇教程中，我们的ajax请求地址是类似：www.ashuwp.com/wp-admin/admin-ajax.php 使用这个地址来处理ajax请求，请一定记得请求中需要有action参数，然后我们只需要在functions.php文件(或自定)中添加下马代码，即可处理我们的请求，注意执行完请求输出内容之后，添加die函数结束：</p>
<pre>    /*   
    *wp的ajax都可以通过请求中的action参数来执行对应的钩子   
    *示例中我们的action参数值是vote_post   
    *所以我们可以直接用下面两个钩子来执行动作   
    */   
    add_action("wp_ajax_vote_post", "add_votes_options");   
    add_action("wp_ajax_nopriv_vote_post", "add_votes_options");   
    function add_votes_options() {   

    if( isset($_POST['action']) &amp;&amp; ($_POST['action'] == 'vote_post') ){   
        $postid = (int)$_POST['postid'];   
        if( !$postid ){   
            echo 'e'; //输出error   
            die(0);   
        }   
        //cookie中是否已经存在投票数据   
        $voted = $_COOKIE["smzdm_voted_".$postid];   
        if( $voted ){   
            echo 'h'; //输出have   
            die(0);   
        }   
        $ip = $_SERVER['REMOTE_ADDR'];//ip   
        $rating = $_POST['rating']; //投票内容   
        //判断用户是否登录   
        if(  is_user_logged_in() ){   
            global $wpdb, $current_user;   
            get_currentuserinfo();   
            $uid = $current_user-&gt;ID;   
        }else{   
            $uid='';   
        }   
        if($rating=='up'){   
            $rating='up';   
        }else{   
            $rating='down';   
        }   
        //添加数据   
        $voted = add_vote($postid,$uid,$ip,$rating);   
        if($voted=='y'){   
            //设置cookie   
            setcookie("ashu_voted_" . $postid,$rating, time() + 3000000, '/');   
            echo 'y';//输出yes   
            die(0);   
        }   
        if($voted=='h'){   
            //设置cookie   
            setcookie("ashu_voted_" . $postid,$rating, time() + 3000000, '/');   
            echo 'h';   
            die(0);   
        }   
        if($voted=='e'){   
            echo 'n';//输出no   
            die(0);   
        }   
    }else{   
        echo 'e';//输出eroor   
    }   
    die(0);   
    }</pre>
<p><strong>六、结束</strong> 本票教程并非实现定踩或喜欢功能的最佳选择，只是提供一个ajax的简单示例&#8230;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>wordpress中如何禁止或者屏蔽更新提示</title>
		<link>https://www.3code.cn/wordpressshield/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Fri, 14 Feb 2014 04:39:54 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<category><![CDATA[wp教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3407</guid>

					<description><![CDATA[WordPress禁止，插件更新，主题更新，wordpress本身更新提示的方法 禁止wp更新 ad<a class="moretag" href="https://www.3code.cn/wordpressshield/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p><strong>WordPress禁止，插件更新，主题更新，wordpress本身更新提示的方法</strong></p>
<p>禁止wp更新</p>
<p>add_filter(&#8216;pre_site_transient_update_core&#8217;,    create_function(&#8216;$a&#8217;, &#8220;return null;&#8221;)); // 关闭核心提示</p>
<p>add_filter(&#8216;pre_site_transient_update_plugins&#8217;, create_function(&#8216;$a&#8217;, &#8220;return null;&#8221;)); // 关闭插件提示</p>
<p>add_filter(&#8216;pre_site_transient_update_themes&#8217;,  create_function(&#8216;$a&#8217;, &#8220;return null;&#8221;)); // 关闭主题提示</p>
<p>remove_action(&#8216;admin_init&#8217;, &#8216;_maybe_update_core&#8217;);    // 禁止 WordPress 检查更新</p>
<p>remove_action(&#8216;admin_init&#8217;, &#8216;_maybe_update_plugins&#8217;); // 禁止 WordPress 更新插件</p>
<p>remove_action(&#8216;admin_init&#8217;, &#8216;_maybe_update_themes&#8217;);  // 禁止 WordPress 更新主题</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress 屏蔽后台顶部导航栏 LOGO 和页脚版本信息</title>
		<link>https://www.3code.cn/wordpress-logo-copyright/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Fri, 14 Feb 2014 04:35:57 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3405</guid>

					<description><![CDATA[屏蔽 WordPress 后台页脚的版权信息和版本号，将下列代码复制到 functions.php <a class="moretag" href="https://www.3code.cn/wordpress-logo-copyright/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>屏蔽 WordPress 后台页脚的版权信息和版本号，将下列代码复制到 functions.php 即可：</p>
<div>
<table>
<tbody>
<tr>
<td>
<pre>/**
 * 屏蔽后台页脚版本号
 */
function change_footer_admin () {return '';}
add_filter('admin_footer_text', 'change_footer_admin', 9999);
function change_footer_version() {return '';}
add_filter( 'update_footer', 'change_footer_version', 9999);</pre>
</td>
</tr>
</tbody>
</table>
</div>
<p>屏蔽 WordPress 后台导航栏最左侧的 WordPress LOGO，同样复制下列代码到 functions.php：</p>
<div>
<table>
<tbody>
<tr>
<td>
<pre>/**
 * 屏蔽后台导航栏LOGO
 */
function annointed_admin_bar_remove() {
        global $wp_admin_bar;
        /* Remove their stuff */
        $wp_admin_bar-&gt;remove_menu('wp-logo');
}
add_action('wp_before_admin_bar_render', 'annointed_admin_bar_remove', 0);</pre>
</td>
</tr>
</tbody>
</table>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>分类_标签 分页显示 翻页出现404错误</title>
		<link>https://www.3code.cn/%e5%88%86%e7%b1%bb_%e6%a0%87%e7%ad%be-%e5%88%86%e9%a1%b5%e6%98%be%e7%a4%ba-%e7%bf%bb%e9%a1%b5%e5%87%ba%e7%8e%b0404%e9%94%99%e8%af%af/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Sat, 21 Apr 2012 05:11:43 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=3034</guid>

					<description><![CDATA[在wordpress\wp-includes\classes.php里面的handle_404方法 <a class="moretag" href="https://www.3code.cn/%e5%88%86%e7%b1%bb_%e6%a0%87%e7%ad%be-%e5%88%86%e9%a1%b5%e6%98%be%e7%a4%ba-%e7%bf%bb%e9%a1%b5%e5%87%ba%e7%8e%b0404%e9%94%99%e8%af%af/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>在wordpress\wp-includes\classes.php里面的handle_404方法 删除&amp;&amp; !is_paged() 即可<br />
function handle_404() {<br />
global $wp_query;</p>
<p>if ( !is_admin() &amp;&amp; ( 0 == count(  $wp_query-&gt;posts ) ) &amp;&amp; !is_404() &amp;&amp; !is_robots()  &amp;&amp; !is_search() &amp;&amp; !is_home() ) {<br />
// Don&#8217;t 404 for these queries if they matched an object.<br />
if ( ( is_tag() || is_category() || is_tax() ||  is_author() ) &amp;&amp; $wp_query-&gt;get_queried_object() &amp;&amp;  !is_paged() ) {<br />
if ( !is_404() )<br />
status_header( 200 );<br />
return;<br />
}<br />
$wp_query-&gt;set_404();<br />
status_header( 404 );<br />
nocache_headers();<br />
} elseif ( !is_404() ) {<br />
status_header( 200 );<br />
}<br />
}</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress用404页面重写Url</title>
		<link>https://www.3code.cn/wordpress%e7%94%a8404%e9%a1%b5%e9%9d%a2%e9%87%8d%e5%86%99url/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Mon, 26 Dec 2011 09:07:07 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[wordperess]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/wordpress%e7%94%a8404%e9%a1%b5%e9%9d%a2%e9%87%8d%e5%86%99url/</guid>

					<description><![CDATA[&#60;?php $default = &#8216;index.php&#8217;; $this<a class="moretag" href="https://www.3code.cn/wordpress%e7%94%a8404%e9%a1%b5%e9%9d%a2%e9%87%8d%e5%86%99url/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p>&lt;?php    <br />$default = &#8216;index.php&#8217;;     <br />$thisfile = &#8216;your 404 page&#8217;;     <br />$_SERVER[&#8216;ORIG_PATH_TRANSLATED&#8217;] = str_replace($thisfile, $default, $_SERVER[&#8216;ORIG_PATH_TRANSLATED&#8217;]);     <br />$_SERVER[&#8216;SCRIPT_FILENAME&#8217;] = str_replace($thisfile, $default, $_SERVER[&#8216;SCRIPT_FILENAME&#8217;]);     <br />$_SERVER[&#8216;SCRIPT_NAME&#8217;] = str_replace($thisfile, $default, $_SERVER[&#8216;SCRIPT_NAME&#8217;]);     <br />$_SERVER[&#8216;PHP_SELF&#8217;] = str_replace($thisfile, $default, $_SERVER[&#8216;PHP_SELF&#8217;]);     <br />$_SERVER[&#8216;PATH_INFO&#8217;] = false;     <br />$qs =&amp; $_SERVER[&#8216;QUERY_STRING&#8217;];     <br />$ru =&amp; $_SERVER[&#8216;REQUEST_URI&#8217;];     <br />$pos = strrpos($qs, &#8216;://&#8217;);     <br />$pos = strpos($qs, &#8216;/&#8217;, $pos + 4);     <br />$_SERVER[&#8216;URL&#8217;] = $ru = substr($qs, $pos);     <br />$qs = trim(stristr($ru, &#8216;?&#8217;), &#8216;?&#8217;);     <br />// Required for WordPress 2.8+     <br />$_SERVER[&#8216;HTTP_X_ORIGINAL_URL&#8217;] = $ru;     <br />// Fix GET vars     <br />foreach ( $_GET as $var =&gt; $val ) {     <br />if ( substr($var, 0, 3) == &#8216;404&#8217;) {     <br />&#160;&#160;&#160; if ( strstr($var, &#8216;?&#8217;) ) {     <br />&#160;&#160;&#160; $newvar = substr($var, strpos($var, &#8216;?&#8217;) + 1);     <br />&#160;&#160;&#160; $_GET[$newvar] = $val;     <br />&#160;&#160;&#160; }     <br />unset($_GET[$var]);     <br />}     <br />break;     <br />include(&#8216;$default&#8217;);     <br />?&gt;</p>
<p>&#160;</p>
<p>Windows下面把上面的代码保存为404.php并指定。设置好固定链接即可。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress后台操作说明</title>
		<link>https://www.3code.cn/wordpress%e5%90%8e%e5%8f%b0%e6%93%8d%e4%bd%9c%e8%af%b4%e6%98%8e/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Sun, 04 Dec 2011 13:55:40 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/wordpress%e5%90%8e%e5%8f%b0%e6%93%8d%e4%bd%9c%e8%af%b4%e6%98%8e/</guid>

					<description><![CDATA[一、产品分类管理： 点击categories进入分类界面. 这两个分类不要删除，一个是存放news的<a class="moretag" href="https://www.3code.cn/wordpress%e5%90%8e%e5%8f%b0%e6%93%8d%e4%bd%9c%e8%af%b4%e6%98%8e/"> 阅读更多&#8230;</a>]]></description>
										<content:encoded><![CDATA[<p><strong>一、产品分类管理：</strong></p>
<p><a href="https://www.3code.cn/download/2011/12/9c1.jpg"><img decoding="async" title="9c1" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="178" alt="9c1" src="https://www.3code.cn/download/2011/12/9c1_thumb.jpg" width="158" border="0" /></a>     </p>
<p>点击categories进入分类界面.</p>
<p><a href="https://www.3code.cn/download/2011/12/9c3.jpg"><img decoding="async" title="9c3" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="37" alt="9c3" src="https://www.3code.cn/download/2011/12/9c3_thumb.jpg" width="244" border="0" /></a> <a href="https://www.3code.cn/download/2011/12/9c2.jpg"><img loading="lazy" decoding="async" title="9c2" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="41" alt="9c2" src="https://www.3code.cn/download/2011/12/9c2_thumb.jpg" width="244" border="0" /></a> </p>
</p>
<p>这两个分类不要删除，一个是存放news的分类，一个是存放推荐产品的分类，会显示在首页。</p>
<p>news与featured products分类外的其它分类都是产品分类。</p>
<p><a href="https://www.3code.cn/download/2011/12/9c4.jpg"><img loading="lazy" decoding="async" title="9c4" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="484" alt="9c4" src="https://www.3code.cn/download/2011/12/9c4_thumb.jpg" width="291" border="0" /></a></p>
<p>这里可以添加产品分类.</p>
<p><a href="https://www.3code.cn/download/2011/12/9c5.jpg"><img loading="lazy" decoding="async" title="9c5" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="169" alt="9c5" src="https://www.3code.cn/download/2011/12/9c5_thumb.jpg" width="171" border="0" /></a> </p>
<p>这里调整产品分类顺序。</p>
<p>&#160;</p>
<p><strong>二、添加产品与新闻</strong></p>
<p><a href="https://www.3code.cn/download/2011/12/9c6.jpg"><img loading="lazy" decoding="async" title="9c6" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="215" alt="9c6" src="https://www.3code.cn/download/2011/12/9c6_thumb.jpg" width="180" border="0" /></a>     <br />点击这里添加产品与新闻.</p>
<p>&#160;</p>
<p><a href="https://www.3code.cn/download/2011/12/9c7.jpg"><img loading="lazy" decoding="async" title="9c7" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="103" alt="9c7" src="https://www.3code.cn/download/2011/12/9c7_thumb.jpg" width="244" border="0" /></a>     <br />这里输入产品名称</p>
<p><a href="https://www.3code.cn/download/2011/12/9c8.jpg"><img loading="lazy" decoding="async" title="9c8" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="30" alt="9c8" src="https://www.3code.cn/download/2011/12/9c8_thumb.jpg" width="135" border="0" /></a>     <br />点这个上传产品图片</p>
<p><a href="https://www.3code.cn/download/2011/12/9c9.jpg"><img loading="lazy" decoding="async" title="9c9" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="234" alt="9c9" src="https://www.3code.cn/download/2011/12/9c9_thumb.jpg" width="244" border="0" /></a>     <br />这里输入产品或者新闻详细资料</p>
<p><a href="https://www.3code.cn/download/2011/12/9c10.jpg"><img loading="lazy" decoding="async" title="9c10" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="149" alt="9c10" src="https://www.3code.cn/download/2011/12/9c10_thumb.jpg" width="244" border="0" /></a>     <br />产品或者新闻的一些简介，少量文字即可</p>
<p><a href="https://www.3code.cn/download/2011/12/9c11.jpg"><img loading="lazy" decoding="async" title="9c11" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="187" alt="9c11" src="https://www.3code.cn/download/2011/12/9c11_thumb.jpg" width="244" border="0" /></a>     <br />这里输入产品的标题、描述、关键字，做SEO用的，利于搜索.</p>
<p><a href="https://www.3code.cn/download/2011/12/9c12.jpg"><img loading="lazy" decoding="async" title="9c12" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="244" alt="9c12" src="https://www.3code.cn/download/2011/12/9c12_thumb.jpg" width="238" border="0" /></a>     <br />在右侧选择这个产品或者新闻所在的分类</p>
<p><a href="https://www.3code.cn/download/2011/12/9c13.jpg"><img loading="lazy" decoding="async" title="9c13" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="133" alt="9c13" src="https://www.3code.cn/download/2011/12/9c13_thumb.jpg" width="244" border="0" /></a>     <br />这里输入产品的标签(tag)</p>
<p><a href="https://www.3code.cn/download/2011/12/9c14.jpg"><img loading="lazy" decoding="async" title="9c14" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="53" alt="9c14" src="https://www.3code.cn/download/2011/12/9c14_thumb.jpg" width="138" border="0" /></a>     <br />最后点这个完成产品或者新闻发布。</p>
<p>&#160;</p>
<p><strong>三、页面管理：</strong></p>
<p><a href="https://www.3code.cn/download/2011/12/9c15.jpg"><img loading="lazy" decoding="async" title="9c15" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="97" alt="9c15" src="https://www.3code.cn/download/2011/12/9c15_thumb.jpg" width="165" border="0" /></a> </p>
<p>在这里可以找到about us、contact us等页面，可以修改各页面的内容.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress后台设置中文教程</title>
		<link>https://www.3code.cn/wordpress%e5%90%8e%e5%8f%b0%e8%ae%be%e7%bd%ae%e4%b8%ad%e6%96%87%e6%95%99%e7%a8%8b/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Sun, 04 Dec 2011 12:52:53 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=2943</guid>

					<description><![CDATA[在这里设置你的个人信息，包括你的名字、电子邮件等个人信息；最为重要的，在这里更新你的密码。Wordpress 刚开始为你自动生成一个密码，如果你不喜欢那个密码，在这里可以修改新密码。]]></description>
										<content:encoded><![CDATA[<p><strong>1. 用户 – 您的个人资料</strong></p>
<p>在这里设置你的个人信息，包括你的名字、电子邮件等个人信息；最为重要的，在这里更新你的密码。Wordpress 刚开始为你自动生成一个密码，如果你不喜欢那个密码，在这里可以修改新密码。</p>
<p>撰写时使用富文本编辑器。所谓富文本编辑器，就是类似于 Windows 写字板的一个编辑器，对于不习惯使用 html 语法的用户，这个编辑器很方便。如果你需要的话，可以选上。<br />
<strong>2. 用户 – 作者和用户</strong></p>
<p>WordPress 允许多个用户共同撰写一个博客。不过，默认情况是关闭了注册功能，需要管理员在这里手动添加用户。<br />
<strong>3. 选项 – 常规</strong></p>
<p>这里设置站点的必要信息，如网站的标题，副标题，电子信箱，是否允许用户注册，以及时区、日期时间格式等各种信息。这些都容易看懂。</p>
<p>比较容易迷惑的是 WordPress 网址 (URL) 和 Blog 网址 (URL) 。前者是 WordPress 系统所在的目录地址，后者是网站的地址。比如本站(https://3code.cn)，Wordpress URL 填写的是”https://3code.cn”，而 Blog URL 填写的是”https://3code.cn/wordpress”。这样做的好处是 wordpress 目录下的文件易于维护，你所需要额外作的，只是将 /wordpress 目录下的 index.php 复制一份到 / 目录下，并且修改下面这行</p>
<p>require(&#8216;./wp-blog-header.php&#8217;);</p>
<p>为：</p>
<p>require(&#8216;./wordpress/wp-blog-header.php&#8217;);</p>
<p>然后保存。<br />
<strong>4. 选项 – 撰写</strong></p>
<p>这里设置撰写博文的选项，以及设定通过 Email 发布文章的相关信息。最下面的更新服务，是指当你发表一片新的文章时，Wordpress 会自动通知这些网站，让他们及时收录你的文章。<br />
<strong>5. 选项 – 阅读</strong></p>
<p>这里设置你的网站首页显示静态页面还是博文，或者多少片博文。同步订阅输出的数目，以及输出全文还是摘要等。<br />
<strong>6. 选项 – 评论</strong></p>
<p>这里设置进出网站的评论，trackback，pingback等。<br />
<strong>7. 选项 – 隐私</strong></p>
<p>如果你不希望你的网站被搜索引擎索引，可以在这里禁止。<br />
8. 选项 – 永久链接</p>
<p>WordPress 将所有文章保存到数据库中，文章默认链接包括问号和一个数字。这样的动态链接，不利于人(你的读者)和计算机(搜索引擎)理解你文章的内容，因此 WordPress 提供了永久链接功能。比如本站采用的永久链接结构为：</p>
<p>/%year%/%monthnum%/%postname%-%post_id%.html</p>
<p>永久链接需要你的虚拟主机支持 .htaccess 文件，既支持 mod_rewrite 功能。<br />
<strong>9. 选项 – 杂项</strong></p>
<p>这里主要包括文件上传位置等信息。<br />
<strong>10.管理 – 分类</strong></p>
<p>在这里设置你的文章的分类信息。如果你使用中文名字分类，那么建议你输入相应的英文缩略名。<br />
<strong>11.外观 – 主题</strong></p>
<p>WordPress 通过主题确定网站显示的外观，在这里你可以设置自己喜欢的主题。Wordpress 社区网友制作了许多的主题，大部分都可以自由使用，你可以挑选一款自己喜欢的，然后在这里激活即可。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Windows Live Writer写WordPress文章</title>
		<link>https://www.3code.cn/windows-live-writer%e5%86%99wordpress%e6%96%87%e7%ab%a0-2/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Thu, 01 Dec 2011 10:07:41 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/windows-live-writer%e5%86%99wordpress%e6%96%87%e7%ab%a0-2/</guid>

					<description><![CDATA[最近一直在用Windows Live Writer（简称WLW）写博客，感觉很好用，因为Wordpress自带的编辑器有很多缺点，比如速度很慢，修改的时候会自动产生很多个副本，占用很大的数据库空间，发布的图片需要一张一张上传等等，那使用Windows Live Writer这些问题就很好解决，这里跟大家分享一下Windows Live Writer写Wordpress博客的设置方法和一些Wordpress自带编辑器没有的一些功能。]]></description>
										<content:encoded><![CDATA[<p>最近一直在用<a href="http://messenger.live.cn/Writer/">Windows Live Writer</a>（简称WLW）写博客，感觉很好用，因为Wordpress自带的编辑器有很多缺点，比如速度很慢，修改的时候会自动产生很多个副本，占用很大的数据库空间，发布的图片需要一张一张上传等等，那使用Windows Live Writer这些问题就很好解决，这里跟大家分享一下Windows Live Writer写Wordpress博客的设置方法和一些Wordpress自带编辑器没有的一些功能。</p>
<p>首先要下载安装Windows Live Writer，在<a href="http://download.live.com/writer">这里</a>下载，也可以安装Messenger的时候选择安装Writer。</p>
<p>&#160;</p>
<h5><strong>设置方法：</strong></h5>
<h6><strong>WordPress设置：</strong></h6>
<p>在Wordpress后台，选择“设置”中的“撰写”，激活“远程发布”中的“XML-RPC”（启用 WordPress，Movable Type，MetaWeblog和Blogger 的 XML-RPC发布协议。）</p>
<h6><strong>Windows Live Writer设置：</strong></h6>
<p>安装后运行Windows Live Writer，会自动进入帐户设置页面。</p>
<p><a href="https://www.3code.cn/download/2011/12/image_thumb36.png"><img loading="lazy" decoding="async" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image_thumb36" border="0" alt="image_thumb36" src="https://www.3code.cn/download/2011/12/image_thumb36_thumb.png" width="244" height="209" /></a> </p>
<p>选择其他日志服务</p>
<p>&#160;</p>
<p>出现无法自动检测，没关系，选择Wordpress，再更改一下，重新设置一下xmlrpc.php的路径。</p>
<p><a href="https://www.3code.cn/download/2011/12/image_thumb38.png"><img loading="lazy" decoding="async" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image_thumb38" border="0" alt="image_thumb38" src="https://www.3code.cn/download/2011/12/image_thumb38_thumb.png" width="244" height="209" /></a> </p>
<p>下载日志编辑主题、完成。</p>
<p><a href="https://www.3code.cn/download/2011/12/image_thumb41.png"><img loading="lazy" decoding="async" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image_thumb41" border="0" alt="image_thumb41" src="https://www.3code.cn/download/2011/12/image_thumb41_thumb.png" width="244" height="209" /></a> </p>
<p>设置完以后就可以用Windows Live Writer写博客了，相比Wordpress自带的编辑器有很多优势。</p>
<p>个人感觉最方便的就是发图片，不用保存以后一张张去上传了，直接截图到剪贴板之后，ctrl+v就可以了。</p>
<p>还可以添加相册，直接引用Windows Live Space的相册效果，效果可以参考<a href="https://www.3code.cn" target="_blank">外贸网站建设</a>，因为我使用了jQuery lazy load，目前跟图片插件有冲突，本地相册效果不是很好，所以直接调用了Windows Live Space的相册。</p>
<p>还有比如插入表格功能也是Wordpress自带的编辑器没有的功能，还可以插入地图，由于Windows Live Writer是微软的产品，所以插入的地图是Bing地图，但相比我还是更喜欢<a href="http://maps.google.com/">Google地图</a>。</p>
<p>Writer的预览功能比Wordpress要更加完善，点击预览按钮，可以直接预览发布后的效果。</p>
<p>Windows Live Writer还可以设置日志类别、Ping设置、作者、摘要、发布日期、标签、数据域（永久链接）等几乎所有Wordpress编辑器自带的功能，但我用习惯的Simple Tags的一键标签（Click tags）功能，如果一定要用到的话可以使用Windows Live Writer发布完了再去Wordpress编辑器上再编辑一下。</p>
<p>如果博客使用了SEO All in one 插件的话，Writer还有专门的<a href="http://gallery.live.com/results.aspx?c=0&amp;bt=9&amp;pl=8&amp;st=5">插件</a>可以使用，下载地址和使用说明在这里。</p>
<p>此外Windows Live Writer还包括一些比如字数统计等小功能等待大家自己去挖掘了，有好用的插件和心得欢迎交流。 </p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>wordpress中的slug是指的什么？</title>
		<link>https://www.3code.cn/wordpress%e4%b8%ad%e7%9a%84slug%e6%98%af%e6%8c%87%e7%9a%84%e4%bb%80%e4%b9%88%ef%bc%9f/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Wed, 30 Nov 2011 06:56:15 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=2923</guid>

					<description><![CDATA[slug是指wordpress在启用了伪静态后，你的文章(post)与页面(page)、标签(tag)、分类(Category)在访问的时候显示在浏览器地址栏上域名后面的地址。比如：https://www.3code.cn/wpsite/。其中的wpsite就是这个分类的slug,也称之为固定链接地址。要使slug启用，你wordpress必需要启用固定链接，也就是说要伪静态化。]]></description>
										<content:encoded><![CDATA[<p><strong>很多人问我wordpress中的slug指的是什么？</strong><br />
一下子不知道怎么回答&#8230;</p>
<p>下面详细说一下。</p>
<p>slug是指wordpress在启用了伪静态后，你的文章(post)与页面(page)、标签(tag)、分类(Category)在访问的时候显示在浏览器地址栏上域名后面的地址。</p>
<p><strong>比如：</strong><br />
<a href="https://www.3code.cn/wpsite/">https://www.3code.cn/wpsite/</a></p>
<p>其中的wpsite就是这个分类的slug,也称之为固定链接地址。要使slug启用，你wordpress必需要启用固定链接，也就是说要伪静态化。</p>
<p>&nbsp;</p>
<p><strong>额外的说些东东</strong></p>
<p><strong>什么情况 下slug会起作用？</strong></p>
<p>在启用了固定链接后，才会有slug。 在“设置 &gt; 固定链接”里设置固定链接。</p>
<p><strong>设置了固定链接网站打不开了，只能开首页？</strong></p>
<p>此问题是你的服务器不支持重写(.htaccess)，联系空间商处理。</p>
<p><strong>伪静态有什么好处？</strong></p>
<p>利于网站优化。</p>
<p><strong>slug怎么命名比较好？</strong></p>
<p>尽量用短的带有关键字的与你这篇文章相关的单词或者汉字。</p>
<p>还有其它问题？？&gt;&gt;&gt;&gt; 联系作者：qq: 191919168</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>get_categories</title>
		<link>https://www.3code.cn/get_categories/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Mon, 28 Nov 2011 09:34:43 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[WORDPRESS主题技术]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=2917</guid>

					<description><![CDATA[get_categories]]></description>
										<content:encoded><![CDATA[<h2>Description</h2>
<p>Returns an array of category objects matching the query parameters.</p>
<p>Arguments are pretty much the same as <a title="Template Tags/wp list categories" href="http://codex.wordpress.org/Template_Tags/wp_list_categories">wp_list_categories</a> and can be passed as either array or in query syntax.</p>
<p><a id="Usage" name="Usage"></a></p>
<h2>Usage</h2>
<p><code> &lt;?php $categories = get_categories( $args ); ?&gt; </code></p>
<p><a id="Default_Usage" name="Default_Usage"></a></p>
<h3>Default Usage</h3>
<p><code> &lt;?php $args = array(<br />
'type'                     =&gt; 'post',<br />
'child_of'                 =&gt; 0,<br />
'parent'                   =&gt; <em>,<br />
'orderby'                  =&gt; 'name',<br />
'order'                    =&gt; 'ASC',<br />
'hide_empty'               =&gt; 1,<br />
'hierarchical'             =&gt; 1,<br />
'exclude'                  =&gt; </em>,<br />
'include'                  =&gt; <em>,<br />
'number'                   =&gt; </em>,<br />
'taxonomy'                 =&gt; 'category',<br />
'pad_counts'               =&gt; false );?&gt; </code></p>
<p><a id="Parameters" name="Parameters"></a></p>
<h2>Parameters</h2>
<dl>
<dt> <strong>type</strong> </dt>
<dd> (<em>string</em>) Type of category to retrieve</p>
<ul>
<li> <tt>post</tt> &#8211; default</li>
<li> <tt>link</tt></li>
</ul>
</dd>
</dl>
<p><em>Note:</em> <strong><tt>type=link</tt></strong> has been deprecated from WordPress 3.0 onwards. Use <strong><tt>taxonomy=link_category</tt></strong> instead.</p>
<dl>
<dt> <strong>child_of</strong> </dt>
<dd> (<em>integer</em>) Display all  categories that are descendants (i.e. children &amp; grandchildren) of  the category identified by its ID. There is no default for this  parameter. If the parameter is used, the <strong>hide_empty</strong> parameter is set to <em>false</em>. </dd>
</dl>
<dl>
<dt> <strong>parent</strong> </dt>
<dd> (<em>integer</em>) Display only  categories that are direct descendants (i.e. children only) of the  category identified by its ID. This does NOT work like the &#8216;child_of&#8217;  parameter. There is no default for this parameter. [In 2.8.4] </dd>
</dl>
<dl>
<dt> <strong>orderby</strong> </dt>
<dd> (<em>string</em>) Sort categories alphabetically or by unique category ID. The default is <em>sort by Category ID</em>. Valid values:</p>
<ul>
<li> <tt>id</tt></li>
<li> <tt>name</tt> &#8211; default</li>
<li> <tt>slug</tt></li>
<li> <tt>count</tt></li>
<li> <tt>term_group</tt></li>
</ul>
</dd>
</dl>
<dl>
<dt> <strong>order</strong> </dt>
<dd> (<em>string</em>) Sort order for categories (either ascending or descending). The default is <em>ascending</em>. Valid values:</p>
<ul>
<li> <tt>asc</tt> &#8211; default</li>
<li> <tt>desc</tt></li>
</ul>
</dd>
</dl>
<dl>
<dt> <strong>hide_empty</strong> </dt>
<dd> (<em>boolean</em>) Toggles the display of categories with no posts. The default is <em>1</em> for true or you can add &#8216;0&#8217; for false (show empty categories). Valid values:</p>
<ul>
<li> <tt>1</tt> &#8211; default</li>
<li> <tt>0</tt></li>
</ul>
</dd>
</dl>
<dl>
<dt> <strong>hierarchical</strong> </dt>
<dd> (<em>boolean</em>) When <em>true</em>,  the results will include sub-categories that are empty, as long as  those sub-categories have sub-categories that are not empty.  The  default is <em>true</em>. Valid values:</p>
<ul>
<li> <tt>1 (true)</tt> &#8211; default</li>
<li> <tt>0 (false)</tt></li>
</ul>
</dd>
</dl>
<dl>
<dt> <strong>exclude</strong> </dt>
<dd> (<em>string</em>) Excludes one or more categories from the list generated by <em>wp_list_categories</em>. This parameter takes a comma-separated list of categories by unique ID, in ascending order. See <a title="Template Tags/wp list categories" href="http://codex.wordpress.org/Template_Tags/wp_list_categories#Include_or_Exclude_Categories">the example</a>. </dd>
</dl>
<dl>
<dt> <strong>include</strong> </dt>
<dd> (<em>string</em>) Only include certain categories in the list generated by <em>wp_list_categories</em>. This parameter takes a comma-separated list of categories by unique ID, in ascending order. See <a title="Template Tags/wp list categories" href="http://codex.wordpress.org/Template_Tags/wp_list_categories#Include_or_Exclude_Categories">the example</a>.</p>
<ul>
<li> <tt>list</tt> &#8211; default.</li>
<li> <tt>none</tt></li>
</ul>
</dd>
</dl>
<dl>
<dt> <strong>number</strong> </dt>
<dd> (<em>string</em>) The number of categories to return </dd>
</dl>
<dl>
<dt> <strong>taxonomy</strong> </dt>
<dd> (<em>string</em>) Taxonomy to return.  This parameter added at <a title="Version 3.0" href="http://codex.wordpress.org/Version_3.0">Version 3.0</a> Valid values:</p>
<ul>
<li> <tt>category</tt> &#8211; default</li>
<li> <tt>taxonomy</tt> &#8211; or any registered taxonomy</li>
</ul>
</dd>
</dl>
<dl>
<dt> <strong>pad_counts</strong> </dt>
<dd> (<em>boolean</em>) Calculates link or post counts by including items from child categories.  Valid values:</p>
<ul>
<li> <tt>1 (true)</tt></li>
<li> <tt>0 (false)</tt> &#8211; default</li>
</ul>
</dd>
</dl>
<p><a id="Examples" name="Examples"></a></p>
<h2>Examples</h2>
<p><a id="Dropdown_Box_as_used_in_Parent_category_at_post_category_page" name="Dropdown_Box_as_used_in_Parent_category_at_post_category_page"></a></p>
<h3>Dropdown Box as used in Parent category at post category page</h3>
<p>This is the code used in the build in category page. Code from 3.0.1</p>
<pre>wp_dropdown_categories(array('hide_empty' =&gt; 0, 'name' =&gt; 'category_parent', 'orderby' =&gt; 'name', 'selected' =&gt; $category-&gt;parent, 'hierarchical' =&gt; true, 'show_option_none' =&gt; __('None')));</pre>
<p>This slightly altered code will grab all categories and display them  with indent for a new level (child category). The select box will have a  name= and id= called &#8216;select_name&#8217;. This select will not display a default &#8220;none&#8221; as the original code was  used to attach a category as a child to another category (or none).</p>
<pre>wp_dropdown_categories(array('hide_empty' =&gt; 0, 'name' =&gt; 'select_name', 'hierarchical' =&gt; true));</pre>
<p><a id="Dropdown_Box" name="Dropdown_Box"></a></p>
<h3>Dropdown Box</h3>
<p>Here&#8217;s how to create a dropdown box of the subcategories of, say, a  category that archives information on past events. This mirrors the  example of the dropdown example of <a title="Template Tags/wp get archives" href="http://codex.wordpress.org/Template_Tags/wp_get_archives"> wp_get_archives</a> which shows how to create a dropdown box for monthly archives.</p>
<p>Suppose the category whose subcategories you want to show is category 10, and that its category &#8220;nicename&#8221; is &#8220;archives&#8221;.</p>
<pre>&lt;select name="event-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'&gt; 
 &lt;option value=""&gt;&lt;?php echo esc_attr(__('Select Event')); ?&gt;&lt;/option&gt; 
 &lt;?php 
  $categories=  get_categories('child_of=10'); 
  foreach ($categories as $category) {
  	$option = '&lt;option value="/category/archives/'.$category-&gt;category_nicename.'"&gt;';
	$option .= $category-&gt;cat_name;
	$option .= ' ('.$category-&gt;category_count.')';
	$option .= '&lt;/option&gt;';
	echo $option;
  }
 ?&gt;
&lt;/select&gt;</pre>
<p><a id="List_Categories_and_Descriptions" name="List_Categories_and_Descriptions"></a></p>
<h3>List Categories and Descriptions</h3>
<p>This example will list in alphabetic order, all categories presented  as links to the corresponding category archive.  Each category  descripition is listed after the category link.</p>
<pre>&lt;?php
$args=array(
  'orderby' =&gt; 'name',
  'order' =&gt; 'ASC'
  );
$categories=get_categories($args);
  foreach($categories as $category) { 
    echo '&lt;p&gt;Category: &lt;a href="' . get_category_link( $category-&gt;term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category-&gt;name ) . '" ' . '&gt;' . $category-&gt;name.'&lt;/a&gt; &lt;/p&gt; ';
    echo '&lt;p&gt; Description:'. $category-&gt;description . '&lt;/p&gt;';
    echo '&lt;p&gt; Post Count: '. $category-&gt;count . '&lt;/p&gt;';  } 
?&gt;</pre>
<p>The complete content of $category is:</p>
<pre>$category-&gt;term_id
$category-&gt;name
$category-&gt;slug
$category-&gt;term_group
$category-&gt;term_taxonomy_id
$category-&gt;taxonomy
$category-&gt;description
$category-&gt;parent
$category-&gt;count
$category-&gt;cat_ID
$category-&gt;category_count
$category-&gt;category_description
$category-&gt;cat_name
$category-&gt;category_nicename
$category-&gt;category_parent</pre>
<p><a id="Source_File" name="Source_File"></a></p>
<h2>Source File</h2>
<p><tt>get_categories()</tt> is located in <code><a title="http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/category.php" href="http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/category.php">wp-includes/category.php</a></code>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>wordpress主题特色图片详解</title>
		<link>https://www.3code.cn/wordpress%e4%b8%bb%e9%a2%98%e7%89%b9%e8%89%b2%e5%9b%be%e7%89%87%e8%af%a6%e8%a7%a3/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Tue, 15 Nov 2011 16:46:09 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=2898</guid>

					<description><![CDATA[wordpress 新版本中文章有特色图片功能(Post Thumbnail Images)，默认主题下，写新文章时，在页面下方有一个添加特色图片的选项，可以为文章添加特色图片。这个功能能让文章添加一张特定的图片，你可以用 她来当做文章缩略图在首页和列表页调用显示，也可以用作你自己的特殊用途。]]></description>
										<content:encoded><![CDATA[<p>wordpress 新版本中文章有特色图片功能(Post Thumbnail  Images)，默认主题下，写新文章时，在页面下方有一个添加特色图片的选项，可以为文章添加特色图片。这个功能能让文章添加一张特定的图片，你可以用 她来当做文章缩略图在首页和列表页调用显示，也可以用作你自己的特殊用途。</p>
<p>可是很多朋友会问：我的后台怎么没有这个选项呢？因为该主题不支持，没关系，下面就开始让你的博客和wordpress特色图片一起炫起来吧。</p>
<p>一、让你的博客拥有此功能：在主题functions.php中声明即可</p>
<blockquote><p>add_theme_support( ‘post-thumbnails’ );</p></blockquote>
<p>这种方式可以让你的文章和页面都拥有该功能。你也可以用下面这两条中的一条，至于他们的意思，你应该一看就清楚了吧。</p>
<blockquote><p>add_theme_support( ‘post-thumbnails’, array( ‘post’ ) ); // 在单篇文章中开启该功能<br />
add_theme_support( ‘post-thumbnails’, array( ‘page’ ) ); //在页面文章中开启该功能</p></blockquote>
<p>通过上面操作，可以看看后台是否有此功能了。这里要声明的是，特色图片上传后会经过缩略，即调用的图片是原始上传图片的缩略图。为了控制缩略图大小，我们还可以用下面的这些代码来控制，将这些代码放置在上面刚添加的代码后面。</p>
<blockquote><p>set_post_thumbnail_size( 155, 110, true ); // 设置默认的缩略图大小尺寸<br />
add_image_size( ‘one’, 155, 110, true ); // 设置标记为”one”的缩略图尺寸，这里的one应该是数组下标<br />
add_image_size( ‘two’, 350, 248, true );<br />
add_image_size( ‘big’, 546, 387, true );</p></blockquote>
<p>二、前台显示对应的特色图片：将下面代码放置在文章调用循环内</p>
<blockquote><p>&lt;?php if ( has_post_thumbnail() ) { ?&gt;<br />
&lt;?php the_post_thumbnail(); ?&gt;<br />
&lt;?php } else {?&gt;<br />
没有特色图片<br />
&lt;?php } ?&gt;</p></blockquote>
<p>上面这一段应该很简单，即判断是否有特色图片，有的话就显示出来。不过在上文中不是设置了不同的缩略图大小么？怎么调用呢？用下面的代码替换上面的the_post_thumbnail()就可以了：</p>
<blockquote><p>&lt;?php the_post_thumbnail( ‘big’ ); ?&gt;</p>
<p>或者</p>
<p>&lt;?php $thumbID = get_the_post_thumbnail( $post-&gt;ID, ‘two’, $imgsrcparam ); ?&gt;<br />
&lt;?php echo “$thumbID”;//调用了上面设置的标记为two的那张缩略图 ?&gt;</p></blockquote>
<p>然而，即使通过上面的调用，显示出来的图片只是单调的一张图，连title,alt属性都没有，可以用下面的代码来解决：</p>
<blockquote><p>&lt;?php  the_post_thumbnail(‘thumbnail’, array( ‘alt’ =&gt; trim(strip_tags(  $post-&gt;post_title )), ‘title’    =&gt; trim(strip_tags(  $post-&gt;post_title )),‘class’ =&gt; ‘homepage-thumb’ )); ?&gt;</p></blockquote>
<p>输出后的html代码为</p>
<blockquote><p>&lt;img width=”350″ height=”233″ src=”” class=”homepage-thumb wp-post-image” alt=”饰品” title=”饰品” /&gt;</p></blockquote>
<p>三、要提醒的是：</p>
<p>1、wordpress版本是否够高来拥有此功能，2.6之前的好像不能，所以在上文第一步时，请换成下面的代码</p>
<blockquote><p>if ( function_exists( ‘add_theme_support’ ) ) { // Added in 2.9<br />
add_theme_support( ‘post-thumbnails’ );<br />
set_post_thumbnail_size( 50, 50, true ); // Normal post thumbnails<br />
add_image_size( ‘single-post-thumbnail’, 400, 9999 ); // Permalink thumbnail size<br />
}</p></blockquote>
<p>2、该功能涉及的函数：</p>
<div>
<ul>
<li><a href="http://codex.wordpress.org/Function_Reference/add_theme_support">Function Reference/add theme support</a></li>
<li><a href="http://codex.wordpress.org/Function_Reference/get_the_post_thumbnail">Function Reference/get the post thumbnail</a></li>
<li><a href="http://codex.wordpress.org/Function_Reference/add_image_size">Function Reference/add image size</a></li>
<li><a href="http://codex.wordpress.org/Function_Reference/has_post_thumbnail">Function Reference/has post thumbnail</a></li>
</ul>
<ul>另外，你还可以用$thumb_img_src=wp_get_attachment_image_src($attemtend-&gt;  ID);(附件对应的ID)来获取特色图片的src。但这种方法对于我们来说几乎起不到太大的最用，我们几乎不会用到附件的ID，附件ID可以通过进入相 册查看该图片获得的网址中获取。于是我们可以用一种内容截取的办法来获取图片地址：&nbsp;</p>
<p>preg_match(‘/&lt;img.+src=[\'&#8221;]([^\'&#8221;]+)[\'&#8221;].* \/&gt;/i’,$thumb_img, $index_piclink);<br />
$thumb_img_src[$i]=$index_piclink[1];</ul>
</div>
<p>3、如何获取不同大小的图</p>
<p>wordpress特色功能在上传特色图片时默认保存为小中大图、特色图（高198px）、原始图（这指在没有进行上文第一步的设置的时候），那么如何调用这几种图呢？</p>
<ul>
<li>缩略图(Thumbnail)</li>
<li>小图(Small)</li>
<li>中等图(Medium)</li>
<li>大图(Large)</li>
<li>原图(Full)</li>
</ul>
<p>在上文的调用代码&lt;?php the_post_thumbnail(  ); ?&gt;中，()内无内容或为thumbnail时为默认状态，调用的是特色图特色图（高198px），换为其他几个我想您已经知道效果了吧。</p>
<p>还有一点是，如何设置这些大图小图的尺寸呢？在后台“设置》媒体”内就有。如果将大小图内全部填写0的话，那么就不生成大小图了，在文章插入图片的时候，也不能选择大小图，只有特色图和原图了。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>wordpress动态JQUERY二级下拉菜单</title>
		<link>https://www.3code.cn/wordpress%e5%8a%a8%e6%80%81jquery%e4%ba%8c%e7%ba%a7%e4%b8%8b%e6%8b%89%e8%8f%9c%e5%8d%95/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Tue, 20 Sep 2011 04:42:41 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[WORDPRESS主题技术]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=2855</guid>

					<description><![CDATA[使用Jquery后二级菜单在ie6、ie7、ie8、firefox下均能动态显示，但是前天发现在Chrome下虽然可以显示二级菜单，但是却没有动态效果，当时并不在意，今天发现在ie9下也没有动态效果，分析了一下应该是由于添加jQuery后没有删掉css原来的hover部分，浏览器对css和jquery同时执行后影响了显示效果吧，今天把css中的这部分删除了]]></description>
										<content:encoded><![CDATA[<p>原来css显示二级菜单部分：<br />
#access ul li:hover &gt; ul {display: block;}</p>
<p>偶的博客因为已经添加了jQuery库，所以很容易实现动态下拉菜单效果，添加代码：<br />
jQuery(document).ready(function($) {<br />
$(&#8216;#access ul li&#8217;).hover(function() {<br />
$(&#8216;ul&#8217;, this).slideDown(300)<br />
},<br />
function() {<br />
$(&#8216;ul&#8217;, this).slideUp(300)<br />
})<br />
});</p>
<p>使用Jquery后二级菜单在ie6、ie7、ie8、firefox下均能动态显示，但是前天发现在Chrome下虽然可以显示二级菜单，但是却没有动态效果，当时并不在意，今天发现在ie9下也没有动态效果，分析了一下应该是由于添加jQuery后没有删掉css原来的hover部分，浏览器对css和jquery同时执行后影响了显示效果吧，今天把css中的这部分删除了，现在测试均可以了。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>为WordPress主题添加后台控制选项</title>
		<link>https://www.3code.cn/%e4%b8%bawordpress%e4%b8%bb%e9%a2%98%e6%b7%bb%e5%8a%a0%e5%90%8e%e5%8f%b0%e6%8e%a7%e5%88%b6%e9%80%89%e9%a1%b9/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Mon, 19 Sep 2011 03:50:52 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<category><![CDATA[wordpress模板制作]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=2853</guid>

					<description><![CDATA[在最近做的几款 WordPress 主题中，都集成了主题的后台控制选项，一方面是出于方便用户管理和操作的原因，另一方面是因为感觉作为一款收费主题，如果连个后台都没有，总好像缺点什么，所以经过这么多主题包括后台的制作，对后台控制面板的制作也有了一点心得。今天就举例说明如何给 WordPress 主题添加后台控制选项。]]></description>
										<content:encoded><![CDATA[<p>在最近做的几款 WordPress 主题中，都集成了主题的后台控制选项，一方面是出于方便用户管理和操作的原因，另一方面是因为感觉作为一款收费主题，如果连个后台都没有，总好像缺点什么，所以经过这么多主题包括后台的制作，对后台控制面板的制作也有了一点心得。今天就举例说明如何给 WordPress 主题添加后台控制选项。</p>
<p>首先，在你的 WordPress 主题目录下新建一个 settings.php 文档，然后把以下代码粘贴进去：</p>
<blockquote><p>&lt;?php<br />
$themename = &#8220;XXX主题&#8221;;    //主题名称<br />
$shortname = &#8220;jiuchuangzhuti&#8221;;    //主题简写，必须是英文、数字、下划线组合<br />
$options = array (<br />
array(&#8220;name&#8221; =&gt; &#8220;这里是大标题&#8221;,&#8221;type&#8221; =&gt; &#8220;heading&#8221;,&#8221;desc&#8221; =&gt; &#8220;这里是描述信息&#8221;),<br />
array(&#8220;name&#8221; =&gt; &#8220;这里是小标题&#8221;,&#8221;id&#8221; =&gt; $shortname.&#8221;_test&#8221;,&#8221;std&#8221; =&gt; &#8220;这里是默认值&#8221;,&#8221;type&#8221; =&gt; &#8220;text&#8221;)<br />
);<br />
function mytheme_add_admin() {<br />
global $themename, $shortname, $options;<br />
if ( $_GET[&#8216;page&#8217;] == basename(__FILE__) ) {<br />
if ( &#8216;save&#8217; == $_REQUEST[&#8216;action&#8217;] ) {<br />
foreach ($options as $value) {<br />
update_option( $value[&#8216;id&#8217;], $_REQUEST[ $value[&#8216;id&#8217;] ] ); }<br />
foreach ($options as $value) {<br />
if( isset( $_REQUEST[ $value[&#8216;id&#8217;] ] ) ) { update_option( $value[&#8216;id&#8217;], $_REQUEST[ $value[&#8216;id&#8217;] ]  ); } else { delete_option( $value[&#8216;id&#8217;] ); } }<br />
header(&#8220;Location: themes.php?page=settings.php&amp;saved=true&#8221;);    //这里的 settings.php 就是这个文件的名称<br />
die;<br />
} else if( &#8216;reset&#8217; == $_REQUEST[&#8216;action&#8217;] ) {<br />
foreach ($options as $value) {<br />
delete_option( $value[&#8216;id&#8217;] );<br />
update_option( $value[&#8216;id&#8217;], $value[&#8216;std&#8217;] );<br />
}<br />
header(&#8220;Location: themes.php?page=settings.php&amp;reset=true&#8221;);    //这里的 settings.php 就是这个文件的名称<br />
die;<br />
}<br />
}<br />
add_theme_page($themename.&#8221; Options&#8221;, &#8220;$themename 设置&#8221;, &#8216;edit_themes&#8217;, basename(__FILE__), &#8216;mytheme_admin&#8217;);<br />
}<br />
function mytheme_admin() {<br />
global $themename, $shortname, $options;<br />
if ( $_REQUEST[&#8216;saved&#8217;] ) echo &#8216;&lt;div id=&#8221;message&#8221;&gt;&lt;p&gt;&lt;strong&gt;&#8217;.$themename.&#8217; 设置已保存。&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;&#8217;;<br />
if ( $_REQUEST[&#8216;reset&#8217;] ) echo &#8216;&lt;div id=&#8221;message&#8221;&gt;&lt;p&gt;&lt;strong&gt;&#8217;.$themename.&#8217; 设置已重置。&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;&#8217;;<br />
?&gt;<br />
&lt;style type=&#8221;text/css&#8221;&gt;<br />
th{text-align:left;}<br />
input{width:100%;}<br />
.submit{width:100px;padding:0;}<br />
.defaultbutton{padding-left:745px;}<br />
&lt;/style&gt;<br />
&lt;div&gt;<br />
&lt;h2&gt;&lt;b&gt;&lt;?php echo $themename; ?&gt; 设置&lt;/b&gt;&lt;/h2&gt;<br />
&lt;form method=&#8221;post&#8221;&gt;<br />
&lt;div style=&#8221;padding:0;&#8221;&gt;<br />
&lt;input style=&#8221;font-size:12px !important;&#8221; name=&#8221;save&#8221; type=&#8221;submit&#8221; value=&#8221;保存设置&#8221; /&gt;<br />
&lt;input type=&#8221;hidden&#8221; name=&#8221;action&#8221; value=&#8221;save&#8221; /&gt;<br />
&lt;/div&gt;<br />
&lt;table &gt;<br />
&lt;?php foreach ($options as $value) {<br />
if ($value[&#8216;type&#8217;] == &#8220;text&#8221;) { ?&gt;<br />
&lt;tr align=&#8221;left&#8221;&gt;<br />
&lt;th scope=&#8221;row&#8221;&gt;&lt;?php echo $value[&#8216;name&#8217;]; ?&gt;:&lt;/th&gt;<br />
&lt;td&gt;<br />
&lt;input name=&#8221;&lt;?php echo $value[&#8216;id&#8217;]; ?&gt;&#8221; id=&#8221;&lt;?php echo $value[&#8216;id&#8217;]; ?&gt;&#8221; type=&#8221;&lt;?php echo $value[&#8216;type&#8217;]; ?&gt;&#8221; value=&#8221;&lt;?php if ( get_settings( $value[&#8216;id&#8217;] ) != &#8220;&#8221;) { echo get_settings( $value[&#8216;id&#8217;] ); } else { echo $value[&#8216;std&#8217;]; } ?&gt;&#8221; size=&#8221;40&#8243; /&gt;<br />
&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;?php } elseif ($value[&#8216;type&#8217;] == &#8220;heading&#8221;) { ?&gt;<br />
&lt;tr valign=&#8221;top&#8221;&gt;<br />
&lt;td colspan=&#8221;2&#8243; style=&#8221;text-align: left;&#8221;&gt;&lt;hr /&gt;<br />
&lt;h2 style=&#8221;color:green;&#8221;&gt;&lt;?php echo $value[&#8216;name&#8217;]; ?&gt;&lt;/h2&gt;&lt;/td&gt;<br />
&lt;tr&gt;&lt;td colspan=2&gt; &lt;p style=&#8221;color:red; margin:0 0;&#8221; &gt; &lt;?php echo $value[&#8216;desc&#8217;]; ?&gt; &lt;/p&gt; &lt;hr /&gt;&lt;/td&gt;&lt;/tr&gt;<br />
&lt;/tr&gt;<br />
&lt;?php } ?&gt;<br />
&lt;?php<br />
}<br />
?&gt;<br />
&lt;/table&gt;<br />
&lt;hr /&gt;<br />
&lt;div&gt;<br />
&lt;input style=&#8221;font-size:12px !important;&#8221; name=&#8221;save&#8221; type=&#8221;submit&#8221; value=&#8221;保存设置&#8221; /&gt;<br />
&lt;input type=&#8221;hidden&#8221; name=&#8221;action&#8221; value=&#8221;save&#8221; /&gt;<br />
&lt;/div&gt;<br />
&lt;/form&gt;<br />
&lt;form method=&#8221;post&#8221;&gt;<br />
&lt;div&gt;<br />
&lt;input style=&#8221;font-size:12px !important;&#8221; name=&#8221;reset&#8221; type=&#8221;submit&#8221; value=&#8221;还原默认设置&#8221; /&gt;<br />
&lt;input type=&#8221;hidden&#8221; name=&#8221;action&#8221; value=&#8221;reset&#8221; /&gt;<br />
&lt;/div&gt;<br />
&lt;/form&gt;<br />
&lt;/div&gt;<br />
&lt;?php<br />
}<br />
add_action(&#8216;admin_menu&#8217;, &#8216;mytheme_add_admin&#8217;);<br />
?&gt;</p></blockquote>
<p>这样，一个超简易的后台就完成了，在 WordPress 后台左侧栏的控制面板 – 外观中可以看到多了一个设置选项。<br />
接下来就是最后一步，调用主题后台的设置，在 WordPress 主题中需要的位置插入以下代码即可：<br />
<?php echo get_option('jiuchuangzhuti_test');?><br />
需要注意的是这个调用的格式，其中 jiuchuangzhuti 是刚才在 settings.php 中开头部分定义的主题简写，后面的 _test 则是在主题设置中定义的数组的 id 键。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>为 WordPress分类 添加图标</title>
		<link>https://www.3code.cn/%e4%b8%ba-wordpress%e5%88%86%e7%b1%bb-%e6%b7%bb%e5%8a%a0%e5%9b%be%e6%a0%87/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Sat, 10 Sep 2011 05:57:24 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[wordpress函数]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=2813</guid>

					<description><![CDATA[实现此功能的核心问题是，在主循环中能根据分类自动调用不同图标。而利用 get_the_category() 函数获取分类名称的代码为：]]></description>
										<content:encoded><![CDATA[<p>WordPress 默认没有添加分类图标的选项。通过 get_the_category() 函数，可以实现类似芒果首页的分类图标效果。</p>
<p>实现此功能的核心问题是，在主循环中能根据分类自动调用不同图标。而利用 get_the_category() 函数获取分类名称的代码为：</p>
<p>&lt;?php foreach((get_the_category()) as $cat){echo $cat-&gt;category_nicename;}?&gt;</p>
<p>这样就得到了因分类而异的代码。基于此，只需在模板中嵌入图标调用路径即可：</p>
<p>&lt;img src=&#8221;&lt;?php bloginfo(&#8216;template_url&#8217;);?&gt;/image/icon_&lt;?php foreach((get_the_category()) as $cat){echo $cat-&gt;category_nicename;}?&gt;.gif&#8221; /&gt;</p>
<p>当然，需要为每个分类定制不同图标，并存为 “icon_分类名称.gif” 的形式至指定目录。</p>
<p>为分类图标加上链接和描述文字后，完整代码如下：</p>
<p>&lt;a href=&#8221;&lt;?php bloginfo(&#8216;url&#8217;); ?&gt;/category/&lt;?php foreach((get_the_category()) as $cat){echo $cat-&gt;category_nicename;}?&gt;&#8221; title=&#8221;&lt;?php foreach((get_the_category()) as $cat){echo $cat-&gt;cat_name;}?&gt;&#8221;&gt;<br />
&lt;img src=&#8221;&lt;?php bloginfo(&#8216;template_url&#8217;);?&gt;/image/icon_&lt;?php foreach((get_the_category()) as $cat){echo $cat-&gt;category_nicename;}?&gt;.gif&#8221; /&gt;<br />
&lt;/a&gt;</p>
<p>如果嫌修改代码过于麻烦，也可以使用 Category Icons 插件，该插件可以为分类指定不同图标，提供了详细的后台设置面板，操作更为简便，容易上手。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>qq邮件订阅自定义代码</title>
		<link>https://www.3code.cn/qq%e9%82%ae%e4%bb%b6%e8%ae%a2%e9%98%85%e8%87%aa%e5%ae%9a%e4%b9%89%e4%bb%a3%e7%a0%81/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Tue, 16 Aug 2011 04:52:51 +0000</pubDate>
				<category><![CDATA[WORDPRESS主题技术]]></category>
		<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=2795</guid>

					<description><![CDATA[qq邮件订阅自定义代码]]></description>
										<content:encoded><![CDATA[<p>&lt;h3 style=&#8221;font-size:16px; color:#000; padding-bottom:0; margin-bottom:1px;&#8221;&gt;邮件订阅&lt;/h3&gt;<br />
&lt;form method=&#8221;post&#8221; target=&#8221;_blank&#8221; action=&#8221;http://list.qq.com/cgi-bin/qf_compose_send&#8221; style=&#8221;height:80px;&#8221;&gt;<br />
&lt;input type=&#8221;hidden&#8221; value=&#8221;qf_booked_feedback&#8221; name=&#8221;t&#8221; /&gt;<br />
&lt;input type=&#8221;hidden&#8221; value=&#8221;ea6ce29675362e7d01bf02b20b1137da4b3f9fba07c2811e&#8221; name=&#8221;id&#8221; /&gt;<br />
&lt;input type=&#8221;text&#8221; onblur=&#8221;if (this.value == &#8221;) {this.value = &#8216;请输入您的邮箱&#8217;;}&#8221; onfocus=&#8221;if (this.value == &#8216;请输入您的邮箱&#8217;) {this.value = &#8221;;}&#8221; value=&#8221;请输入您的邮箱&#8221; name=&#8221;to&#8221; id=&#8221;to&#8221; style=&#8221;width:220px; border:1px solid #cccccc; color:#999999;&#8221; /&gt;<br />
&lt;input style=&#8221;width: 60px; margin: 0px 0; cursor: pointer; color: #ffffff; background-color:#b08b5f; border: 1px solid #b08b5f; height:26px; margin-top:10px; font-size:14px;&#8221; type=&#8221;submit&#8221; value=&#8221;订阅&#8221; /&gt;<br />
&lt;/form&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress主题调用特色图像</title>
		<link>https://www.3code.cn/wordpress%e4%b8%bb%e9%a2%98%e8%b0%83%e7%94%a8%e7%89%b9%e8%89%b2%e5%9b%be%e5%83%8f/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Wed, 10 Aug 2011 02:14:14 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=2783</guid>

					<description><![CDATA[WordPress主题调用特色图像]]></description>
										<content:encoded><![CDATA[<p>下面将介绍如何利用 WordPress 2.9 版本以上自带的缩略图功能（特色图片）。</p>
<p><strong>1. 如何开启</strong></p>
<p>在 function.php 中插入代码：</p>
<div>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
</td>
<td>
<div>add_theme_support( ‘post-thumbnails’ );</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>或者你也可以增加个函数判断缩略图功能是否存在：</p>
<div>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1<br />
2<br />
3</div>
</td>
<td>
<div>if ( function_exists( &#8216;add_theme_support&#8217; ) ) {<br />
add_theme_support( &#8216;post-thumbnails&#8217; );<br />
}</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>如果你想单独对页面或日志开启该功能，使用以下代码：</p>
<div>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1<br />
2</div>
</td>
<td>
<div>add_theme_support( ‘post-thumbnails’, array( ‘post’ ) ); // 给日志启用日志缩略图<br />
add_theme_support( ‘post-thumbnails’, array( ‘page’ ) ); // 给页面启用日志缩略图</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>插入之后会在后台编辑文章的页面的右下角出现特色图片：</p>
<p><a href="http://www.jeff-chen.com/wp-uploads/2011/03/t-wordpress-thumbnails-1.png"><img loading="lazy" decoding="async" title="t-wordpress-thumbnails-1" src="https://www.jeff-chen.com/wp-uploads/2011/03/t-wordpress-thumbnails-1.png" alt="t wordpress thumbnails 1 | WordPress 自带的缩略图功能全解析" width="288" height="61" /></a></p>
<p>如果该文章曾上传过图片，点击“设定特色图像”后可以从图库中选择图片作为文章的略缩图。</p>
<p>或者编辑文章，在本地图片上传后，可以看到在“插入到文章”按钮旁边有一个“作为特色图像”的链接：</p>
<p><a href="http://www.jeff-chen.com/wp-uploads/2011/03/t-wordpress-thumbnails-2.png"><img loading="lazy" decoding="async" title="t-wordpress-thumbnails-2" src="https://www.jeff-chen.com/wp-uploads/2011/03/t-wordpress-thumbnails-2.png" alt="t wordpress thumbnails 2 | WordPress 自带的缩略图功能全解析" width="456" height="155" /></a></p>
<p>点击“作为特色图像”后，该图片就是文章的略缩图了。下面讲如何设定略缩图大小和调用略缩图的方法。</p>
<p><strong>2.如何调用</strong></p>
<p>在要显示的地方加入代码：</p>
<div>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
</td>
<td>
<div>&lt;?php the_post_thumbnail(); ?&gt;</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>例如插入首页文章列表的大循环中。</p>
<p><strong>3. 如何设定</strong></p>
<p>（1）如果没有缩略图时调用其他图片</p>
<div>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1<br />
2<br />
3<br />
4<br />
5</div>
</td>
<td>
<div>&lt;?php if ( has_post_thumbnail() ) { ?&gt;<br />
&lt;?php the_post_thumbnail(); ?&gt;<br />
&lt;?php } else {?&gt;<br />
&lt;img src=&#8221;&lt;?php bloginfo(&#8216;template_url&#8217;); ?/&gt;/images/xxx.jpg&#8221; /&gt;<br />
&lt;?php } ?&gt;</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>把下面的那个改成你自己图片的地址就可以了~</p>
<p>（2）控制缩略图大小</p>
<p>在 function.php 中刚刚插入的 add_theme_support( ‘post-thumbnails’ ); 后面添加</p>
<div>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
</td>
<td>
<div>set_post_thumbnail_size( 50, 50, true );</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>尺寸的设置顺序是: 宽度、高度（以像素为单位）</p>
<p>（3）一张图片，要有多种大小的缩略图</p>
<p>在function.php中刚刚插入的 add_theme_support(&#8216;post-thumbnails&#8217; ); 后面添加</p>
<div>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1<br />
2<br />
3<br />
4</div>
</td>
<td>
<div>set_post_thumbnail_size( 155, 110, true ); // 305 pixels wide by 380 pixels tall, set last parameter to true for hard crop mode<br />
add_image_size( &#8216;one&#8217;, 155, 110, true ); // Set thumbnail size<br />
add_image_size( &#8216;two&#8217;, 350, 248, true ); // Set thumbnail size<br />
add_image_size( &#8216;big&#8217;, 546, 387, true ); // Set thumbnail size</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>其中第一个为默认的缩略图大小，后面三个是特殊的大小，可以根据实际情况使用。引号中的one，big，two也可以换成自己想要的名称。</p>
<p>以调用350px×248px的为例：</p>
<div>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
</td>
<td>
<div>&lt;?php the_post_thumbnail(&#8216;two&#8217;); ?&gt;</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>配合判断最后的代码就是：</p>
<div>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1<br />
2<br />
3<br />
4<br />
5</div>
</td>
<td>
<div>&lt;?php if ( has_post_thumbnail() ) { ?&gt;<br />
&lt;?php the_post_thumbnail(&#8216;two&#8217;); ?&gt;<br />
&lt;?php } else {?&gt;<br />
&lt;img src=&#8221;&lt;?php bloginfo(&#8216;template_url&#8217;); ?/&gt;&#8221;/&gt;<br />
&lt;?php } ?&gt;</div>
</td>
</tr>
</tbody>
</table>
</div>
<p><strong>4. 延伸内容</strong></p>
<p>定义略缩图的 alt, title, class：</p>
<div>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
</td>
<td>
<div>&lt;?php the_post_thumbnail(&#8216;thumbnail&#8217;, array( &#8216;alt&#8217; =&gt; trim(strip_tags( $post-&gt;post_title )), &#8216;title&#8217;    =&gt; trim(strip_tags( $post-&gt;post_title )),‘class’ =&gt; ‘homepage-thumb’ )); ?&gt;</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>输出后为：</p>
<div>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>1</div>
</td>
<td>
<div>&lt;img width=&#8221;350&#8243; height=&#8221;233&#8243; src=&#8221;http://www.xxx.com/wp-uploads/2010/07/2009_08_107-350&#215;233.jpg&#8221; class=&#8221;homepage-thumb wp-post-image&#8221; alt=&#8221;饰品&#8221; title=&#8221;饰品&#8221; /&gt;</div>
</td>
</tr>
</tbody>
</table>
</div>
<p>如果你有更多好方法，欢迎贴出来交流。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress限制搜索只搜特定分类中的文章</title>
		<link>https://www.3code.cn/wordpress%e9%99%90%e5%88%b6%e6%90%9c%e7%b4%a2%e5%8f%aa%e6%90%9c%e7%89%b9%e5%ae%9a%e5%88%86%e7%b1%bb%e4%b8%ad%e7%9a%84%e6%96%87%e7%ab%a0/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Sat, 30 Jul 2011 07:34:37 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[WORDPRESS主题技术]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=2764</guid>

					<description><![CDATA[WordPress限制搜索只搜特定分类中的文章]]></description>
										<content:encoded><![CDATA[<p>出于某些原因，如果你需要把某些分类排除在搜索之外时，你就需要对WordPress做一些小改动了。</p>
<p>把以下代码放入search.php模板文件中，把第三行的IDs换成你需要的分类ID：</p>
<p>&lt;?php if( is_search() )  :<br />
$paged = (get_query_var(&#8216;paged&#8217;)) ? get_query_var(&#8216;paged&#8217;) : 1;<br />
query_posts(&#8220;s=$s&amp;paged=$paged&amp;cat=1,2,3&#8221;);<br />
endif; ?&gt;</p>
<p>大功告成！</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>无插件调用WordPress随机文章、最新文章、最热文章</title>
		<link>https://www.3code.cn/%e6%97%a0%e6%8f%92%e4%bb%b6%e8%b0%83%e7%94%a8wordpress%e9%9a%8f%e6%9c%ba%e6%96%87%e7%ab%a0%e3%80%81%e6%9c%80%e6%96%b0%e6%96%87%e7%ab%a0%e3%80%81%e6%9c%80%e7%83%ad%e6%96%87%e7%ab%a0/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Mon, 25 Jul 2011 09:27:12 +0000</pubDate>
				<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[wordpress函数]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=2758</guid>

					<description><![CDATA[不用插件调用WordPress随机文章、最新文章、和30天内最热文章。今天介绍的是不用插件调用WordPress随机文章、最新文章和30天内最热的文章。随机文章对于SEO而言是非常有用的，就算你的网站长时间不更新，快照也会经常更新不会停歇。所以说调用随机文章是非常有必要的，一般调用在边栏比较好。具体方法如下:]]></description>
										<content:encoded><![CDATA[<p>不用插件调用WordPress随机文章、最新文章、和30天内最热文章。</p>
<p>今天介绍的是不用插件调用WordPress随机文章、最新文章和30天内最热的文章。</p>
<p>随机文章对于SEO而言是非常有用的，就算你的网站长时间不更新，快照也会经常更新不会停歇。所以说调用随机文章是非常有必要的，一般调用在边栏比较好。具体方法如下:</p>
<p><strong>不用插件调用WordPress随机文章</strong></p>
<p><em>&lt;ul&gt;&lt;li&gt;&lt;h3&gt;&lt;?php _e(&#8216;随机推荐&#8217;); ?&gt;&lt;/h3&gt;&lt;ul&gt;&lt;?php $rand_posts = get_posts(&#8216;numberposts=6&amp;orderby=rand&#8217;);  foreach( $rand_posts as $post ) : ?&gt;&lt;li&gt;&lt;a href=&#8221;&lt;?php the_permalink(); ?&gt;&#8221; title=&#8221;&lt;?php the_title(); ?&gt;&#8221;&gt;&lt;?php echo mb_strimwidth(get_the_title(), 0, 42, &#8216;&#8230;&#8217;); ?&gt;&lt;/a&gt;&lt;/li&gt;&lt;?php endforeach; ?&gt;&lt;/ul&gt;&lt;/ul&gt;</em></p>
<p><strong>不用插件调用WordPress最新文章</strong></p>
<p>&lt;ul&gt;&lt;li&gt;&lt;h3&gt;&lt;?php _e(&#8216;最新文章&#8217;); ?&gt;&lt;/h3&gt;&lt;?php query_posts(&#8220;showposts=6&amp;caller_get_posts=1&amp;orderby=date&amp;order=DESC&#8221;); ?&gt;&lt;ul&gt;&lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?&gt;&lt;li&gt;&lt;a href=&#8221;&lt;?php the_permalink() ?&gt;&#8221; title=&#8221;&lt;?php the_title() ?&gt;&#8221;&gt;&lt;?php echo mb_strimwidth(get_the_title(), 0, 42, &#8216;&#8230;&#8217;); ?&gt;&lt;/a&gt;&lt;/li&gt;&lt;?php endwhile; endif; ?&gt;&lt;/ul&gt;&lt;/li&gt;</p>
<p><strong>不用插件调用WordPress30内最热文章</strong></p>
<p><em>&lt;li&gt;&lt;h3&gt;&lt;?php _e(&#8216;最热文章&#8217;); ?&gt;&lt;/h3&gt;&lt;?php  function filter_where($where = &#8221;) { //posts in the last 30 days $where .= &#8221; AND post_date &gt; &#8216;&#8221; . date(&#8216;Y-m-d&#8217;, strtotime(&#8216;-30 days&#8217;)) . &#8220;&#8216;&#8221;; return $where;  } add_filter(&#8216;posts_where&#8217;, &#8216;filter_where&#8217;); query_posts(&#8220;showposts=8&amp;v_sortby=views&amp;caller_get_posts=1&amp;orderby=date&amp;order=desc&#8221;) ?&gt;&lt;ul&gt;&lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?&gt;&lt;li&gt;&lt;a href=&#8221;&lt;?php the_permalink() ?&gt;&#8221; title=&#8221;&lt;?php the_title() ?&gt;&#8221;&gt;&lt;?php echo mb_strimwidth(get_the_title(), 0, 42, &#8216;&#8230;&#8217;); ?&gt; &lt;/a&gt;&lt;/li&gt;&lt;?php endwhile; endif; ?&gt;&lt;?php wp_reset_query(); ?&gt;&lt;/ul&gt;&lt;/li&gt;</em></p>
<p><em>其中&lt;?php echo mb_strimwidth(get_the_title(), 0, 42, &#8216;&#8230;&#8217;); ?&gt; 使用的是 控制</em></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress插件WP-PostViews使用</title>
		<link>https://www.3code.cn/wordpress%e6%8f%92%e4%bb%b6wp-postviews%e4%bd%bf%e7%94%a8/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Mon, 25 Jul 2011 09:22:44 +0000</pubDate>
				<category><![CDATA[wordpress插件]]></category>
		<category><![CDATA[wordpress 插件]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=2756</guid>

					<description><![CDATA[该插件实现的功能是统计某篇文章被阅读次数并且可以实现侧边栏 Widget 以及显示最受欢迎（阅读数最多）文章、某分类下最受欢迎（阅读数最多）文章等功能，支持最新的 WP 2.3 版本。]]></description>
										<content:encoded><![CDATA[<p>一、WP-PostViews介绍</p>
<p>该插件实现的功能是统计某篇文章被阅读次数并且可以实现侧边栏 Widget 以及显示最受欢迎（阅读数最多）文章、某分类下最受欢迎（阅读数最多）文章等功能，支持最新的 WP 2.3 版本。</p>
<p>二、WP-PostViews安装方法</p>
<p>将解压得到的 postviews 文件夹上传到 /wp-content/plugins 文件夹中</p>
<p>激活 WP-PostViews 插件，然后可以去 Options 中设置</p>
<p>三、WP-PostViews使用方法</p>
<p>（一）一般应用</p>
<p>修改 /wp-content/themes/&lt;YOUR THEME NAME&gt;/index.php（single.php, post.php 或 page.php）</p>
<p>如果修改 index.php 找到</p>
<p>PHP代码</p>
<p>&lt;?php while (have_posts()) : the_post(); ?&gt;</p>
<p>将下面的语句添加到如何需要的地方</p>
<p>PHP代码</p>
<p>&lt;?php if(function_exists(’the_views’)) { the_views(); } ?&gt;</p>
<p>登录“WP-Admin -&gt; Options -&gt; Post Views”可以配置该插件</p>
<p>Count Views From 设置被统计的用户群</p>
<p>Views Template 该插件显示样式</p>
<p>（二）侧边栏 Widget 使用</p>
<p>激活 “WP-PostViews Widget” 插件</p>
<p>登录 “’wp-admin -&gt; Presentation -&gt; Widgets”</p>
<p>为了显示“Most Viewed Post（最受欢迎文章）”拖曳（Drag）“Most Viewed Widget”到侧边栏</p>
<p>可以点击配置图标对 “Most Viewed Widget” 进行配置，然后点击“Save changes”保存</p>
<p>（三）调用使用</p>
<p>1、显示最受欢迎（阅读次数最多）文章，使用下面语句</p>
<p>PHP代码</p>
<p>&lt;?php if (function_exists(’get_most_viewed’)): ?&gt;</p>
<p>&lt;?php get_most_viewed(); ?&gt;</p>
<p>&lt;?php endif; ?&gt;</p>
<p>第一个值是你想得到的列表的类型是“文章”或“页面”或“两者都有”，如“’pos”、“page”或者“both”</p>
<p>第二个值是你想得到的列表的对象个数</p>
<p>默认的是这样的：</p>
<p>PHP代码</p>
<p>get_most_viewed(’both’, 10); //获取被阅读次数最多的10篇文章和页面</p>
<p>2、显示某个分类下最受欢迎（阅读次数最多）文章</p>
<p>PHP代码</p>
<p>&lt;?php if (function_exists(’get_most_viewed_category’)): ?&gt;</p>
<p>&lt;?php get_most_viewed_category(); ?&gt;</p>
<p>&lt;?php endif; ?&gt;</p>
<p>第一个值是分类目录的ID</p>
<p>第二个值是列表的类型“文章”或“页面”或“两者都有”，如“post”、“page”、“both’”</p>
<p>第三个值是列表中对象的个数</p>
<p>默认是这样的：</p>
<p>PHP代码</p>
<p>get_most_viewed_category(1, ‘both’, 10); //ID为1的目录下阅读最多的10篇文章和页面</p>
<p>四、WP-PostViews 升级方法</p>
<p>禁用 WP-PostViews 插件</p>
<p>上传并覆盖 /wp-content/plugins 中的 postviews 文件夹</p>
<p>删除 postviews.php 文件</p>
<p>激活 WP-PostViews 插件</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>非插件实现WordPress 的投稿功能</title>
		<link>https://www.3code.cn/%e9%9d%9e%e6%8f%92%e4%bb%b6%e5%ae%9e%e7%8e%b0wordpress-%e7%9a%84%e6%8a%95%e7%a8%bf%e5%8a%9f%e8%83%bd/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Fri, 15 Jul 2011 15:21:02 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WORDPRESS教程]]></category>
		<category><![CDATA[WORDPRESS主题技术]]></category>
		<category><![CDATA[wordpress投稿]]></category>
		<category><![CDATA[wordpress教程]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=2742</guid>

					<description><![CDATA[我们都知道 WordPress 官方有一些关于投稿功能的插件，我了解过其中一些，很遗憾的是，大多都是英文的，对于国内用户并不是很便于管理，另一方面，插件毕竟有其局限性，不能个性化地针对主题进行定制。所以我还是选择了用非插件的方法，根据博客联盟的实际需求写了一个。方法如下：]]></description>
										<content:encoded><![CDATA[<p>我们都知道 <strong>WordPress</strong> 官方有一些关于投稿功能的插件，我了解过其中一些，很遗憾的是，大多都是英文的，对于国内用户并不是很便于管理，另一方面，插件毕竟有其局限性，不能个性化地针对主题进行定制。所以我还是选择了用非插件的方法，根据博客联盟的实际需求写了一个。方法如下：</p>
<p><strong>一、新建投稿页面模板</strong></p>
<p>和 <strong>WordPress</strong> 常规的新建页面模板一样，把主题的 page.php 另存为 tougao.php，并且在第一行的 &lt;?php 之后添加模板的标识注释：</p>
<div>/*<br />
Template Name: 投稿模板<br />
*/</div>
<p><strong>二、添加表单，在 the_content(); 函数下添加如下代码：</strong></p>
<div>&lt;form id=&#8221;tougaoform&#8221; method=&#8221;post&#8221; action=&#8221;&lt;?php echo $_SERVER[&#8220;REQUEST_URI&#8221;]; ?&gt;&#8221;&gt;<br />
        &lt;p&gt;&lt;input id=&#8221;author&#8221; type=&#8221;text&#8221; size=&#8221;40&#8243; value=&#8221;&#8221; name=&#8221;tougao_authorname&#8221; /&gt;&lt;label&gt;昵称（*必填）&lt;/label&gt;&lt;/p&gt;<br />
        &lt;p&gt;&lt;input id=&#8221;email&#8221; type=&#8221;text&#8221; size=&#8221;40&#8243; value=&#8221;&#8221; name=&#8221;tougao_authoremail&#8221; /&gt;&lt;label&gt;邮箱（*必填）&lt;/label&gt;&lt;/p&gt;<br />
        &lt;p&gt;&lt;input id=&#8221;url&#8221; type=&#8221;text&#8221; size=&#8221;40&#8243; value=&#8221;&#8221; name=&#8221;tougao_authorblog&#8221; /&gt;&lt;label&gt;您的博客/文章来源&lt;/label&gt;&lt;/p&gt;<br />
        &lt;p&gt;&lt;input id=&#8221;tougao_title&#8221; type=&#8221;text&#8221; size=&#8221;40&#8243; value=&#8221;&#8221; name=&#8221;tougao_title&#8221; /&gt;&lt;label&gt;文章标题（*必填）&lt;/label&gt;&lt;/p&gt;<br />
        &lt;p&gt;&lt;input id=&#8221;tags&#8221; type=&#8221;text&#8221; size=&#8221;40&#8243; value=&#8221;&#8221; name=&#8221;tougao_tags&#8221; /&gt;&lt;label&gt;文章标签（多个标签请用英文逗号 , 分开）&lt;/label&gt;&lt;/p&gt;<br />
        &lt;p&gt;&lt;?php wp_dropdown_categories(&#8216;show_option_none=请选择文章分类&amp;show_count=1&amp;hierarchical=1&amp;hide_empty=0&#8217;); ?&gt;&lt;label&gt;文章分类（*必填）&lt;/label&gt;&lt;/p&gt;<br />
        &lt;textarea rows=&#8221;15&#8243; cols=&#8221;55&#8243; id=&#8221;tougao&#8221; name=&#8221;tougao_content&#8221;&gt;&lt;/textarea&gt;<br />
        &lt;p&gt;<br />
        &lt;input type=&#8221;hidden&#8221; value=&#8221;send&#8221; name=&#8221;tougao_form&#8221; /&gt;<br />
        &lt;input id=&#8221;submit&#8221; type=&#8221;submit&#8221; value=&#8221;提交&#8221; /&gt;<br />
        &lt;input id=&#8221;reset&#8221; type=&#8221;reset&#8221; value=&#8221;重填&#8221; /&gt;<br />
        &lt;/p&gt;<br />
&lt;/form&gt;</div>
<p><strong>三、在此新建的投稿页面中添加如下函数：</strong></p>
<div>if( isset($_POST[&#8216;tougao_form&#8217;]) &amp;&amp; $_POST[&#8216;tougao_form&#8217;] == &#8216;send&#8217;){<br />
    if ( isset($_COOKIE[&#8220;tougao&#8221;]) &amp;&amp; ( time() &#8211; $_COOKIE[&#8220;tougao&#8221;] ) &lt; 120 ){<br />
        wp_die(&#8216;您投稿也太勤快了吧，先歇会儿！&#8217;);<br />
    }<br />
    //表单变量初始化<br />
    $name = isset( $_POST[&#8216;tougao_authorname&#8217;] ) ? $_POST[&#8216;tougao_authorname&#8217;] : &#8221;;<br />
    $email = isset( $_POST[&#8216;tougao_authoremail&#8217;] ) ? $_POST[&#8216;tougao_authoremail&#8217;] : &#8221;;<br />
    $blog = isset( $_POST[&#8216;tougao_authorblog&#8217;] ) ? $_POST[&#8216;tougao_authorblog&#8217;] : &#8221;;<br />
    $title = isset( $_POST[&#8216;tougao_title&#8217;] ) ? $_POST[&#8216;tougao_title&#8217;] : &#8221;;<br />
    $tags = isset( $_POST[&#8216;tougao_tags&#8217;] ) ? $_POST[&#8216;tougao_tags&#8217;] : &#8221;;<br />
    $category = isset( $_POST[&#8216;cat&#8217;] ) ? (int)$_POST[&#8216;cat&#8217;] : 0;<br />
    $content = isset( $_POST[&#8216;tougao_content&#8217;] ) ? $_POST[&#8216;tougao_content&#8217;] : &#8221;;<br />
    //表单项数据验证<br />
    if ( empty($name) || strlen($name) &gt; 20 ){<br />
        wp_die(&#8216;昵称必须填写，且不得超过20个长度&#8217;);<br />
    }<br />
    if ( empty($email) || strlen($email) &gt; 60 || !preg_match(&#8220;/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix&#8221;, $email)){<br />
        wp_die(&#8216;邮箱必须填写，且不得超过60个长度，必须符合 Email 格式&#8217;);<br />
    }<br />
    if ( empty($title) || strlen($title) &gt; 100 ){<br />
        wp_die(&#8216;文章标题必须填写，且不得超过100个长度&#8217;);<br />
    }<br />
    if ( empty($content) || strlen($content) &lt; 100){<br />
        wp_die(&#8216;内容必须填写，且不得少于100个长度&#8217;);<br />
    }<br />
    $tougao = array(<br />
        &#8216;post_title&#8217; =&gt; $title,                //标题<br />
        &#8216;post_content&#8217; =&gt; $content,            //内容<br />
        &#8216;post_status&#8217; =&gt; &#8216;pending&#8217;,            //待审<br />
        &#8216;tags_input&#8217; =&gt; $tags,                //标签<br />
        &#8216;post_category&#8217; =&gt; array($category)    //分类<br />
    );<br />
    //将文章插入数据库<br />
    $status = wp_insert_post( $tougao );<br />
    if ($status != 0){<br />
    /*<br />
        //将自定义域写入最新待审文章<br />
        global $wpdb;<br />
        $myposts = $wpdb-&gt;get_results(&#8221;<br />
            SELECT ID<br />
            FROM $wpdb-&gt;posts<br />
            WHERE post_status = &#8216;pending&#8217;<br />
            AND post_type = &#8216;post&#8217;<br />
            ORDER BY post_date DESC<br />
        &#8220;);<br />
        add_post_meta($myposts[0]-&gt;ID, &#8216;cbs_postauthor&#8217;, $name);    //插入投稿人昵称的自定义域<br />
        if ( !empty($blog)) add_post_meta($myposts[0]-&gt;ID, &#8216;cbs_posturl&#8217;, $blog);    //插入投稿人网址的自定义域<br />
    */<br />
        setcookie(&#8220;tougao&#8221;, time(), time()+180);<br />
        wp_die(&#8216;投稿成功！&#8217;,&#8217;投稿成功！&#8217;);<br />
    } else {<br />
        wp_die(&#8216;投稿失败！&#8217;,&#8217;投稿失败！&#8217;);<br />
    }<br />
}</div>
<p>可以看到以上有一小段注释，是因为博客联盟有用到自定义域，为了兼容主题的相应函数，所以我特意加上了，如果你有同样的需要，去掉此注释就可以了。以上方法主要参考了露兜博客的《<strong>WordPress</strong> 添加投稿功能邮件通知》，我只是根据主题的特定需要稍作了修改，当然你也可以根据你的主题需要再作修改，这就是非插件的好处啦。提示一下，以上代码其实还可以作进一步的扩展，比如说在用户投稿成功之后，可以向管理员发出邮件通知，立马进行审核，这里就不多作说明了，有兴趣的朋友可以折腾一下。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
