如何防止作者在 WordPress 中刪除文章
管理擁有多位作者的 WordPress 網站時,確保重要內容不被意外刪除是一項挑戰。無論你運行的是博客、新聞網站還是任何多作者平台,防止文章意外或故意刪除都是至關重要的。然而,預設情況下,WordPress 允許作者刪除他們自己的文章,即使這些文章已經發表。
在本文中,我們將向你展示如何輕鬆地防止作者在 WordPress 中刪除他們自己的文章。這將使你能夠提高網站的安全性並保持對內容的完全控制。
為什麼要防止作者在 WordPress 中刪除文章?
WordPress 擁有一個強大的用戶角色管理系統。每個註冊的用戶都被分配了一個具有不同許可權的用戶角色。具有 ‘作者’ 角色的用戶可以在網站上撰寫並發表文章。這個角色通常用於多作者 WordPress 博客。作者還可以刪除他們自己的文章,包括那些已經發表的。
然而,作為網站所有者,你可能希望防止作者這樣做,以防止文章被意外刪除或控制發佈和刪除的內容。最簡單的方法是修改作者用戶角色並更改其在 WordPress 中的許可權。讓我們看看如何輕鬆地防止作者刪除自己的文章。
方法 1:使用插件防止作者刪除文章
如果你正在尋找簡單的方法來防止作者刪除文章,那麼這種方法適合你。首先,你需要安裝並啟用 PublishPress Capabilities 插件。有關更多詳細信息,請參閱我們的逐步指南:如何安裝 WordPress 插件。
啟用後,從 WordPress 管理側欄進入 Capabilities » Capabilities 頁面。在那裡,從螢幕左上角的角色能力下拉選單中選擇 ‘作者’ 選項。
接著,切換到螢幕左欄的 ‘刪除’ 標籤。之後,只需取消勾選 ‘刪除’ 和 ‘刪除已發表’ 選項。最後,點擊 ‘保存更改’ 按鈕來保存你的設置。
現在,你網站上的作者將無法刪除他們的文章,即使那些已經發表了也不行。
還原許可權
用戶角色的能力是明確定義的。這意味著一旦你從用戶角色中刪除某個能力,它將不會自動恢復,即使你卸載了插件。如果你想恢復作者的刪除許可權,你需要重複該過程並勾選刪除和刪除已發表文章選項。如果你想卸載插件並恢復到 WordPress 的默認能力,你首先需要訪問管理面板中的 Capabilities » Backup 頁面。從這裡切換到 ‘重置角色’ 標籤,然後點擊 ‘重置為 WordPress 默認’ 按鈕。現在,所有修改過的角色定義都將被刪除,你的 WordPress 用戶角色將恢復到其原始能力。
方法 2:使用 WPCode 防止作者刪除文章
如果你想使用自定義代碼來防止作者刪除文章,那麼這種方法適合你。你可以輕鬆地將自定義代碼添加到主題的 functions.php 文件中,但要注意,一個小的錯誤可能會破壞你的网站。
因此,我們建議使用 WPCode 來在你的 WordPress 網站上添加自定義代碼。首先,安裝並啟用 WPCode 插件。啟用後,從 WordPress 管理側欄進入 Code Snippets » + Add Snippet 頁面。點擊 ‘Use Snippet’ 按鈕,選擇 ‘PHP Snippet’ 選項。在 ‘Code Preview’ 框中複製並粘貼以下代碼:
function wpb_change_author_role(){
global $wp_roles;
$wp_roles->remove_cap( 'author', 'delete_posts' );
$wp_roles->remove_cap( 'author', 'delete_published_posts' );
}
add_action('init', 'wpb_change_author_role');
然後,滾動到 ‘Insertion’ 部分,選擇 ‘Auto Insert’ 模式。你的代碼將在激活後自動執行。最後,切換頁面頂部右上角的開關為 ‘Active’,並點擊 ‘Save Snippet’ 按鈕以在你的 WordPress 網站上保存並執行代碼。
使用 WPCode 還原許可權
如果你想再次為作者提供刪除文章的能力,你可以使用 WPCode 來做到這一點。首先,訪問 Code Snippets 頁面並將你創建的代碼片段開關切換為 ‘Inactive’。但僅僅停用該代碼是不夠的,你現在需要在網站上添加新的代碼片段。在 ‘Create Custom Snippet’ 頁面中,輸入代碼片段的名稱,選擇 ‘PHP Snippet’ 作為代碼類型,並複製以下代碼:
function wpb_change_author_role(){
global $wp_roles;
$wp_roles->add_cap( 'author', 'delete_posts' );
$wp_roles->add_cap( 'author', 'delete_published_posts' );
}
add_action('init', 'wpb_change_author_role');
滾動到 ‘Insertion’ 部分,選擇 ‘Auto Insert’ 模式。這段代碼將在激活後自動為作者添加刪除能力。切換頁面頂部右上角的開關為 ‘Active’,並點擊 ‘Save Snippet’ 按鈕。現在,你的作者將能夠刪除他們自己的文章。
額外提示:將作者限制為其自身的文章
除了防止作者刪除文章外,你還可以在 WordPress 中將作者限制為他們自己的文章。這樣,作者將只能編輯、預覽和發布他們自己撰寫的文章。如果你運行一個多作者博客或允許客座文章,這將非常有幫助。你可以使用 PublishPress Permissions 來實現這一點。啟用後,該插件將自動限制作者和編輯者,使他們在 WordPress 管理區域中只能看到自己的文章。
我們希望這篇文章能幫助你了解如何防止作者在 WordPress 中刪除他們自己的文章。你可能還想看看我們的 初學者的終極 WordPress 安全指南 和我們的 最佳 WordPress 主題推薦。