WordPress 自行客製化 Sidebar Widget (隨機瀏覽/最新迴響) Plugin

原來我部落格右側 Sidebar 有使用對岸開發的「WP-RecentComments」plugin 所製成的 Widget,可以採 Tab 標籤方式切換「最近迴響 (recent comments)」與「隨機文章 (random posts)」,內容展示相當具彈性且不會佔據過長的版面。可惜該作者已停止維護,如使用在最新版本的 WordPress (4.9+) 啟用後在後台會有些錯誤訊息,是還可以使用,但總覺得不太妥當。

嗯,乾脆就自行實作類似的功能來撰寫屬於自己的第一支 wordpress plugin 小插件。整整花了一天,算是採以硬寫的方式,不是那麼具有客製化的設定,但起碼確實運行幾乎與原來上述的插件功能一般。尚差在沒有提供上下頁採 AJAX 的導覽功能,那比較麻煩些,可能就留待後續版本再來補充進來。

嗯,我是打算自行使用即可,所以並沒有公佈至 WordPress 官方的 plugin 儲庫內。不過為了後續的維護便利,我給上傳至 GitHub,並命名為「wp-plugin-tabbed-content-widget」 專案。若有部落格有興趣採用或研究者,歡迎自行下載即可。

先瞧瞧啟用該 Widget 後所展現的 Screentshot 效果:

閱讀全文 »

WordPress 系統暨版面大更新 (2018/04)-Bootstrap 4 based 框架

我的 WordPress Blog 系統第一次改版是在約 7年多前,詳見 - 重新設計本站 WordPress Theme 版面

當年是從無到有自行 "硬刻" CSS Layout,也不懂得如何運用如 Bootstrap UI 框架,讓版面可以隨不同裝置而能更具有彈性的調整。不過即使這樣,最多透過一些挺好用的 Plugin 工具,倒是只單純撰寫 Blog,卻是足足有餘了。

不過今年初 (其實去年底就有這打算),我就決定採基於以 Bootstrap 4 框架來重新設計整個網站的版面。我並不打算採買一些花炫的佈景主題 (Theme),而是採以較基本的 Starter Theme,再整合包括 Bootstrap + Fontawesome 等具UI框架與豐富的圖示等當為網站建置的基礎建設。可參考先前寫的這篇:關於建構 WordPress Starter Them-整合 Underscore 與 Bootstrap/FontAwesome

我把這自行所已整合的 Starter Theme,命名為「SimplicityZen」專案,並放置於 Github,而後可以持續更新上述的套件版本,透過 Git 版本管控維護。

這算是基底佈景主題的基礎建設。我把它當成「parent theme」,然後再從其 extend child theme,這是 WordPress 官方建議的作法,好處就是客製化全在 child theme 這邊修改,而 parent theme 則可以另行維護。

因為我打算把 WordPress 首頁 (frontpage) 設計為聚合性資訊的首頁。包括個人擔任軟體顧問、講師相關的課程、產品與輔導等資訊,再整合原來 Blog 日常的內容文章,以及軟體專欄文章等,所以我必須自行利用 PHP 撰寫這個首頁的 Layout,完全是重頭開始刻寫的,著實花了不少時間。

我現在是把軟體課程與產品資訊等內容,設計為客製化的文章類型 (custom post type),並各為其再新增客製化的欄位 (custom field),這些都有賴於 WordPress 提供了非常豐富實用的 Plugin,擇選普遍評價較高,且有持續更新的來使用即可,這節省了太多功夫了。

所以現在首頁是聚合型 (aggregation)的整合資訊。至於「部落格」內容,則是點選選單列 (或單選首頁最新文章)進入;「軟體課程內容」也是透過選單列進入,可以查看年度所有課程列表,或者單一課程詳細內容資訊等。後續包括「產品資訊」、「顧問輔導」等,也都是個別獨立於選單列 (Menu, NavBar)。
Kenming's Website FrontPage

閱讀全文 »

關於建構 WordPress Starter Them-整合 Underscore 與 Bootstrap/FontAwesome

其實整合 UnderscoreBootstrapFontAwesome 原理並不困難,簡單的說就是以 Underscore 所創建的 Starter Theme 為基底,具有基本的檔案結構與基本的 PHP 檔案的關聯,然後再逐一調整 PHP 檔案內容 (例如 index.php),加入 Bootstrap 與 FontAwesome 的 CSS排版/Javascript動態效果。

雖說原理不難,但也花了一些時間弄懂這些套件之間的關係,然後再查詢相關整合的文章,底下是我大概找出比較實際的 How-to 文與影片:

