iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 1
1
自我挑戰組

Wordpress 外掛開發系列 第 1

「Wordpress 外掛開發」開始,Plugins開發沒那麼難,會的不多也可以玩

  • 分享至 

  • xImage
  •  

前言:報名臨時起意,在報名截止前兩天跟高中同學一起報名寫寫鐵人賽,每天一篇真心覺得硬,後面還有業主在追殺我,怕爆。

你可能需要的一些需求

  • 一些些PHP的基本觀念
  • 一些些00P的基本觀念
  • 一些些DB的基本概念
  • 一些些檔案結構的構念
  • 一些些耐心

以上需求其實都不需要太深,因為太深得我也不會,我們將要從撰寫外掛的介紹標頭開始,一路到別人的外掛的實戰與改功能,最終的目的地是參考WooCommerce的套件,做個副廠的外掛來練手,希望到時候可以準時到達目的地。

table of contents

1 ~ 11章

  • 操作 heaer開始
  • Administrator Menu
  • 、安全性設定(privacy & security)
  • 、使用者權限(User Role)
  • 、資料驗證(data validation & sanitizing)
  • 、Wordpress Hooks(包含action與filter)

12 ~ 26章

  • 編寫shortcode與enhanced短碼
  • wordpress資料庫的架構分析
  • 中介資料(MetaData)
  • 使用者上傳資料類別(Custom Post Type)
  • Wordpress 類別(Taxonomies wp4.2版本之後的)
  • 靜態程式碼引入(assets 包含 js,css 等等,但沒有webpack來bundle)
  • 排程(WP Cron)
  • 在地化與多語言化(localization & I18N)、維護概念與板控

27 ~ 30章

  • 拿wooCommerce當練手,製作一個發票、收據產生的外掛

你幹嘛學怎麼做外掛

老生常談,現在免費的外掛其實非常多,功能五花八門,但今天業主提出了十個需求,你就裝了十個外掛,老實說該網站就會變成所謂的非式臘腸狗,八成的Hook在裡面被新增都是不需要使用的,而有更大的問題是,在教學中常常會聽說到,不要去編輯WordPress 的主要程式檔案,因為在這個架構下是會被時常更新的,你有可能一次更新將你先前修改的部分直接覆蓋掉,得不償失,而且核心部分在WordPress 的程式碼管理中也是不大會被加進板控的,我們盡可能的以外掛的方式來達成需要修改的目的。

比較實際的問題,在網站的生手,但有點網路基礎都會在主題的functions.php加入自己要的Hook,但是可能在主題更新的途中,一個閃神舊的檔案就被一鍋端走,將你的程式碼放入外掛會是個比較好的選擇,更易於管理。

最後一段

外掛可大可小,小的你想要在頁面上顯示特定的訊息,大到像是商務系統一大包掛進褲襠,不過裡頭的共通點都是需要個正常的Header,只要會打字複製就可以完成你人生第一個最小的套件,看看外掛的官網上,提供著一個叫Hello Dolly,這是多麽有勇氣的上傳與分享,就算到了現在仍然持續在更新中。

補充一點,我往後的幾個部分,你可能還需要會一點Javascript與Css,我們再往後要製作自己的模板是需要這些來架構的。

往後的30天,不會提到開發的環境、深澀的內容及我到底花了多少錢改了我的機車,主要前十五天會圍繞在官方文件的主題打轉,我想官方文件在這麼完善的內容中,難怪那麼少有外掛開發的文章出現,大家可以在花少少的時間,分享外掛上去讓其他人下載,這感覺就與github的星星數一樣,讓人有莫名的虛榮心,我們都愛被推崇也愛功名,讓虛榮心的作祟推你我一把,朝著破百萬下載邁進。

更新補語

寫了四天後,天天爆字數,想寫的主題太多,很想提到RestAPI,也想提到wp-ajax多麽好用,每個主題都很廣但要深入肯定是10篇以上,在寫的時候也不經意反思該如何將內容以更簡化但不失真的方式,更新在上頭。

12 ~ 26章這一部分,其實每一篇幾乎都得壓在1篇,才有辦法將基本的內容先說完,Woocommerce我決定使用別人embed的完整程式碼,不使用這MD提供的,不然閱讀性太糟糕了,目前想到的選手只有Gist來放,不過有多個程式碼分離的問題,最後應該還是會在github上放上完整的專案。

Update 18/1/21

在這幾天有些東西忘記之後,回來看一下自己的文章,發現漏了些東西來補一下,並且把待人下單的外掛做好了,但因為有些商業邏輯的關係,打算簡化之後,在把他組成兩篇文章放在後續之中,並且將這30天的內容,一些靜態檔案忘記提到的內容補充完整。

Update 9/9/22

發現文章有些人私訊我,不過少少才開上來一次,也才發IT站裡面可以發私訊哈哈,不少是在問admin page的開發,在思索再加更新個五篇從大部分的套件常用的method來做成的應用,以及原生ajax,endpoints來做成更簡單的Restful,不過應用這一邊就是不喜歡大家看了就照著同一個方式,思維固化是軟體工程師的硬傷,希望大家after cloning可以大改程式碼,我寫的是示範不是標準答案XD九月中我家兒子要出生,應該會在六個月大後有一段時間可以來更新五篇左右,大家拭目以待:D


下一篇
「Wordpress 外掛開發」從基礎header到解除安裝
系列文
Wordpress 外掛開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言