如何在 WordPress 中快速管理用戶媒體上傳

已發表: 2023-04-10

讓我們首先了解它是什麼來開始管理用戶媒體上傳的指南。

隨著 WordPress 成為最受歡迎的網站內容管理系統之一,確保用戶在管理其內容時擁有愉快高效的體驗變得越來越重要。 WordPress 的主要功能之一是它的媒體庫,它允許用戶上傳和存儲圖像、視頻和其他文件以用於他們的內容。

當您有一個多作者網站時,可能很難管理每個作者的媒體提交。 允許作者訪問所有媒體提交可能會導致混淆和錯誤,尤其是當涉及不應對所有用戶可見的敏感信息時。

為了解決這個問題,WordPress 提供了一個選項讓用戶安排媒體上傳。 通過啟用此選項,用戶只能訪問和管理他們自己在媒體庫中上傳的內容,這反過來又會隱藏僅限訂閱者的信息,並防止作者意外刪除其他用戶的內容。

在本教程中,我們將指導您完成啟用有助於在 WordPress 中組織用戶媒體上傳的功能所需的步驟。 啟用後,您的用戶在管理用戶媒體上傳時將獲得順暢無憂的體驗,您網站的內容管理也將更加高效。

為什麼要限製作者訪問用戶媒體上傳?

如果您有一個多作者 WordPress 博客,用戶可能會上傳各種照片。 這會使作者很難找到合適的圖像,或者他們可能會不小心刪除或更改其他人的媒體文件。

這可能會導致各種問題,包括生產力下降、網站管理員和編輯的工作量增加以及編輯工作流程困難。

這種不受限制的訪問可能會帶來隱私風險。 例如,如果您正在開發新產品或新概念,其他作者可能會在您發佈公告之前查看媒體庫中的機密照片。

如果您有 WordPress 會員網站,貢獻者和訂閱者可能會訪問他們不應該訪問的高級媒體文件。 例如,如果您銷售在線課程,貢獻者可以利用他們的媒體庫訪問權限來獲取高級 PDF 和其他課程材料,而無需購買會員資格。

也就是說,讓我們看看如何限制誰可以在您的 WordPress 管理區域中看到媒體上傳。 只需單擊下面的快速鏈接即可轉到您要使用的技術。

方法 1:使用插件組織用戶媒體上傳(快速簡單)

Frontier Limit Access 插件是限制媒體上傳訪問的最簡單方法。

這個免費插件決定一個用戶是否有編輯他人帖子的權限,允許他們編輯其他用戶的帖子。

默認情況下,擁有站點管理員或編輯職位的每個人都具有此訪問權限。 如果您想更改此設置,您可以通過在 WordPress 中添加或刪除用戶角色的功能來實現。

如果用戶沒有此權限,他們將無法在激活此插件後查看 WordPress 媒體庫中其他用戶的文件。 這使您可以在不限制管理員和編輯者訪問的情況下管理用戶上傳的媒體。

此插件可立即運行且無需配置,因此您只需安裝並激活 Frontier Limit Access 插件即可。

方法 2:使用編碼來組織媒體上傳(高級)

另一種選擇是使用代碼來限制對媒體庫中文件的訪問。 此方法需要您在 WordPress 博客或網站中添加一段代碼,因此不適合初學者。 但是,您不需要安裝單獨的插件來組織您的媒體上傳。

通常,可以找到包含將自定義代碼添加到 WordPress 主題的說明的指南。 但是,不鼓勵這樣做,因為代碼中的錯誤和拼寫錯誤可能會導致 WordPress 頻繁出錯,甚至完全毀掉您的網站。

這就是我們建議 WPCode 的原因。

WPCode 是最好的代碼片段插件,有超過 100 萬個 WordPress 網站使用它。 無需編輯 functions.php 文件即可輕鬆向 WordPress 添加自定義代碼。

我們將向此方法添加代碼以檢查用戶是否具有編輯他人帖子的權限。 如果他們沒有此權限,下面的代碼將阻止他們查看 WordPress 媒體庫中其他人的文件。

第一步是安裝並激活免費的 WPCode 插件

激活後,導航至Code Snippets » Add Snippet

managing User Media Uploads with wpcode

將光標懸停在“添加您自己的代碼”上以開始使用。

當它出現時,單擊“使用代碼段”按鈕。

using snippet

首先,給自定義代碼片段一個標題。 這可能是任何有助於識別 WordPress 儀表板中的片段的東西。

然後,在“代碼類型”字段下,選擇“PHP 代碼段”。

restrict media access

將下面一行代碼片段放入代碼預覽區:

add_filter( 'ajax_query_attachments_args', 'user_show_attachments'

);

functionuser_show_attachments( $query) {

$user_id= get_current_user_id();

if( $user_id&& !current_user_can('activate_plugins') && !current_user_can('edit_others_posts

') ) {

$query['author'] = $user_id;

}

return$query;

}

只需向下滾動到“插入”部分。 WPCode 允許您將代碼添加到多個位置,例如在每個帖子之後、僅前端或僅管理員。

因為我們想在整個 WordPress 網站上使用自定義 PHP 代碼,所以如果尚未選擇“自動插入”,請選擇它。 然後,從“位置”下拉菜單中選擇“隨處運行”。

auto insert

之後,導航到屏幕頂部並單擊“非活動”切換按鈕以將其設置為“活動”。

最後,單擊“保存代碼段”以發布 PHP 代碼段。

create custom snippet

用戶現在只能訪問他們發佈到 WordPress 媒體庫的文件。

包起來

通過實施此功能,您可以讓您的用戶更好地控制他們的內容,同時確保媒體庫中的所有內容都井井有條。 通過幾個簡單的步驟,您可以輕鬆地讓您的用戶在 WordPress 中安排他們自己的媒體上傳,同時仍然保持您網站的完整性。