📜學習重點:
註冊會員
- WordPress會員系統
- 建立「註冊 / 登入 / 個人頁」
WordPress會員系統
要做一個課程平台 or 接單系統會需要:
- 使用者登入
- 不同權限(一般會員 / VIP)
- 個人資料管理
建立註冊頁
- 修改 – UM表單
- UM – 設定 – 建立頁面
- 建立使用者、登入、註冊…

- 外觀 – 頁首 – 帳號

會員權限
UM 後台設定會員角色
Role Name:角色名稱(如 VIP、Premium) Default Role Capabilities:
- Profile Visibility(誰可以看個人頁面)
- Content Access(限制文章或頁面)
- Profile Editing(可否編輯自己的資料)
Profile Form:綁定會員資料表單 Default Role(選擇是否為新註冊會員的預設角色)
控制文章 / 分類權限
- 在文章編輯頁右側 Ultimate Member → Restrict Content:
- 選單控制
- 誰可以看到文章:
- Everyone(公開)
- Logged in users(登入會員)
- Specific roles(指定角色,例如 VIP)
- 設定文章 / 課程限制
- 編輯文章 – Ultimate Member 限制區塊
- 設定:只有 VIP 可看
- 限制分類
🧩 程式碼(可用 Code Snippets)
add_action('pre_get_posts', function($query) {
if (is_admin() || !$query->is_main_query()) return;
// 只針對分類頁
if ($query->is_category('excel')) {
// 未登入 or 非 VIP
if (!is_user_logged_in() || !in_array('vip', wp_get_current_user()->roles)) {
// 讓查詢沒有資料
$query->set('post__in', array(0));
}
}
});
會員升級
- 手動升級
- 購買 → 自動升級 VIP
建立角色
- 建立 VIP 角色
- Ultimate Member → 使用者角色
- 新增角色:
VIP
購買 → 自動升級 VIP
- 建立商品(WooCommerce)
- 商品名稱:VIP會員一年
- 類型:虛擬商品建立 VIP 角色

- 安裝擴充功能(付費)
- 程式碼片段
add_action('woocommerce_order_status_processing', function($order_id) {
$order = wc_get_order($order_id);
$user_id = $order->get_user_id();
if (!$user_id) return;
$target_product_id = 123; // 👉 改成你的 VIP 商品 ID
foreach ($order->get_items() as $item) {
$product_id = $item->get_product_id();
if ($product_id == $target_product_id) {
$user = new WP_User($user_id);
// 設定 UM VIP 角色
$user->add_role('um_vip');
update_user_meta($user_id, 'um_role', 'um_vip');
}
}
});
