git 如何修改最近一次的 commit message

如果你想要修改最近一次的 commit message,可以透過 –amend 指令來修改。

未 push 的修正

git commit --amend -m "新的訊息"

修正完後再 push 即可

已 push 的修正

若你的修正之前已經 push 到遠端的存放庫,則在 push 時要使用 –force 指令

git push --force origin master

Cloudways 使用 DigitalOcean Block Storage 來增加硬碟空間大小

Cloudways 的 DigitalOcean 目前已經支援 Block Storage,最近剛好有一個主機的空間已經不夠用了,所以想透過 Block Storage 來增加硬碟空間,不過實際使用後才發現原來不是我想像中的那樣。

本來以為 Block Storage 是在原本的硬碟再加上多的空間,不過實際使用後發現,當你使用 Block Storage 時,原本的硬碟就會被捨棄。原本我的主機有 20GB 的空間,但因為不夠用了所以我想增加 10GB,變成 30GB,所以在新增 Block Storage 時,我選擇了 10 GB,結果設定完之後硬碟就變成只有 10 GB。

後來詢問過客服才知道原來當你使用 Block Storage 時,硬碟會被更換為這個新的 Block Storgae,所以記得在設定硬碟時要確認硬碟空間的大小。好處是主機的 CPU 和記憶體都可以維持不變。

我個人覺得這個功能有點 bug,例如原本主機有 20 GB,但在選擇 Block Storage 時,竟然可以選擇比目前小的硬碟空間。

另外在選擇使用 Block Storage 時,下方的金額就是未來你每個月需要付的費用。

如果下次大家有使用時要注意硬碟空間大小的設定。

如何在 WP 外部呼叫 WP 函式

有時候為了快速測試一些功能,會寫一些簡單的 PHP 來測試功能,如果你要呼叫 WP 的函示,就必須在佈景主題或是外掛中攥寫相關的程式碼,但這樣相當的麻煩。

如果你只是希望做一些簡單的測試,你可以在網站的根目錄下,建立一個 PHP 檔案,例如 test.php

然後在最前面加上以下程式碼:

<?php
define( 'WP_USE_THEMES', false ); 
require( './wp-load.php' );

這樣就可以直接呼叫 WP 的函式了!

<?php
define( 'WP_USE_THEMES', false ); 
require( './wp-load.php' );

$current_user = wp_get_current_user();

當設定變更時執行判斷

情境:WordPress 後台有許多設定,管理者希望某個設定不要被修改,或是被修改時通知管理者。


 add_filter( 'pre_update_option_page_on_front', 'woo_page_on_front_changed', 10, 3);
 function woo_page_on_front_changed( $value, $old_value, $option ) {
	if ( $value !== 27 ) {
                 $headers = array('Content-Type: text/html; charset=UTF-8');
		wp_mail( 'admin@gmail.com', '首頁變更提醒', '首頁被變更了!', $headers );
		return 27;
	}
 }

可以使用 pre_update_option_{option_name} 這個 filter,在儲存設定之前做判斷,以上面的例子option name 是 page_on_front,這是靜態首頁的設定。我們不希望首頁被修改,所以判斷當首頁被修改時,通知管理者,並改回我們原本預設的值 (這邊是 page id)。

參考:https://developer.wordpress.org/reference/hooks/pre_update_option_option/

Elementor 動畫在瀏覽器上沒有作用

Elementor 提供了很多豐富的動態效果,讓你不需要撰寫任何複雜的 CSS 就可以幫網站增加互動性。

如果你在你的電腦或手機發現動畫沒有作用,很可能是因為電腦或手機的設定。

如果你測試的電腦是 Mac,你可以在系統偏好設定->輔助使用->顯示器->減少動態效果,確認一下減少動態效果是否有勾選。

減少動態效果

如果是 iOS,可以檢查在設定->輔助使用->動態效果->減少動態效果的設定,是否有勾選。

減少動態效果

相關說明請見 Elementor 文件:https://elementor.com/help/entrance-animations/

參考資料:

https://web.dev/prefers-reduced-motion/
https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion

XAMPP MySQL 無法啟動的問題 (MAC)

當啟動 XAMPP MySQL 時,如果遇到無法啟動的問題 (XAMPPERRORDOMAIN error 1),可以先查看一下 log

在 MAC 系統中,你可以在 /Applications/XAMPP/xamppfiles/var/mysql 中找到 log。

通常 log 名稱會是你電腦名稱,例如我的是 StanleyMBPR-2.local.err。

打開後來看看是否有相關的 error。

看到 tc.log 有問題。

解決的方法很簡單,請先移除 tc.log,然後重新啟動 MySQL,應該就可以了!

WooCommerce 4.7 發佈

WooCommerce 4.7 已經於 11/10 正式發佈,這是一個小版本的發佈,代表著向下相容之前的版本。

因為黑色星期五即將到來,所以 WooCommerce 團隊將這個版本的修改範圍縮小,同時專注在整體的穩定和相容性。

WooCommerce 4.7 包含了哪些新功能?

WooCommerce 4.7 的發佈包含了更新的 WooCommerce Admin (1.6.3) 和 WooCommerce Blocks ( 3.5.0和 3.6.0 )

值得注意的修正和更新

  1. 更新 product_cat/tag 分類法範本檔案的名稱為 product-cat 和 product-tag  (#27736)..
  2. 在”商品頁面”設定中排除草稿頁面 (#27890).

Filters and actions

Filters說明
woocommerce_should_send_low_stock_notification決定目前商品是否要觸發低庫存通知

範本檔案改變

檔案說明
content-product-cat.php新檔案用來取代 content-product_cat.php (#27736)
taxonomy-product-cat.php新檔案用來取代 taxonomy-product_cat.php (#27736)
taxonomy-product-tag.php新檔案用來取代 taxonomy-product_tag.php (#27736)

請注意 WooCommerce 仍然支援 content-product_cat.phptaxonomy-product_cat.phptaxonomy-product_tag.php

WooCommerce 4.6 發佈!

WooCommerce 4.6 已經於 10/14 正式發佈,這是一個小版本的發佈,代表著向下相容之前的版本。

WooCommerce 4.6 的新功能

WooCommerce 4.6 包含了更新版本的 WooCommerce Admin (1.6.1) 和 WooCommerce Block (3.4.0) 以及以些修正和本地化的改進。

針對所有店家的新歡迎頁面

新的歡迎頁面是在 WooCommerce 4.3 推出的,當時只有針對新的商店。而在 WooCommerce 4.6 中,所有的店家都可以看到這個畫面。你可以在文件中找到更多的功能說明。

值得注意的修正和改進

1.針對有使用語言重音標記的語言改善國家名稱的排序方式 (#27416)

2.改善使用 Twenty Twenty 佈景主題時的 notice 樣式 (#27387)

3.現在可以在指定商品的稅率時使用包含非 ASCII 的字元 (#27615)

4.移除舊的設定工具 (setup wizard) (#26853)

如果你想知道更多的修正內容,可以參考 changelog

Filters 和 actions

在 WooCommerce 4.6 中新增了幾個 filters 和 actions:

Filters說明
woocommerce_return_to_shop_text可以用來改變在空的購物車頁面中的 “Return to shop” 按鈕的說明文字 (filter)
woocommerce_cart_item_required_stock_is_not_enough可以用來改變在購物車中檢查商品庫存的行為 (filter)
woocommerce_should_send_no_stock_notification可以用來讓開發者針對特定商品來忽略寄送無庫存的信件通知 (filter)
woocommerce_after_order_details可以用來新增額外的資料在 order 內容之後 (action)

資料庫改變

這個版本沒有任何的資料庫改變