o how to create bootstrap underscore wordpress theme step by step guide
o Combining Bootstrap with Underscores
o WordPress Theme Development Tutorial with Bootstrap & Underscores WP Starter Theme

在設計 Starter Theme 的過程,強烈建議下載 WordPress Theme Unit Test Data,甚至最好是創建一個專屬開發測試的 WordPress 網站,只放上與佈景主題設計相關的 Plugin,例如「Theme Check」、「Show Current Template」等,這些都對開發過程中相當有幫助。

閱讀全文 »

聊聊 WordPress 佈景主題與 Starter Theme 的設計

近日準備要把我原來從空白佈景所建構的 WordPress 部落格來個大幅度的版面變更。

起碼花了一兩個星期時間來了解關於 WordPress 佈景主題 (Theme)這個領域的相關資訊。老實說,還挺有趣的,我才知道原來有諸多國內外的工作室專門在開發佈景主題並當成產品販售的。尤其若上架到 ThemeForest 這個平台,比較熱門的產品可以賣到多達上萬套以上,而每套價錢大約從 US$30~99 美金的都有,而且大都還是只有提供一年的免費服務更新與諮詢。難怪乎這市場已經可以大到養活許多專事開發 Web 端佈景主題開發的設計公司了。

我現在輔導的客戶單位其中有一家就是花了上百美金購買了一套可以應用在企業網站建構的佈景主題,所以可以就近觀摩。不過我發現到,似乎不太適合我,因為用了某一家的 Theme 後,雖然可以快速的建構網站與內容,但會被「綁架」,因為網站的基礎建設/工具幾乎都依賴這套佈景主題,極難抽換掉。

原來這些佈景主題的對象比較偏向是完全不用 Coding,連 HTML/CSS 等都不用了解 (但其實我發現還是需要有些基礎知識),只要專注利用其工具與所提供的元件,快速的「兜」起來頁面,組成豐富的內容就可。

所以光是所謂的「Page Builder」就相當講究,而且真的很容易短短幾分鐘內就可以組出排版相當豐富的頁面出來。我自己也安裝了一套免費且相當簡潔許多的「SiteOrigin」,真的比從無到有自行排版的方式簡單太多太多了。

閱讀全文 »

[筆記] Linux Mint 18 創建 Swapfile @T61 筆電跑SSD

目的

去除舊式的 /swap 交換磁區的作法,改以更有彈性的 swapfile 方式替代。

說明

其實近年來電腦大都配置大容量記憶體以及 SSD 固態硬碟,主流 Linux 系統對於記憶體的內存 (cache)管理更得以最佳化,逐漸地,行之有年的 /swap 暫存磁區並不推薦採用。

不過,老舊電腦可能只有 4Gb RAM 的限制以內,卻又換了新的 SSD 固定硬碟,還是有需要使用到系統暫存區,諸如系統休眠 (hibernate),或內存不足。但是為了讓系統暫存的運作更有彈性,建議採以較新的方式,也就是以 Swapfile 取代 /SWAP 暫存磁區方式。

P.S. Linux Mint 18 在安裝時磁區規劃建議以手動方式設定,且不要新增 /swap 磁區;若以自動方式設定,則系統會自行增添 /swap 磁區 (partition)。雖然系統後續安裝時會警告沒有設置 /swap 磁區,但可以忽略它,待安裝完成後再以本文方式進行創建 swap file 的程序。

作法

  1. 檢查是否已有使用配置 SWAP:
    ~$ free -m
               total       used       free     shared    buffers     available
    Mem:        3878        378       2806          57       723          3230
    Swap:          0          0          0
  2. 閱讀全文 »

關於安裝 GalliumOS @Acer Chrombook CB3-111 簡單心得註記

因為有位阿呆讀者在先前撰寫的一篇:「Acer Chromebook CB3-111 安裝 Coreboot/SeaBios (可 USB 開機)」留言,他強烈推薦 GalliumOS,針對 Chromebook 的Kernel、Driver、scheduler最佳化,更適合安裝在 Acer Chromebook11 CB3-111上。

所以昨晚花了幾個小時安裝來體驗看看。GalliumOS 有針對各類 Chromebook 上的處理器作個別的最佳化,像我的 Acer CB3-111 是 Bay Trail,所以就下載相對應的 ISO 檔。

安裝超簡單,ISO 檔寫入 USB 碟開機後進入 Live 桌面,再從其中雙擊點選安裝圖示;過程很順利,完全沒有相容性的問題。
GalliumOS@Acer Chromebook CB3-111

閱讀全文 »

軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal