WordPress Development (3)

突然發現,我在Bluemix 上安裝Wordpress 的方法是太慢又不完整,原來官方有提供一鍵安裝的方法,請瀏覽這個GitHub repository: WordPress on Bluemix

它使用到了php 的dependency manager — Composer,是必需學會的工具,因為所有的plugins 和themes 都要用它的composer.json來安裝,wordpress admin安裝的所有東西都會在restart 程序後消失,除非把plugins 和themes都在composer.json上列明。

可在WordPress Packagist 找到所有plugins 和themes。

WordPress Development (2)

在Local環境開發了幾天,想把Wordpress 放到雲端。考慮了一會兒後決定試一試IBM Bluemix。

Deploy WordPress 到Bluemix 的步驟可參考這篇文章:Deploy and configure WordPress in Bluemix

花了一天的時間,終於成功安裝Wordpress。之後發現需要一個FTP client來遠端存取Wordpress,於是我使用了WinSCP這個軟件。除了WinSCP,還需要下載CloudFoundry CLI 來獲取一次性SSH來登入。登入方法可以參考這篇文章: How to access Bluemix from WinScp

在CloudFoundry裹,Wordpress application是放在了/home/vcap/app/htdocs/wordpress/ 。

所有於Wordpress admin console 作出的更改,例如是添加plugins,都會在這個Wordpress folder 反映。因此所有admin作出的改動,都可以從Bluemix 下載最新Wordpress ,再花點氣力與本地開發版本合併。


本來Bluemix提供的Online IDE應該可以看到所有改動,但是我更新了repository後還是不能看到,只好用上面的方法⋯⋯

Referece:

  1. How to backup wordpress: https://codex.wordpress.org/WordPress_Backups

 

WordPress Development (1)

這些天,一直在忙着搞一個分享Event的平台,其中用到了Wordpress架構網站。花了一整個下午,我才成功用Postman 連接到在localhost MAMP 上的Wordpress ,並建立了第一個tag。

WordPress官方提供的Authentication方法只有cookie authentication,在後端不知道該怎麼弄,所以果斷放棄了這個方法。除了cookie authentication,還可以用plugin進行身份驗證。不過,3個plugin當中,只有一個成功讓我通過驗證,具體錯誤的原因不明⋯⋯

第一種,JSON Web Tokens。我按照着官方說明,在wp-config.php中加入了以下了兩句,訪問了/WP-JSON/JWT-AUTH/V1/TOKEN 成功拿到token。可是在之後的request裡加上token,依然無法通過驗證。

define('JWT_AUTH_SECRET_KEY', 'your-top-secrect-key')

define('JWT_AUTH_CORS_ENABLE', true);

第二種, OAuth 1.0a Server。這個plugin沒有具體的方法,我google了幾篇教學,內容都大同小異,詳情可以參考Set Up Postman for WordPress WP REST API。我卡在了最後一步,拿到了oauth token 和oauth token secret卻又是不能通過驗證,一直出現

{
"code": "rest_cannot_create",
"message": "Sorry, you are not allowed to create new terms.",
"data": {
"status": 401
}

第三種,Application Passwords。這個plugin安裝之後,只需要在User頁面新增一個Application password,每一次後端連接到wordpress 就用Basic Auth,填上user id  和 這個application password (不是原來登入的密碼),就能成功驗證。

下一步,我要把後端的資料通通灌到Wordpress⋯⋯

Reference

  1. 在macOS上建立Wordpress:https://codex.wordpress.org/Installing_WordPress_Locally_on_Your_Mac_With_MAMP
  2. WordPress authentication:https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/