wordpress 的滑鼠右鍵禁用設計
你可以在 WordPress 的 functions.php 檔案中加入 JavaScript 程式碼,來限制特定角色(如「商店經理」以下的使用者)無法使用滑鼠右鍵(右鍵選單)。這個功能可用於防止內容被複製或做為基本的保護手段。
步驟概覽:
檢查使用者角色。
如果角色低於「商店經理(shop_manager)」:使用
wp_footer
加入 JavaScript 禁止右鍵。
說明:
wp_get_current_user()
:取得目前登入使用者資訊。in_array($role, $user->roles)
:判斷使用者是否擁有某角色。document.addEventListener('contextmenu', ...)
:攔截滑鼠右鍵事件。
注意事項:
這只能防止一般使用者使用右鍵,但對於有開發技能的使用者無法完全防護(如 F12 開發者工具、直接檢查 HTML)。
若需保護圖片或內容,應搭配後端防護(如圖片遮罩、Content-Security-Policy)一起使用。
function disable_right_click_for_lower_roles() {
if ( !is_user_logged_in() ) {
$disable = true;
} else {
$user = wp_get_current_user();
$allowed_roles = ['administrator', 'shop_manager'];
$disable = true;
foreach ( $allowed_roles as $role ) {
if ( in_array( $role, $user->roles ) ) {
$disable = false;
break;
}
}
}
if ( $disable ) {
add_action( 'wp_footer', function() {
?>
<?php
});
}
}
add_action( 'wp', 'disable_right_click_for_lower_roles' );