WordPress MySQL #1067 – Invalid default value for ‘post_date’

datetime 的預設值設定為 0000-00-00 00:00:00 在舊版本沒問題,但在MySQL5.7後會出現 錯誤,主要原因從 MySQL 5.7 開始,SQL 模式預設為 NO_ZERO_DATE ,需禁用此限制。本文提供兩種解法:

方法一、

先將欄位預設值設定為NULL:

再更新預設值

方法二、

先執行關閉 NO_ZERO_DATE 模式

就可以順利執行

https://stackoverflow.com/a/37696251/6784662
https://stackoverflow.com/a/32829623

[……]

Read more

WordPress 使用者角色顯示「不指派使用者角色」更新也無效

今天出現個怪問題,在後台變更使用者角色都沒反應,不管設定哪一個角色,都會顯示「不指派使用者角色」,而且沒有錯誤訊息,像什麼事都沒發生一樣

在使用者列表中的「使用者角色」欄則顯示「未獲指派」,在這情況下,不管我怎麼修改使用者角色都沒有反應,只會顯示「不指派使用者角色」

找問題吧 Debug 開始

往儲存角色資料損毀方向著手,用「phpMyAdmin」開啟網站資料庫,開啟「wp_usermeta」這張表

註:wp_usermeta前面的 wp_ 是可被替換的,請用您安裝WordPress 時的資料表前綴,如果忘記了,可到安裝WordPress 的根目錄中開啟 wp-config.php 其中 $table[……]

Read more

$wpdb get SQL string 取得mySQL查詢字串

$wpdb 取得MySQL查詢字串

WordPress 提供了 wpdb 這 Class 有很多方法可以操作資料庫,如果是用 wpdb 的內建方法來處理查詢,有時除錯會想看最終組出來送到資料庫的查詢字串,只要 echo $wpdb->last_query ,就可以取得囉。

範例:

參考:

[……]

Read more