<?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>WP 教學網</title>
	<atom:link href="http://wwpteach.com/feed" rel="self" type="application/rss+xml" />
	<link>http://wwpteach.com</link>
	<description></description>
	<lastBuildDate>Sat, 21 Apr 2012 07:50:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>WP_Query 的初步認識</title>
		<link>http://wwpteach.com/121</link>
		<comments>http://wwpteach.com/121#comments</comments>
		<pubDate>Thu, 12 Apr 2012 08:53:10 +0000</pubDate>
		<dc:creator>richer</dc:creator>
				<category><![CDATA[WP 程式技巧]]></category>
		<category><![CDATA[WP_Query]]></category>

		<guid isPermaLink="false">http://wwpteach.com/?p=121</guid>
		<description><![CDATA[<p>WP_Query 是在 WordPress 中是極度重要的一個類別( class )，其完整的程式碼是存在於 wp-includes/query.php 這一個檔案之中。<br />
相信來這裡的人對於 php 或是 WordPress 都有一些程度上的熟悉，不然其實接下來的東西應該會不容易理解吧！</p>
<p>WP_Query 在 WP 中的工作，就是幫你把文章從資料庫中搜尋出來。所以大約在部落格中 70% 以上的作業都與其有關係。</p>
<p>關於 WP_Query 最正確的解釋當然是其位於 WP codex 中的說明，<a href="http://codex.wordpress.org/Class_Reference/WP_Query" target="_blank">前往觀看</a>。老樣子，全篇文章為英文。</p>
<p></p>
<p>那 WP_Query 有多強大呢？</p>
<p>可以依照作者、分類、標籤、自訂分類標籤、文章(頁面)、時間、meta等條件下去檢索想要的文章出來，<br />
再依照文章的某一項資料進行排序，<br />
最後回傳指定數量的文章給使用者進行處理。</p>
<p>這樣說感覺上好像有一點複雜，不過說的講簡單一點，就是使用 WP_Query 之後就可以不用自己辛苦的下 SQL 語法來搜尋文章！註1</p>
<p>就隨便寫幾個例子來看看，至於仔細的說明有時間我在寫！</p>
<p>隨機推薦給我 10篇文章。</p>
<p>使用者A 發佈於 分類B 中的文章，全部給我顯示出來。<br />
PS. 這裡的 A 跟 B 指的是 ID。</p>
<p>不過關於一個時間區間的文章，目前是沒辦法以單純調用 WP_Query 的方式達成，還需要配合 filter 下一小段 SQL 語法。這才是高級一點的應用方式。<br />
給我最近一個月內修正的文章，數量20篇就好，以修正日來排序</p>
<p>註1：大約99%的情況，因為我有一個外掛暫時想不到改用 WP_Query 來抓取文章的方法，主要是牽扯到 postmeta 的問題。</p>
]]></description>
		<wfw:commentRss>http://wwpteach.com/121/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【課程】輕鬆學WordPress架站實作全攻略</title>
		<link>http://wwpteach.com/117</link>
		<comments>http://wwpteach.com/117#comments</comments>
		<pubDate>Mon, 19 Mar 2012 12:29:24 +0000</pubDate>
		<dc:creator>richer</dc:creator>
				<category><![CDATA[安裝與教學]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[實作教學]]></category>
		<category><![CDATA[教學]]></category>

		<guid isPermaLink="false">http://wwpteach.com/?p=117</guid>
		<description><![CDATA[<p>大家好！</p>
<p>站上撰寫了一些關於 WordPress 的教學文，不過因為站長我的惰性與現實生活中的忙碌。<br />
讓站上的文章目前呈現一個停滯的狀態，對於有在關注本站的貴賓至上 十二萬分的歉意。<br />
小的我真是不應該的開了一個網站而又讓他呈現荒廢狀態。</p>
<p>但我來是有在關注於 WordPress 的發展與台灣的推廣狀態。<br />
所以今天來分享一個對於想要學習 WordPress 的人來推薦一各課程。</p>
<p></p>
<p><a style="font-size: 18px;" href="http://design.derjian.com.tw/projects/wordpress-01" target="_blank">輕鬆學WordPress架站實作全攻略</a></p>
<p>這是由知名部落格的站長 <a href="http://steachs.com/" target="_blank">阿湯</a> 所開設的課程，他不只是知名的站長，也是 站長親授！WordPress 3.0部落格架站十堂課 的作者之一，相信他有一定的功力與實力，課程上一定可以充分的教會你如何實做，而你有任何的問題相信他也可以解答的。</p>
<p>還有想要知道更詳細的內容嗎？</p>
<p>請不要在這裡問我！因為我與這課程完全的無關，只因為參與過他們之前的活動，所以有收到課程的開課通知。<br />
且基於這裡是 WordPress 的推廣教學網站，所以一定要分享這樣的訊息。<br />
詳情還是請上他們的網站或他們連繫。</p>
<p>附上一些資訊</p>

開課日期 / 2012.4.14(六)
課程時間 / AM 9:00~12:00 ; PM13:00~16:00
報名截止 / 即日期至4月7日止
上課人數 / 限額30名！
上課地點 / 台南市中西區西門路二段48號(德鍵職業訓練中心）
課程費用 / 學費1000元 ，三人團報或早鳥優惠(3/30前)只要900元!

]]></description>
		<wfw:commentRss>http://wwpteach.com/117/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>免外掛使用 Google jQuery CDN</title>
		<link>http://wwpteach.com/114</link>
		<comments>http://wwpteach.com/114#comments</comments>
		<pubDate>Sun, 19 Feb 2012 03:30:59 +0000</pubDate>
		<dc:creator>richer</dc:creator>
				<category><![CDATA[WP 程式技巧]]></category>
		<category><![CDATA[Google CDN]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[muki]]></category>

		<guid isPermaLink="false">http://wwpteach.com/?p=114</guid>
		<description><![CDATA[<p>這篇文章最主要是因為 <a href="http://blog.mukispace.com/" target="_blank">muki</a> 這位 WP 正妹的網站換了一個新的佈景主題。<br />
而小弟我無聊的在他的佈景主題中，進行雞蛋裡挑骨頭的動作，發現了她的佈景主題會有二次引入 jQuery 的現象。</p>
<p>而二次引入原因是她在寫佈景主題的時候，因為需要使用到 jQuery 而在主題中直接的加入引用指令。<br />
而她所使用的外掛中也有需要使用 jQuery 的，所以利用 WP 內建的 API 進行了 jQuery 的引入，所以才會發生二次引入的現象。<br />
這時需要一些修正了，讓佈景主題也採用 WP API 的方式採入 jQuery 。<br />
不過問題這麼簡單就不會想要寫一篇文章啦！還有需要轉換成使用 CDN 以節省流量。</p>
<p></p>
<p>廢話不多說啦！<br />
要修正這些問題需要有幾個步驟！</p>
<p>首先讓我們將 jQuery 的網址轉向 Google CDN 的網址吧！<br />
開啟你的佈景主題中的 functions.php 檔案，然後加入這一段程式碼</p>
<p>接下來，就是為你的佈景主題引用 jQuery 進來。<br />
同樣是在 functions.php 檔案中加入以下程式碼</p>
<p>到此我就滿意了嗎？當然不是啦！那還剩下什麼東西要處理呢？</p>
<p>要教學當然一次搞定， jQuery UI 也順便轉向給 Google CDN 處理吧，都不要來浪費我寶貴的流量。<br />
繼續在剛剛開啟的 functions.php 檔案中加入以下的程式碼</p>
<p>恭喜你完成了所有需要的修正，請記得存檔。同時將檔案上傳到 伺服器 中讓修改發生實際的作用。</p>
<p>在這些修改與引用的動作之中，都只有針對前台進行修改，後台的部分完全採用 WP 本身提供的 jQuery 與 jQuery UI 檔案。<br />
因為如果讓後台也採用這些修正，會發生一些小小的問題，詳細原因並沒有研究。</p>
<p>至此，感謝各位的收看！</p>
]]></description>
		<wfw:commentRss>http://wwpteach.com/114/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>邁向 WordPress 3.3.1</title>
		<link>http://wwpteach.com/113</link>
		<comments>http://wwpteach.com/113#comments</comments>
		<pubDate>Wed, 04 Jan 2012 08:35:25 +0000</pubDate>
		<dc:creator>richer</dc:creator>
				<category><![CDATA[程式更新]]></category>
		<category><![CDATA[3.3.1]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[安全性]]></category>
		<category><![CDATA[更新]]></category>

		<guid isPermaLink="false">http://wwpteach.com/?p=113</guid>
		<description><![CDATA[<p>不久前才發表了偷窺 WordPress 3.3 的文章，現在已經邁向 <a href="http://wordpress.org/news/2012/01/wordpress-3-3-1/" target="_blank">WordPress 3.3.1</a> 了！</p>
<p>這期間只有短短的不到一個月的時間，就新的出現了，所以就是有一些重大的安全性問題的修正。<br />
請各位用戶盡速的服用。</p>
<p>另外，中文版的維護者，好像遇到了些許的問題，希望是他的工作太忙碌了而沒有時間進行翻譯的工程。不過各位可以安新的自動更新成 英文版 的程式，因為你原本的中文語系還是會留下來，只有少部分會英文的狀態。<br />
而 3.3 版多了很多提示的功能，這部分在中文版出來之前都會是英文，不過老手應該沒有差了！<br />
新人就請先服用 2.8 的然後上網找找教學啦！這裡就有一些，不懂的也可以發問。<br />
<br />
那這次更新了多少檔案呢？<br />
其實不多，才19個，檔案明細如下：( <a href="http://core.trac.wordpress.org/changeset?new=19669%40branches%2F3.3&#38;old=19590%40trunk" target="_blank">官網詳細說明</a> )</p>
<p style="padding-left: 60px;">wp-includes/nav-menu-template.php<br />
wp-includes/version.php<br />
wp-includes/functions.php<br />
wp-includes/user.php<br />
wp-includes/functions.wp-styles.php<br />
wp-includes/capabilities.php<br />
wp-includes/script-loader.php<br />
wp-includes/class-wp-admin-bar.php<br />
readme.html<br />
wp-admin/users.php<br />
wp-admin/includes/dashboard.php<br />
wp-admin/includes/update-core.php<br />
wp-admin/includes/template.php<br />
wp-admin/includes/ms.php<br />
wp-admin/js/common.js<br />
wp-admin/js/common.dev.js<br />
wp-admin/load-scripts.php<br />
wp-admin/press-this.php<br />
wp-admin/about.php</p>
]]></description>
		<wfw:commentRss>http://wwpteach.com/113/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>偷窺 WordPress 3.3</title>
		<link>http://wwpteach.com/103</link>
		<comments>http://wwpteach.com/103#comments</comments>
		<pubDate>Fri, 11 Nov 2011 13:51:46 +0000</pubDate>
		<dc:creator>richer</dc:creator>
				<category><![CDATA[程式更新]]></category>
		<category><![CDATA[3.3]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[plupload]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[更新]]></category>
		<category><![CDATA[測試]]></category>

		<guid isPermaLink="false">http://wwpteach.com/?p=103</guid>
		<description><![CDATA[<p>WordPress 3.3 已經進入 Beta 3 的階段，離正式版與所有人見面的時間越來越近了！<br />
身為 WP教學網 的撰稿人，一定要身先士卒的嘗試一下新版的 WordPress 一下，並且告知大眾有什麼好的地方！</p>
<p>首先是這次的改版量算是很大的，依目前的狀態一共新增 63個檔案、移除 75個檔案以及修改 352個檔案。<br />
光是一將檔案解壓縮，就發現檔案少好幾個。新增的檔案集中在wp-includes，移除的檔案集中在 wp-admin。這時不知道自動化的升級會不會做移除的檔案。可以確定的是人工上傳的時候，升級成是不會主動的移除檔案。</p>
<p>確定有的是升級第三方程式，將 jQuery 從 1.6.1 升級到 1.7 版本。<br />
根據 <a href="http://www.0968797090.com.tw/" target="_blank">蘇主任</a> 的提前測試，他是使用 WP 3.2.1 然後將 jQuery 升級成 1.7版本，在效能上有所提升。這部分也呼應了 jQuery 官方的說法。<br />
同時也加入了更多的 jQuery UI 的程式進來。</p>
<p>同時新增 <a href="http://www.plupload.com/" target="_blank">Plupload</a> 這一套程式，這是一個很強大的上傳輔助程式，就是他讓網頁版的程式也實現了拖拉上傳的功能。<br />
<br />
不過，發文的地方是沒有看到什麼重大的改變，不過使用的程式 tinymce 也是有經過一番的更新，相信會給線上編輯有更好的體驗。如果你是離線編輯的愛用者，建議可以上來嘗嘗鮮，因為有很多的不一樣。</p>
<p>在後台的側邊選單上，也做了些修正。只有目前選重的那一個大區塊會顯示細節，其他的區塊細節一律不顯式。在滑鼠滑道區塊大項目的時候，會側邊滑出來細節讓你點選。<br />
這樣可以避免在後台很多的操作之後，側邊欄還是長得像沒有隱藏一樣，自己手動的再去隱藏。<br />
</p>
<p>在前台的 adminbar 部分，也做了一些修正，顏色更為純正。項目也重新整理排列過。<br />
<br />
為了方便比較，這是三張圖合併在一起的，最上面的一張是現行的 WP 3.2.1 版本的樣式，下面兩張是新版的 WP 3.3 的樣式。<br />
整體的大項目變少，不過感覺上影響不大！因為外觀的選項，會修改到的機會很少，消失了也不會有太大的影響。</p>
<p>另外，語系上也有不小的修正，在後台不時可以看到英文的出現。所以別太著急的更新英文版的WP3.3。<br />
搶先爆爆到此~<br />
期待正式版~~</p>
]]></description>
		<wfw:commentRss>http://wwpteach.com/103/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>jQuery 1.7 發佈</title>
		<link>http://wwpteach.com/100</link>
		<comments>http://wwpteach.com/100#comments</comments>
		<pubDate>Thu, 10 Nov 2011 16:18:38 +0000</pubDate>
		<dc:creator>richer</dc:creator>
				<category><![CDATA[程式更新]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery 1.7]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP系統]]></category>

		<guid isPermaLink="false">http://wwpteach.com/?p=100</guid>
		<description><![CDATA[<p>有在做網頁前台的人應該都知道 jQuery 這一套方便東西吧！<br />
目前 jQuery 已經正式發布 1.7 版本！</p>
<p>如果不知道的人，偷偷的說 WordPress 也是</p>
<p>這次的更新主要是針對 Event 進行效率上的提升與強化，另外也對於 HTML5 的文盲瀏覽器 (IE6/7/8) 進行文字的訓練，讓其對於 HTML5 新出的語意標籤有更好的支援性。</p>
<p><br />
詳細的內容就請上官網的 <a href="http://blog.jquery.com/2011/11/03/jquery-1-7-released/" target="_blank">release note</a> 觀看吧！<br />
如果覺得英文不強的這邊找了幾個中文的看看搂，<a href="http://blog.darkthread.net/post-2011-11-07-jquery-1-7-release.aspx" target="_blank">jQuery 1.7筆記@黑暗執行緒</a> 或是 <a href="http://abgne.tw/jquery/jquery-resources/jquery-1-7-released.html" target="_blank">jQuery 1.7@男丁格爾&#8217;s 脫殼玩</a></p>
<p>另外，有藉由使用到瀏覽器本身提供的 matchesSelector API 功能來提升效率。<br />
至於有多大的效能提升效益，底下這當圖官網提供的。<br />
</p>
<p>那麼既然 WordPress 本身有使用到，那在下一個版本會有這樣的更新嗎？<br />
確定的，在 WordPress 3.3 將會更新成 jQuery 1.7 版本，所以各位愛用者請耐心的等待。目前是已經進行到 Beta 3 的階段，預計會在 2011年的某一時刻推出。</p>
<p>關看 <a href="http://core.trac.wordpress.org/milestone/3.3" target="_blank">WordPress trac 3.3</a> 可以發現，目前的待處理事項已經完成 81%，剩下 98個事項要處理。不過根據之前的經驗，應該不會完全處理完畢，可能會有一些事項被延後至下一個版本。</p>
]]></description>
		<wfw:commentRss>http://wwpteach.com/100/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>加入資料到後台列表中</title>
		<link>http://wwpteach.com/94</link>
		<comments>http://wwpteach.com/94#comments</comments>
		<pubDate>Wed, 09 Nov 2011 07:43:48 +0000</pubDate>
		<dc:creator>richer</dc:creator>
				<category><![CDATA[外掛創作教學]]></category>
		<category><![CDATA[列表]]></category>
		<category><![CDATA[後台]]></category>
		<category><![CDATA[項目]]></category>

		<guid isPermaLink="false">http://wwpteach.com/?p=94</guid>
		<description><![CDATA[<p>在後台的媒體列表中(媒體庫)中，可以看到很多欄位的資訊，顯示這個外掛的基礎訊息。</p>
<p>那有如果有使用 <a href="http://wwpteach.com/upload-to-ftp">Upload To FTP</a> 的使用者，可能會發現了在媒體庫的資料中，多了一個欄位來顯示外掛的資訊。<br />
就如同下面圖片所示這樣</p>
<p><br />
</p>
<p>當然這就是靠 WP 內建豐富的 hook 點來達成的。</p>
<p>這裡介紹了兩個hook，一個是 filter 型式的，另外一個是 action 型式的。至於這兩種之間的差別在之前的 <a href="http://wwpteach.com/85">外掛教學(四)</a> 中提到。這邊就不在多說。</p>
<p>第一個 filter 是加最上面的標題列的資訊。<br />
第二個 action 是為每一個媒體的添加詳細資訊。</p>
<p>這是第一個的函示範例，當然是直接取至 Upload to FTP 中的程式碼來用。<br />
重點就是會傳入一個陣列的變數，然後將你要添加的資訊的辨識ID當作陣列的索引值(key)，然後顯示的標題文字當作陣列的內容值(value)。最後在將陣列回傳回去即可。</p>
<p>同樣的來源，不過我將內容簡化成只有一行輸出的指令。反正那就是重點，輸出資料的來源是關於你的外掛目的。這裡強調的是達成的手段。<br />
這次改成需要兩個參數，其中第一個參數($name)代表的是目前處理的這一欄位的ID，就是與剛剛在標題列時設定的 ID 做對應，以免將資料顯示到其他外掛添加的欄位去。第二個參數($id)代表目前這一行的媒體 ID，以便我們去獲取相關的資料來呈現。</p>
<p>看完了，想要嘗試寫外掛的人可以動手試一試啦！</p>
<p>那麼，這裡講的是媒體庫的部分。<br />
在 WordPress 的後台中，文章、分頁、連結、迴響、使用者 都是類似的呈現方式。想當然耳可以用類似的方法加入你想要的資訊。<br />
文章的話為 manage_posts_columns 與 manage_posts_custom_column<br />
分頁的話為 manage_pages_columns 與 manage_pages_custom_column<br />
連結的話為 manage_link-manager_columns 與 manage_link_custom_column<br />
迴響的話為 manage_edit-comments_columns 與 manage_comments_custom_column<br />
使用者的話為 manage_users_columns 與 manage_users_custom_column</p>
<p>總而言之！<br />
WordPress 是很活的，幾乎可以不用修改主程式而添加資訊到你想要的地方。</p>
]]></description>
		<wfw:commentRss>http://wwpteach.com/94/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Awstats 中檔案類別大量的無法得知</title>
		<link>http://wwpteach.com/90</link>
		<comments>http://wwpteach.com/90#comments</comments>
		<pubDate>Tue, 01 Nov 2011 07:51:20 +0000</pubDate>
		<dc:creator>richer</dc:creator>
				<category><![CDATA[SEO 分析]]></category>
		<category><![CDATA[Awstats]]></category>
		<category><![CDATA[檔案類別]]></category>
		<category><![CDATA[無法得知]]></category>

		<guid isPermaLink="false">http://wwpteach.com/?p=90</guid>
		<description><![CDATA[<p>這篇文章最主要是依據 <a href="http://rvcamp.biz/" target="_blank">朱雀</a> 在 WordPress Taiwan 正體中文 上面發問的一個問題而衍伸的文章。</p>
<p>他提出了一個問題，再使用 Awstats 這一個Log檔案分析程式，分析一個以 WordPress 為系統的網站之時，發生在檔案類別的項目底下，有超過50%以上為無法得知檔案類型的。<br />
因為小弟我也有使用這一套系統在分析，雖然主機商提供的不是這一到，但是看習慣了所以還是自己分析分析來研究一下。<br />
</p>
<p>大致上就像是上面這樣，有很高的比例屬於無法得知類型的。</p>
<p>但是其他的數據，基本上都沒有可惜的地方，流量沒有異常的上升，點擊數也沒有飆高，所以我猜測應該是正常的數據，只是被 Awstats 系統誤判。</p>
<p>一般的 LOG 檔案中的單一行會長得像是<br />
0.0.0.0 &#8211; - [01/Sep/2011:01:13:09 +0000] "GET /2011/779 HTTP/1.1&#8243; 200 21659 "http://fantasyworld.idv.tw/2011/779&#8243; "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461)"<br />
這樣，顯示出 IP 時間 下達的指令 回復狀態 User-agent 等等的資訊<br />
那麼 Awstats 如何得知檔案類型呢？<br />
就是由記錄到的網址來判斷，但上面所表式的網址為 /2011/779 這樣，因為沒有副檔名的存在，所以才會被 Awstats 判斷為無法辨識的檔案類型。</p>
<p>因此，使用 WordPress 的使用者，加上設定的固定網址中沒有副檔名的狀態，就會發生這樣的問題。<br />
我想這是多數使用者都會如此，所以不用太擔心。</p>
<p></p>
<p>題外話，這是我的每月跟九月的每日記錄，各位比較需要注意的是成長是否穩定，是否有單一日流量忽然很高。<br />
可惜我沒有明顯有詭異的圖可以分享，但像上圖中的 22 日就是一個可疑的點，因為他的數據跟別人都不一樣。</p>
]]></description>
		<wfw:commentRss>http://wwpteach.com/90/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>讓 WordPress 擁有數字分頁</title>
		<link>http://wwpteach.com/87</link>
		<comments>http://wwpteach.com/87#comments</comments>
		<pubDate>Sun, 30 Oct 2011 14:23:18 +0000</pubDate>
		<dc:creator>richer</dc:creator>
				<category><![CDATA[WP 程式技巧]]></category>
		<category><![CDATA[WP-PageNavi]]></category>
		<category><![CDATA[分頁]]></category>
		<category><![CDATA[數字分頁]]></category>

		<guid isPermaLink="false">http://wwpteach.com/?p=87</guid>
		<description><![CDATA[<p>在預設的 WordPress 功能中，在換頁上只有【上一頁】【下一頁】這兩種方式。<br />
但一般我們在瀏覽論壇的時候，可以看到數字分頁的導覽列，是不是覺得很方便。<br />
甚至在 WordPress 後台中也是有這樣的功能，那麼在前台的時候我們也可以擁有這樣的功能呢？</p>
<p><br />
這樣看起來不是很方便呢？想要到哪裡就要到哪！</p>
<p><br />
最最簡單的方法，就是利用外掛的方式達成，以我所知的話會推薦使用 <a href="http://wordpress.org/extend/plugins/wp-pagenavi/" target="_blank">WP-PageNavi</a> 這一個外掛。<br />
因為他是我早期使用外掛階段時使用的，現在這功能我並不利用外掛，而是自己撰寫一個函式來使用。</p>
<p>早期，我是自己以 php 程式碼拼湊而成的，這樣就可以順利的運作啦！但是又想到在後台有這樣的功能，那麼 WordPress 應該有內建相關的函式可以讓我們利用。<br />
在這樣的想法之下，找到了香腸的文章 <a href="http://sofree.cc/wp-nav/" target="_blank">如何讓WordPress有數字分頁功能？(非外掛)</a> 。</p>
<p>但在使用一段日子之後，發現了在搜尋頁面的時候，他會失效。<br />
因為多數人會將網址進行固定化的作業，但是在搜尋頁面的時候，WordPress 並沒有固定化的功能，所以採用香腸大的版本會出現問題，以下是小弟我的修正版，如果還是有疑問的話大家可以再提出，一定努力克服。</p>
<p>然後在你想要呈現的地方，加入以下的語法</p>
<p>這樣就可以順利的達成任務啦！<br />
另外如果有使用快取外掛的使用者，記得清楚目前的快取資料，這樣使用者才可以看到你修改的結果！</p>
]]></description>
		<wfw:commentRss>http://wwpteach.com/87/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>外掛教學(四)</title>
		<link>http://wwpteach.com/85</link>
		<comments>http://wwpteach.com/85#comments</comments>
		<pubDate>Sat, 22 Oct 2011 16:07:59 +0000</pubDate>
		<dc:creator>richer</dc:creator>
				<category><![CDATA[外掛創作教學]]></category>

		<guid isPermaLink="false">http://wwpteach.com/?p=85</guid>
		<description><![CDATA[<p><a href="http://wwpteach.com/84">上一篇教學</a> 有一點再說廢話的感覺。<br />
不過外掛就是要作者有創意之後才會產生的物品沒有錯，只是好一點的應該是教導如何抓住你的創意。<br />
廢話到此，言歸正題。</p>
<p>外掛，就是要與 WordPress 的主系統產生連結的合併運作。<br />
但是我們在寫外掛的時候卻又完全的沒有修正主程式，那之間是如何連結的呢？<br />
就使用 WordPress 設計十分豐富的 Plugin Application Program Interface (外掛應用程式介面)，簡單的說就是 WordPress 程式中提供了數以百計的 API 嫁接點讓我們寫的外掛程式可以完美的遷入之中運行。</p>
<p>在與主程式進行嫁接的時候，又可以分為 Action(動作) 與 Filter(過濾器) 兩種不同的模式。註1</p>
<p>基本上，這兩種都是在該點執行外掛所撰寫的函式。<br />
差別在於 Action 執行的含是不需要有回傳值，但可能會有傳入值(參數)。<br />
而 Filter 的就需要有傳回值，相對的也就會有傳入值(參數)。<br />
為了怕單純的文字說明有點難以理解，所以加了張自製的圖片來說明一下。註2<br />
</p>
<p>當要嫁接一個 Action 的時候，外掛會使用如下的函式來加入</p>
<p>當要嫁接一個 Filter 的時候，外掛會使用如下的函式來加入</p>
<p>你會發現兩者長相差不多，其各個參數的意義解釋如下<br />
hook_name =&#62; 欲嫁接點的 action /filter hook 名稱<br />
your_function_name =&#62; 所需要執行的函數名稱<br />
priority =&#62; 優先權，預設值為 10，越小的數字越先執行<br />
accepted_args =&#62; 你所執行的函數有幾個輸入值(參數)，預設為 1。某些 Action (Filter) 提供操過 2 個參數時即可以此設定。</p>
<p>那你會好奇在實際寫作的時候有多少得可以使用呢？<br />
我也不清楚，這一直因為 WordPress 的版本更新而變更者，可以前往官方網站的 Codex 中有詳細說明。<br />
<a href="http://codex.wordpress.org/Plugin_API/Action_Reference" target="_blank">Action 參考列表</a><br />
<a href="http://codex.wordpress.org/Plugin_API/Filter_Reference" target="_blank">Filter 參考列表</a></p>
<p>其中在看 Action 列表的那頁之時，最上面有一項標題為 Actions Run During a Typical Request 的內容，是一份根據 WordPress 3.0.1 版本生成一個頁面所會歷經的 Action 順序列表。這一份列表只是給你當作一個參考用的，因為實際上會因為妳所安裝的佈景主體、外掛種類、文章內容，等等的因素導致裂表中的項目被執行不只一次或是項目被停用或是新增。這只是一個預設合理情況下會被執行的列表給你做參考。</p>

muplugins_loaded
plugins_loaded
sanitize_comment_cookies
setup_theme
load_textdomain
after_setup_theme
auth_cookie_malformed
set_current_user
init
widgets_init
register_sidebar
wp_register_sidebar_widget
wp_loaded
parse_request*
send_headers*
parse_query*
pre_get_posts*
posts_selection
wp*
template_redirect
get_header
wp_head
wp_enqueue_scripts
wp_print_styles
wp_print_scripts
get_template_part_loop
loop_start*
the_post*
loop_end*
get_sidebar
dynamic_sidebar
get_search_form
wp_meta
get_footer
twentyten_credits
wp_footer
wp_print_footer_scripts
shutdown

<p>如此一來，有沒有多一點點的瞭解，外掛程式與主程式之間是如何達成互動的。<br />
其實不單單是外掛以如此的方式運作，WordPress 程式本身很多時候也是利用此一機制在運行的。我們甚至可以藉由停用 action 或 filter 來改變原本 WordPress 的執行過程與內容，不過這部分就太深入了，以後有機會再慢慢的寫吧~</p>
<p>註1：因為翻譯成中文我個人覺得不是很好完美的翻譯，而且寫作與官方文件都是英文，所以我也會採用英文寫作。<br />
註2：希望我的圖片不要反而照成大家的困惱。</p>
]]></description>
		<wfw:commentRss>http://wwpteach.com/85/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  wwpteach.com/feed ) in 0.45852 seconds, on May 19th, 2012 at 11:21 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on May 20th, 2012 at 11:21 am UTC -->
