<?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>Blog｜WSQSITE &#187; Plug-in</title>
	<atom:link href="http://wsqsite.com/blog/tag/plug-in/feed/" rel="self" type="application/rss+xml" />
	<link>http://wsqsite.com/blog</link>
	<description></description>
	<lastBuildDate>Sat, 13 Aug 2011 12:23:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<atom:link rel='hub' href='http://wsqsite.com/blog/?pushpress=hub'/>
		<item>
		<title>自行建立Navigation.php，捨棄WP-Pagenavi</title>
		<link>http://wsqsite.com/blog/page-navigation-plugin/</link>
		<comments>http://wsqsite.com/blog/page-navigation-plugin/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 12:51:04 +0000</pubDate>
		<dc:creator>WSQ</dc:creator>
				<category><![CDATA[教學分享]]></category>
		<category><![CDATA[Page Navigation]]></category>
		<category><![CDATA[Plug-in]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://wsqsite.com/blog/?p=61</guid>
		<description><![CDATA[在使用WordPress的初期，不知道大家有沒有曾為沒有分頁功能而煩惱呢。對於這個很普遍的基本功能WordPress竟然沒有，這著實讓我愕然了一會，甚至還一度被迫使用他原來預設的陽春內置跳頁系統。 這樣子，不單對用戶做成不好的體驗，簡單來說就是對用戶不友善。更會影響搜尋器搜尋你網站的幅蓋率，因你頁面中並不是完全直接顯示網站內所有的頁面，而是分成了數頁分別輸出。這樣如果使用「上一頁」和「下一頁」的表示方式，便會造成了首頁缺乏對所有分頁的直接連結，從而影響了搜尋結果。 要解決這個問題，很簡單，使用WordPress總類繁多的外置分頁插件，如：WP-Pagenavi，PageBar等等。 不過這卻造成了另一個問題——加重了對伺服器CPU的負擔，現在很多的虛擬主機都會對用戶的CPU使用率有所限制，詳情不在此細說。人在屋簷下，所以我們要盡量解決CPU使用量問題，自行使用代碼，直接編輯主題，而捨棄插件的使用。 這是的行動可以實現的原因，其實是因為官方提供了paginate_links()函數，使得我們能夠直接取得分頁頁數。 現在我來說一說自行在主題建立分頁的過程，首先是在自己的主題建立一個navigation.php，並裡面輸入以下代碼 &#60;?php global $wp_rewrite; $paginate_base = get_pagenum_link(1); if (strpos($paginate_base, '?') &#124;&#124; ! $wp_rewrite-&#62;using_permalinks()) { $paginate_format = ''; $paginate_base = add_query_arg('paged', '%#%'); } else { $paginate_format = (substr($paginate_base, -1 ,1) == '/' ? '' : '/') . user_trailingslashit('page/%#%/', 'paged');; $paginate_base .= '%_%'; } echo '&#60;div&#62;'. &#34;\n&#34;; echo paginate_links( array( 'base' =&#62; <a href="http://wsqsite.com/blog/page-navigation-plugin/" class="more-link">Continue reading</a>]]></description>
			<content:encoded><![CDATA[<div class="preview"><img src="http://wsqsite.com/blog/wp-content/uploads/2010/03/pagenavi_preview.jpg" alt="PageNavi" title="PageNavi" /></div>
<p>在使用WordPress的初期，不知道大家有沒有曾為沒有分頁功能而煩惱呢。對於這個很普遍的基本功能WordPress竟然沒有，這著實讓我愕然了一會，甚至還一度被迫使用他原來預設的陽春內置跳頁系統。</p>
<p>這樣子，不單對用戶做成不好的體驗，簡單來說就是對用戶不友善。更會影響搜尋器搜尋你網站的幅蓋率，因你頁面中並不是完全直接顯示網站內所有的頁面，而是分成了數頁分別輸出。這樣如果使用「上一頁」和「下一頁」的表示方式，便會造成了首頁缺乏對所有分頁的直接連結，從而影響了搜尋結果。</p>
<p>要解決這個問題，很簡單，使用WordPress總類繁多的外置分頁插件，如：WP-Pagenavi，PageBar等等。</p>
<p><span id="more-61"></span></p>
<p>不過這卻造成了另一個問題——加重了對伺服器CPU的負擔，現在很多的虛擬主機都會對用戶的CPU使用率有所限制，詳情不在此細說。人在屋簷下，所以我們要盡量解決CPU使用量問題，自行使用代碼，直接編輯主題，而捨棄插件的使用。</p>
<p>這是的行動可以實現的原因，其實是因為官方提供了paginate_links()函數，使得我們能夠直接取得分頁頁數。 </p>
<p>現在我來說一說自行在主題建立分頁的過程，首先是在自己的主題建立一個navigation.php，並裡面輸入以下代碼</p>
<pre>&lt;?php
global $wp_rewrite;
$paginate_base = get_pagenum_link(1);
if (strpos($paginate_base, '?') || ! $wp_rewrite-&gt;using_permalinks()) {
$paginate_format = '';
$paginate_base = add_query_arg('paged', '%#%');
} else {
$paginate_format = (substr($paginate_base, -1 ,1) == '/' ? '' : '/') .
user_trailingslashit('page/%#%/', 'paged');;
$paginate_base .= '%_%';
}
echo '&lt;div&gt;'. &quot;\n&quot;;
echo paginate_links( array(
'base' =&gt; $paginate_base,
'format' =&gt; $paginate_format,
'total' =&gt; $wp_query-&gt;max_num_pages,
'mid_size' =&gt; 10,
'current' =&gt; ($paged ? $paged : 1),
'type' =&gt; 'list',
'prev_text' =&gt; __('&amp;laquo; Previous', 'default'),
'next_text' =&gt; __('Next &amp;raquo;', 'default'),
));
echo &quot;\n&lt;/div&gt;\n&quot;;
?&gt;
</pre>
<p>其中的換成你需要的分頁數目</p>
<pre>'mid_size' =&gt; 10,</pre>
<p>另外以下代碼，</p>
<pre>echo '&lt;div&gt;'. &quot;\n&quot;;
...
echo &quot;\n&lt;/div&gt;\n&quot;;
</pre>
<p>可以換成你需要的代碼，並加上class。同樣道理，當然你也可以按照規律加上適用的代碼。</p>
<pre>echo '&lt;div class=&quot;navi&quot;&gt;'. &quot;\n&quot;;
...
echo &quot;\n&lt;/div&gt;\n&quot;;
</pre>
<div class="hr"></div>
<p>navigation.php建立成功後，可以在index.php中找到</p>
<pre>
&lt;div class=&quot;navigation&quot;&gt;
...
&lt;/div&gt;
</pre>
<p>預設的WordPress分頁應該是長這樣</p>
<pre>
&lt;div class=&quot;alignleft&quot;&gt;
&lt;?php next_posts_link('&amp;laquo; Older Entries') ?&gt;
&lt;/div&gt;
&lt;div class=&quot;alignright&quot;&gt;
&lt;?php previous_posts_link('Newer Entries &amp;raquo;') ?&gt;
&lt;/div&gt;
</pre>
<p>我們以這段判斷代碼替換以上的代碼，來確認用戶是否有使用page-navi插件，如沒有則使用navigation.php。</p>
<pre>&lt;?php if (function_exists('wp_pagenavi')) { wp_pagenavi(); } else { include('navigation.php'); } ?&gt;</pre>
<p>最後加上在style.css加上樣式表，來設定你分頁的樣式就好了。</p>
<pre>
.navigation {
	display: block;
	padding:30px 20px 20px 20px;
	clear:both;
	width:100%;
}
.navigation a {
	color:#777;
}
.navigation ul {
	list-style:none;
}
.navigation ul li {
	float:left;
	margin: 0 3px 0 3px;
}
.navigation ul li a {
	background: #fff url(images/pagenavi_btn.gif) no-repeat 0 0;
	width:27px;
	height:22px;
	color: #777;
	padding:5px 0 0 0;
	text-align:center;
	display:block;
}
.navigation ul li a:hover {
	background: #fff url(images/pagenavi_btn.gif) no-repeat 0 100%;
}
.navigation ul li span.current {
	background: #777 url(images/pagenavi_btn_current.gif) no-repeat;
	width:27px;
	height:22px;
	color: #fff;
	padding:5px 0 0 0;
	text-align:center;
	display:block;
}
</pre>
<p>教學参考自<a href="http://fclose.com/b/780/friendly-wordpress-navigation-using-page-numbers-instead-of-next-and-previous-links/" title="Reference" rel="external">這裡</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wsqsite.com/blog/page-navigation-plugin/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>

