get client details

/**
	 * Basic details of logged in user
	 *
	 * @return array current user data.
	 *
	 */
	public function get_clients_details() {
		return [
			'ip'      => \WC_Geolocation::get_ip_address(),
			'agent'   => wc_get_user_agent(),
			'referer' => wc_get_raw_referer(),
		];

	}

WooCommerce Admin Settings Custom Attributes

To set custom attributes, you could use custom_attributes as array key.

This is an example taken from WooCommerce.

/woocommerce/includes/admin/settings/class-wc-settings-emails.php

You can see now the input field has a new attribute name ‘multiple’ and with the value ‘multiple’

WordPress Poedit 如何排除 text domain

如果你的佈景主題有用到別的程式,其中包含翻譯文字,而你又不希望這個 text domain 出現在你的翻譯檔中,可以在 Poedit 中排除。

使用 Poedit 打開你的 pot 檔,透過上方 [翻譯] -> [屬性] 選單來打開設定介面。點擊 [原始程式碼路徑],在下方有排除的路徑,點擊 + 號來選擇你要排除的檔案或路徑。

如何避免 git pull 產生不必要的 merge commit

之前跟別人協作的時候,使用 git pull 並 commit 後會產生額外的 merge 訊息。

這是因為其實 git pull 這個動作是包含了 git fetch 和 git merge

如果你不希望產生額外的 merge commit,可以透過 rebase 來處理

git pull --rebase origin main

上面的指令,其實結合了 git fetch 和 git rebase,會將我們 local 的 commit 放在遠端 commit 的前面

git fetch
git rebase origin main

參考資料

https://gitbook.tw/chapters/github/pull-from-github

https://coderwall.com/p/jgn6-q/git-pull-is-evil

https://dev.to/mliakos/don-t-git-pull-use-git-pull-rebase-instead-5b8k

VS Code Intelephense 無法辨識 WordPress 函式

PHP Intelephense 是 VS Code 中相當熱門的一個擴充,讓 VS Code 可以更接近 PHPStorm 具有 IDE (Integrated Development Environment) 的功能。

當在開發 WordPress 的時候,可能會遇到 VS Code 無法辨識 WordPress 函式的狀況。

你可以開啟設定,然然找到 Intelephense: Stubs 這個設定,將 WordPress 加入,重新啟動 VS Code 就可以了。