發現與回報 WordPress Core Bug

大家應該有發現我現在的首頁,是採取比較 論壇 風格的設計方式,但這樣的模式官方的設定選項當中並沒有,所以就必須要 客製化 的方式來達成。
而就在製作的過程中,發現了一個 bug。經回報與有修改權限的人協助下,確認我竟然發現了一個從 2.7.1 就存活到現在的問題,真是有幸啊!

因此需要找出分類列表,然後再抓取文章來顯示。
因此我使用了 get_terms 來抓取分類,而針對後續的顯示需求,我只需要 id 跟 name 這兩個的內容就好,所以設定成直接回報這兩個東西組成的陣列。又因為不想要首頁太長,所以只取前幾個出來用。

就是這兩個條件的出現,讓程式利用

array_slice($terms, $offset, $number);

來將取回的結果剪裁到我們需要的數量,而這時候問題就出現了,因為這樣寫陣列的鍵值會被改寫成 0, 1, 2, … 這樣的流水編號,而原本的設定上鍵值應該是分類的 ID。而處理辦法很簡單,只需要將內容修正為

array_slice($terms, $offset, $number, true);

就修復收工了。

發現與處置辦法都搞定了,接下來就是要回報給 WordPress 官方,這樣他們才可以在之後的版本當中將這問題修正,讓所有的使用者不會遇到同樣的困擾。

WordPress Trac 這是官方的問題回報系統,要使用你必須要有 wordpres.org 的帳號才可以,如果沒有究辦一個吧!

進入回報系統後,你應該會看到 Create New Ticket 的按鈕,這時候先不要急者就回報問題。
你應該先利用按鈕上面的搜尋功能,利用 函示名稱 / 物件名稱 等等的關鍵字,先行確認有沒有同樣的問題已經被回報,如果有的會就不會再一次回報,減輕官方人員的負擔。
確認沒有同樣的問題後,就安心的按下 Create New Ticket 之後就可以回報問題。

相信有能力發現問題的人,一定是會寫程式的人,英文的程度一定可以看懂回報表格每一欄要你寫的東西是什麼,而且請記得,你也必須使用 英文 來寫所有的內容。不過文法或錯字的問題不用太擔心,用你懂的東西下去寫就好,如果已經有修正方法,也附上相信他們一定可以理解你的問題與建議的。
如果真不懂也會在留言當中回應請你多說明一些,這時候你可以去找 英文 能力好一些的朋友來協助你,或是上 FB WordPress Taiwan 正體中文 社團,裡面會有人願意上 WordPress Trac 去協助處理 中/英文 當中導致的誤解的。

火狐截圖_2016-01-09T07-24-03.078Z