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