Select Page
改進你的WordPress網站:使用JavaScript隱藏不需要的欄位

改進你的WordPress網站:使用JavaScript隱藏不需要的欄位

在WordPress中利用JavaScript隱藏特定欄位是一種有效的方式來改善網站的用戶體驗和介面設計。這需要創建並嵌入自定義的JavaScript腳本到你的WordPress主題中。這個過程涉及幾個關鍵步驟,包括在主題資料夾中創建JavaScript檔案、編寫用於隱藏特定元素的JavaScript代碼、並透過functions.php檔案將這個腳本加入到WordPress網站中。

1.創建JavaScript檔案

在你的主題資料夾(通常位於wp-content/themes/你的主題名稱)中創建一個新的JavaScript檔案。例如,你可以創建一個名為custom-script.js的檔案。

2.編寫JavaScript代碼

custom-script.js檔案中,寫下用於隱藏欄位的JavaScript代碼。例如,如果你想隱藏一個ID為my-field的元素,代碼可能如下:

document.addEventListener('DOMContentLoaded', function () {
    var field = document.getElementById('my-field');
    if (field) {
        field.style.display = 'none';
    }
});

3.將JavaScript檔案加入到WordPress

在你的主題的functions.php檔案中,使用wp_enqueue_script函數將剛剛創建的JavaScript檔案加入到你的網站中。例如:

function add_custom_scripts() {
    wp_enqueue_script('custom-script', get_template_directory_uri() . '/custom-script.js', array('jquery'), null, true);
}
add_action('wp_enqueue_scripts', 'add_custom_scripts');

這段代碼會將你的custom-script.js檔案加入到WordPress,並確保它在網頁加載時被執行。

4.更新並檢查你的網站

更新你的WordPress網站並訪問前台,檢查欄位是否已被隱藏。

5.注意 js 的路徑

如果你使用的是子佈景主題,那需要把 get_template_directory_uri() 更改成 get_stylesheet_directory_uri()

function add_custom_scripts() {
    wp_enqueue_script('custom-script', get_stylesheet_directory_uri() . '/custom-script.js', array('jquery'), null, true);
}
add_action('wp_enqueue_scripts', 'add_custom_scripts');

這個技術對於希望定制其網站外觀和功能的WordPress用戶來說非常有用,特別是對於那些希望隱藏不必要元素以簡化頁面佈局的用戶。雖然這個過程可能需要一些基本的PHP和JavaScript知識,但它為用戶提供了增強和個性化其網站的機會。

值得注意的是,在進行這些更改時,應該小心操作,並在更改主題檔案之前進行備份。此外,如果你使用子主題,應在子主題中進行所有更改,以避免在主題更新時丟失定制的代碼。這種方法不僅提高了網站的專業程度,還有助於保持良好的用戶體驗。

延伸閱讀:

如何定時打開和關閉 GCP VM Nginx WEB 達到省錢目的

如何定時打開和關閉 GCP VM Nginx WEB 達到省錢目的

建立一個會自動開機和關閉虛擬機器的排程

值得注意的事項:

  • 主機時間都是 UTC 時間,設定的時候,要記得處理這邊,例如台灣時區是+8,所以設定時間的時候要-8

1.首先設定一個 Compute Engine 的 「執行個體排程」如圖所示

2.建立一個新的執行個體排程

設定在每天18:00到23:00最忙碌的時候多開一台主機

3.將要執行的 VM 個體加入到此排程中

記得建立好排程後,要把適用這個規則的 VM 個體都加入,GCP 的排程才會去處理 VM 的開關

4.執行排程的權限設定

如果你之前沒做過權限設定,那肯定會遇到權限不足的錯誤訊息,這時候要來到 IAM 與管理 -> 身分與存取權管理,並且先勾選「包含 Google 提供的角色授權」,然後選擇「授予存取權」

然後主體要選擇你自己的 compute-system.iam 指派角色則是選擇 Compute 執行個體管理員(v1),如圖所示

建立 Ubuntu or Debian 的 Shell Script 定時執行開關機

1.建立自動開關設定的 Script

#!/bin/bash

SOURCE_CONF="/path/to/a.conf"
TARGET_CONF="/path/to/nginx/nginx.conf"

# 使用 sudo 執行需要 root 權限的命令
sudo cp "$SOURCE_CONF" "$TARGET_CONF"
sudo nginx -s reload

2.可以使用 crontab 命令來檢查和管理定時任務(cron jobs)

sudo crontab -e

加入執行時間、程式碼等設定

# 分 鐘 小時 日期 月份 星期 命令
0 23 * * * /path/to/update_nginx_conf.sh

這樣就可以利用 root 權限運行 Script

其中:

  • 分鐘:分鐘(0-59)
  • 小時:小時(0-23,採24小時制)
  • 日期:一個月中的某天(1-31)
  • 月份:月份(1-12)
  • 星期:星期幾(0-7,其中0和7都代表星期日)
  • 命令:要執行的命令或腳本的絕對路徑

例如,如果您希望每天凌晨 3 點執行一個名為 script.sh 的腳本,您應該這樣寫:

檢查

檢查 crontab 列表:輸入 crontab -l 來確認您的任務已被添加到 crontab 列表中。

其他方法

at 指令

例如要讓指令碼在明天的 10:00執行,可以執行下面的指令

at 10:00 AM tomorrow /path/to/script.sh

systemd (System and Service Manager)

  1. 創建一個 systemd 定時任務檔案。
  2. 在定時任務檔案中指定要執行的命令或腳本以及執行時間。
  3. 啟用定時任務。

例如:每一分鐘都要執行一次 script.sh

[Unit]
Description=My Script

[Timer]
OnCalendar=*-*-* *:* *

[Service]
ExecStart=/path/to/script.sh

錯誤處理

如果有遇到無法執行權限的話,可以參考下面的文章解決權限問題

結語

這樣設定完成後,GCP自己就會在晚上11點關機、晚上6點開機,而我的腳本則是在晚上11:00 關閉 Nginx 的 upstream,在18:15開啟 upstream server

ChatGPT & GPTs:聊天機器人與AI機器人們(包含隱藏未公開功能)

ChatGPT & GPTs:聊天機器人與AI機器人們(包含隱藏未公開功能)

保姆級的 ChatGPT 克服機器人教學,提供你最新最快最完整的自製客服機器人教學,GPTs前天才發布,經過了兩天測試後,已經找出如何製作自己家的客服機器人的完整方法,分享給大家(PS:GPT最近這幾天留亮超大,常常會有生成錯誤,目前也只能多試幾次)

GPTs

首先要先到 ChatGPT 的 gpts 網頁上看看,現在有甚麼樣的機器人們應用,

https://chat.openai.com/gpts/discovery

上面就有很多官方的應用,例如:

  • DALL-E,官方的文生圖工具
  • Data Analysis,官方的看圖說故事工具,給股票的K線圖,他也可以幫你分析漲跌的機率
  • Game Time,教你玩各種紙牌、遊戲、博弈類的,提供你策略、統計以及分析你的牌面,千萬別在賭場內用這套工具
  • The Negotiator,教你如何談判的機器人
  • 等等等

Create a GPT

當然最重要的是 Create a GPT ,客製化你自己的GPT機器人,他會是對話式的建立你自己的機器人,其中不需要真的去懂一種程式語言,只要給 ChatGPT 許願即可實現

先說說介面,左邊是建立以及設定的視窗,右半部則是目前的效果預覽視窗,隨時可以測試一下目前 GTPs 機器人的回應

Create a GPTs interface

1.定義角色

我這次想要創建一個會幫忙銷售商品的電商用的客服機器人,首先先許願

願望:我要建立一個”可以回答國際上網卡問題的機器人”

You

請用繁體中文對答,我要建立一個"可以回答國際上網卡問題的機器人"ChatGPT

GPT Builder

了解,我們將創建一個擅長回答有關國際上網卡問題的機器人。這個機器人將提供不同國際上網卡的資訊、使用方式、相容性,以及常見問題的解決方法。

關於機器人的名稱,您覺得叫做「網路通全球」怎麼樣?這個名字可以嗎?

ChatGPT 會要求你先為機器人命名,你可以引導他幫你想一個名字或是直接告知他你們公司的品牌名,例如我要用iesim這個名字來做為機器人的名稱,就打入「我想要用 “iesim” 作為機器人的名字」,他會命好機器人的名字並且也用 DALL-3 幫你畫好專屬你品牌機器人的LOGO

如果不滿意他畫的LOGO,或是早就有自己品牌的LOGO,可以直接上傳一個圖檔給他,所有的動作在預覽視窗都會即時的更新

2.定義行為與特性

太好了!接下來,我們將進一步定義 "iesim" 的行為和特性。讓我們從機器人的角色和目標開始討論。"iesim" 將主要用來回答哪些類型的國際上網卡問題?您希望它專注於提供技術支持、價格比較,還是涵蓋更廣泛的資訊,例如購買建議和使用技巧?

現在 "iesim" 已經設定好了。它是一個專門回答國際上網卡問題的專家,提供技術支持和購買建議。"iesim" 會提供清晰、簡潔、並且有用的回答,並且會保持友好和專業的語氣。

您可以在右邊的對話框中試用 "iesim",並且告訴我任何您希望進行的改進。您現在想嘗試嗎?

現在你要把GPT Builder問你的問題回應他,回應她的當下,也就是在定義iesim機器人的類別、特性以及他的行為,像是我可以回應 ChatGPT,告訴她我的機器人主要用來回應使用技巧、技術支持、推薦商品以及價格比較

現在 "iesim" 的設定已更新,以更好地符合您的需求。它專注於提供使用技巧、技術支持、商品推薦,以及進行價格比較,旨在幫助用戶選擇最適合他們需求的國際上網卡。

您現在可以在右側的對話框中試用 "iesim",體驗它的互動並提供任何改進建議。您要開始試用了嗎?

當 ChatGPT 重新定義好機器人後,你就可以嘗試在預覽視窗中,呼叫機器人的名字,例如輸入 iesim ,他就會回應她會的東西

iesim
當然可以。如果您有任何關於國際網路卡的問題,請隨時提問。我可以為您提供關於不同類型的國際網路卡、使用方法、兼容性問題以及常見問題的解決方案等資訊。您需要什麼協助呢?

3.定義風格

接下來你要賦予這個專家機器人是有甚麼樣的個性,讓他更有人性,例如我這邊這個機器人,是專門做客戶服務的,就少點幽默(避免在傷口上面撒鹽),多點專業,但要能平易近人,和用詞簡單明瞭,那我就在 Builder 視窗內要求 “請在回應的時候用繁體中文,用詞簡單明瞭”

請在回應的時候用繁體中文,用詞簡單明瞭

這時候的預覽視窗就可以試試看目前設定上的效果,例如可以問問在台灣如何用esim卡上網?esim可以用在我的iphone上面嗎?

專門解答國際上網卡問題,提供建議、支持和比較

例如我問了我目前為了 iesim 創建的 GPTs 機器人,”esim可以用在我的iphone上面嗎?”,目前的回就已經很完整了

iesim
eSIM(嵌入式SIM卡)確實可以在許多現代iPhone型號上使用。為了確認您的iPhone是否支持eSIM,您需要檢查您的iPhone型號。自iPhone XS、iPhone XS Max和iPhone XR起,大多數新款iPhone都支持eSIM。如果您的iPhone是這些型號之一或更新的型號,那麼您應該能夠使用eSIM。

使用eSIM的步驟通常包括以下幾個方面:

確保您的iPhone已更新到最新版本的iOS。
選擇一家提供eSIM服務的電信運營商。
按照運營商的指示進行eSIM的激活,這通常涉及掃描一個QR碼或手動輸入設置信息。
如果您已經確定您的iPhone支持eSIM並且想要使用國際上網卡,請考慮以下因素來選擇最適合您的服務:

覆蓋範圍:選擇在您旅行目的地有良好覆蓋的運營商。
數據計劃:根據您的數據使用情況選擇合適的數據計劃。
價格:比較不同運營商的價格,找到性價比最高的選項。
激活和使用的簡便性:考慮激活過程的簡便性和是否可以輕鬆更改或取消計劃。
最後,請在購買或激活eSIM服務之前,再次確認您的iPhone型號和iOS版本,以及您選擇的運營商在您的目的地是否有良好的服務覆蓋。

4.告知禁止事項

接下來iesim自家的機器人當然不能為其他人作嫁,當有使用者問到價格以及產品比較時候,一定要回應 iesim 自己的商品,或是有人來亂你家的客服,那要記得別讓他回應色色的問題等,所以在禁止的事項中,我輸入以下資訊

在輸出資料的時候,請遵守以下規定 1.不輸出色情以及暴力的言語 2.不輸出誘導犯罪的言語

5.指令引導(Instuction)

完成以上基本設定後,可以進入 Configure 中,進行進階的設定,你切過去 Configure 中時候,會看到 GPTs 已經幫你設定好了大多數的資訊,你可以先從 Instructions 開始,其中 Role and Goal 可以當作正面表列的提示詞,Constraints 可以當作負面的提示詞,把要限制的條件都放在這後面做說明。

ChatGPT GPTs Instructions

6.快速指令建議(Conversation Starters)

此處定義的是當一個使用者第一次接觸你的 GPTs 的時候,會提供他快速進入情況的建議問題,目前是她幫我自動產生的,我要修改成我們想要的,可以直接在 Conversation Starters 中做修改

從上面的預設的建議,改成下面的建議

1.我不知道如何把 esim 放在我的手機上?
2.我的iphone手機是否支援 esim?
3.有去 日本 的上網卡,要如何選擇?
4.要去韓國和日本5天,有推薦的嗎?

預覽視窗輸出會是下圖

7.資料上傳(Upload)

我們的客服資料很龐大,也很專業,不是可以在三言兩語說明完畢的,你可以整理成文件,用TXT文字檔上傳給 GPTs,他會去學習且調用裡面的資料,再也不用訓練自己的向量或是LORA了,值得一提的還有文字檔中其實可以吃 JSON 格式的,用了 JSON 檔案,iesim GPTs 就可以在回答的時候帶入連結。

8.外部功能(Actions)

Actions 功能比較進階,但一定要讓你們家工程師學一下,這功能可以跟外部的 API 互動,也就是從你們家的 API 提取資訊,或是呼叫你們家的 API 做動作,例如下單,如果沒有工程師,也可以用支援 ChatGPT Zapier 這種自動化流程的工具來去擴增你的 GPTs 與外部網站甚至是你的電腦主機的互動,其他的 RPA 機器人也都是可以的喔。

Actions 的 Sample 中有取得 Get Weather Data 天氣 API

調用 OpenAI 自家的其他服務

Untitled : 客製調用自家的 API 服務

這功能超級實用且驚艷,可以看官方的 YT 發佈會,他連結了自己的 Slack 以及行事曆,可以讓 chatGPT 去幫你設定你的 Google 行事曆。

7.更換 LOGO

可以在 Configure 中,點選你的 LOGO ,會出現 Upload Photo 和 Use DALL-E,可以在這邊上傳自己的LOGO或是重新用 DALL-E 在產生一個 LOGO

使用 JSON 檔案作為你的 Knowledge ,讓你的回應開外掛

這邊要教大家如何使用你現有的網頁,把她製作成 ChatGPTs 的知識庫,有人問的時候,他會按造你網頁的資料標準回答,並且還附上連結,或是你要的呈現效果

1.首先準備一個 JSON 檔案,其中有 Title, Context, Link,檔案如下

{
    "Title":"esim 操作說明",
    "Context":"1) 下載QRCode / 設定eSIM首先,請先確認手機是否連接上4G/5G網路或Wi-Fi。 下載安裝eSIM需在有網路的狀態下才可進行。    
    eSIM可在台灣先進行下載安裝,須注意如在方案可使用的國家地區下載安裝,即可能安裝完成後觸網激活,如在方案國家但還未到預計使用方案的日期,請至使用當日再進行安裝。    
    付款完成後,您會收到一封內含QR Code的Email,掃描QR Code即可將eSIM下載至您的手機,在出國前做好準備。     
    1.下載eSIM方案:「設定」→「行動服務」→「加入行動方案 / 加入eSIM 」→「掃描QRCode」    
    2.設定eSIM數據漫遊:「設定」→「行動服務」→「eSIM (次要、旅遊、商務、作用數據等)」開啟號碼並開啟「數據漫遊」    
    3.切換行動數據:「設定」→「行動服務」→「行動數據」切換設置為eSIM(次要、旅遊、商務、作用數據等)
    注意:
    1. 請確認您掃描了完整的QR Code。一個eSIM QR Code只能用一台裝置掃描下載1次,下載完成綁定後請勿隨意更換或刪除,如造成無法使用eSIM,恕無法更換與退款。
    2. 掃描QR Code動作是將eSIM下載至您的手機,您還需要做些設定來啟用它。
    3. 本產品不包含語音通話、簡訊功能。詳見各產品介紹。
    4. 本產品不支援鎖卡機、電信業者客製機、網路分享器、改裝過的行動裝置、3G手機、翻譯機以及iPhoneXR 以下的機型。
    5. 電信商因應疫情間對網路流量控管嚴格,若因短時間在網路繁忙地區過量使用而導致流量爆增,電信商有權進行管制,會造成短時間降速或斷網,會在一段時間後恢復,此狀況本公司將無法干預。
    6. 各國電信網路品質皆有所不同,網路訊號可能隨所在地點、移動中、地形、建築物遮蔽情形、使用人數及天候等因素影響上網品質,敬請知悉。
    7. eSIM上網流量使用完畢即終止或方案到期終止,且到期尚未使用完畢的漫遊上網流量自動失效,不得要求退費或退回等值現金。
    2)如何關閉Softesim eSIM?
    進入設定  >>  行動服務   >>  關閉此號碼  >>   行動數據會恢復成原本的電信。
    其他設定:修改Softesim 的方案名稱。
    進入設定  >>  行動服務  >>  行動數據:[Softesim eSIM]  >>  行動方案標籤  >> 自訂標籤
    日本、日韓卡、東南亞卡個人熱點APN設定:確認 eSIM 的APN設定。
    適用商品:日本5日無限卡、日本8日無限卡、日本5日1GB、日本7日3GB、日韓5日1GB、日韓7日3GB、東南亞5日2GB、東南亞8日4GB
    進入設定  >>  行動服務  >>  選擇eSIM方案  >>  行動數據選項  >>   APN設定  >>   個人熱點APN
    查看APN頁面最下方"個人熱點"APN欄位是否與其他欄APN相同,如不同,請修正為其他同樣的APN即可。",
    "Link":"https://softesim.com/setting/"
}

2.準備網頁內容

複製網頁標題放到 Title,複製網頁內容放到 Context,複製連結放到 Link 中,例如 https://softesim.com/setting/ 中的網頁資訊,整理後會是上面的文件

3.將 JSON 上傳到 ChatGPT 的 KM 中

4.記得按下 Update (更新)按鈕

5.驗證以及測試KM

輸入文章中的問題 “如何關閉 Softesim eSIM?”

隱藏功能,建立並且驗證你自己的網域

可以進入 ChatGPT 頁面中,點選自己的圖示,在彈出視窗中可以選擇「設定 & Beta」,進去設定中,設定開發者的 profile

在 Builder profile 中,可以去驗證你的 Website(網站) 的 domain(網域)

在 Add a new domain 中,把你擁有的網域填進去,請注意,這個網域是你可以控制 DNS server 的,等等會需要去驗證你的網域所有權

提交網域後,會取得一個驗證碼,要把它複製起來,等等到你的 DNS 主機中,把值填進去

這裡以我的 DNS SERVER (CloudFlare) 做示範,新建一個 TXT 紀錄,名稱用 @ ,內容則是把剛剛取得的值填進去

回到原來的 ChatGPT 頁面上,按下檢查,即可通過驗證

使用 Actions 釋放 ChatGPT 的超(鈔)能力

1.首先安裝 ChatGPT 的 Plugins : Zapier

到 Plugin store 中

搜尋 Zapier

點選 Allow 授權 OpenAI 存取你的 Zapier ,在這一步驟前,你要先有註冊過 Zapier 才行喔

下面要新建立一個 action 來讓 ChatGPT 按造你的需求做事情,我打算讓客戶說出自己的需要,例如要去那個國家,待上多少天,我們可以幫他建立訂單

我這邊示範,如果使用者有需求,我們就幫他按照需求建立一筆訂單

要在你的woocommerce網站建立一個帳號,授權給 Zapier 可以建立一筆訂單

2.導入 API JSON

請參考 Zapier 文件 ,將https://actions.zapier.com/gpt/api/v1/dynamic/openapi.json?tools=meta 填入到 ChatGPT 的 Actions 中

點擊 Import Url ,並且填入 https://actions.zapier.com/gpt/api/v1/dynamic/openapi.json?tools=meta

會取得 Zapier 的 API 取用範例

3.接下來去設定 Instructions 讓他符合 Zapier 的 tirger

### Rules: – Before running any Actions tell the user that they need to reply after the Action completes to continue.

### Instructions for Zapier Custom Action:

Step 1. Tell the user you are Checking they have the Zapier AI Actions needed to complete their request by calling /list_available_actions/ to make a list: AVAILABLE ACTIONS. Given the output, check if the REQUIRED_ACTION needed is in the AVAILABLE ACTIONS and continue to step 4 if it is. If not, continue to step 2.

Step 2. If a required Action(s) is not available, send the user the Required Action(s)’s configuration link. Tell them to let you know when they’ve enabled the Zapier AI Action.

Step 3. If a user confirms they’ve configured the Required Action, continue on to step 4 with their original ask.

Step 4. Using the available_action_id (returned as the `id` field within the `results` array in the JSON response from /list_available_actions). Fill in the strings needed for the run_action operation. Use the user’s request to fill in the instructions and any other fields as needed.

REQUIRED_ACTIONS:

– Action: Google Calendar Find Event Confirmation Link: https://actions.zapier.com/gpt/start?setup_action=google%20calendar%20find%20event&setup_params=set%20have%20AI%20guess%20for%20Start%20and%20End%20time

– Action: Slack Send Direct Message Confirmation Link: https://actions.zapier.com/gpt/start?setup_action=Slack%20Send%20Direct%20Message

只要把上面的 Action: 後面的內容改成你要的文字就可以了,例如

– Action : 我要買

4.觸發 Actions

未來你只要觸發 「我要買」 這個關鍵字,就會呼叫你所定義的 Azpier Actions

5.待續….會在寫一個自定義的 Actions

iesim GPTs

來試試看做好的機器人吧!!

https://chat.openai.com/g/g-hplXbLoF4-iesim

延伸閱讀

Padlet 最適合師生的互動白板

Padlet 最適合師生的互動白板

Padlet是一個非常適合於教育環境的互動白板工具,它提供了多樣的功能來促進師生之間的交流和合作。以下是關於Padlet在教學中的應用和優勢的詳細介紹。

互動和合作

  1. 共同創作Padlet允許多個用戶同時在一個白板上工作,促進學生之間的合作和團隊精神。
  2. 即時反饋:教師可以即時在學生的貼文上回覆,提供指導和反饋。

多元化的應用

  1. 作業和項目:學生可以使用Padlet提交作業,展示他們的項目或創意。
  2. 討論板:作為一個討論平台,學生可以發表意見,進行問答和討論。
  3. 資源分享:教師和學生可以在Padlet上分享教學資源,如文件、圖片和視頻。

使用便捷性

  1. 易於使用:Padlet的用戶界面直觀易懂,學生和教師都可以輕鬆上手。
  2. 多平台訪問:Padlet支持跨多個平台使用,包括電腦、平板和手機,方便隨時隨地訪問。

創意和表達

  1. 多種佈局:Padlet提供多種佈局選項,如時間軸、地圖、看板等,滿足不同的教學需求。
  2. 個性化設計:用戶可以自訂背景和主題,創造個性化的學習空間。

安全性和隱私

  1. 隱私控制:教師可以控制誰可以看到和參與白板,保護學生的隱私和作品。
  2. 資料安全:Padlet承諾保護用戶資料的安全,符合教育機構的隱私和安全要求。

總結

Padlet作為一個多功能的互動白板工具,其易用性、多元化的功能和優秀的互動性使其成為教育領域中極佳的教學輔助工具。無論是促進學生間的合作,還是增強師生間的互動,Padlet都提供了一個有效的平台。其對於個性化教學和創意表達的支持,以及對於安全和隱私的重視,更是使其在教育界中受到廣泛的好評。

延伸閱讀