首頁 >後端開發 >php教程 >如何完全停用 WordPress 管理員通知

如何完全停用 WordPress 管理員通知

Patricia Arquette
Patricia Arquette原創
2025-01-07 18:13:40559瀏覽

您是否厭倦了看到無休無止的通知充斥著您的 WordPress 儀表板?來自外掛程式和主題的那些煩人的管理通知可能會分散注意力,有時甚至令人不知所措。今天,我將向您展示一個實用的解決方案,在遵循最佳實踐的同時永久刪除所有 WordPress 管理員通知。

WordPress 管理員通知的問題

WordPress 管理員通知有一個重要目的 - 它們讓我們了解更新、警告和重要訊息。但是,當您管理多個網站或使用多個外掛程式時,這些通知可能很快就會失控。他們可以:

  • 分散您對重要任務的注意力

  • 讓你更難專注於重要的儀表板元素

  • 建立一個雜亂無章的管理介面

  • 顯著減慢您的工作流程

最糟糕的部分?一些外掛程式繞過了 WordPress 的標準通知系統,使得有效管理它們變得具有挑戰性。

解決方案:停用 WordPress 管理員通知

我開發了一個簡單但強大的程式碼片段,可以完全刪除 WordPress 儀表板中的所有管理通知。此解決方案與其他解決方案不同,因為它:

  • 刪除所有類型的管理通知

  • 防止外掛程式繞過刪除

  • 使用多種方法確保徹底清除

  • 遵循 WordPress 編碼標準

  • 適用於最新的 WordPress 版本

最終程式碼

<?php
/**
 * Disable Admin Notices WordPress
 * Description: Completely removes all admin notices from the WordPress dashboard,
 * including core WordPress notices and those added by plugins and themes.
 * @author Faisal Ahammad <me@faisalahammad.com>
 */

/**
 * Remove all notice actions
 */
function disable_all_admin_notices() {
    remove_all_actions('admin_notices');
    remove_all_actions('all_admin_notices');
    remove_all_actions('user_admin_notices');
    remove_all_actions('network_admin_notices');
}
add_action('admin_init', 'disable_all_admin_notices', 1);

/**
 * Add CSS to hide notice elements
 */
function hide_admin_notices_css() {
    ?>
    <style>
        .notice, 
        .notice-error, 
        .notice-warning, 
        .notice-success, 
        .notice-info, 
        .updated, 
        .error, 
        .update-nag {
            display: none !important;
        }
    </style>
    <?php
}
add_action('admin_head', 'hide_admin_notices_css', 1);

/**
 * Disable notice output
 */
function return_false() {
    return false;
}
add_action('admin_notices', 'return_false', 1);
add_action('all_admin_notices', 'return_false', 1);
add_action('user_admin_notices', 'return_false', 1);
add_action('network_admin_notices', 'return_false', 1);

/**
 * Remove update nags
 */
function remove_core_update_notices() {
    remove_action('admin_notices', 'update_nag', 3);
    remove_action('admin_notices', 'maintenance_nag', 10);
}
add_action('admin_init', 'remove_core_update_notices', 1);

程式碼解釋

讓我們分解我們解決方案的關鍵組件:

1.通知動作刪除

function disable_all_admin_notices() {
    remove_all_actions('admin_notices');
    remove_all_actions('all_admin_notices');
    remove_all_actions('user_admin_notices');
    remove_all_actions('network_admin_notices');
}

此功能會刪除與管理通知相關的所有操作掛鉤,從而防止它們首先顯示。

2.基於CSS的通知隱藏

程式碼片段包含 CSS 規則,用於隱藏任何可能漏掉的通知:

function hide_admin_notices_css() {
    ?>
    <style>
        .notice, 
        .notice-error, 
        .notice-warning, 
        .notice-success, 
        .notice-info, 
        .updated, 
        .error, 
        .update-nag {
            display: none !important;
        }
    </style>
    <?php
}

3.更新Nag去除

function remove_core_update_notices() {
    remove_action('admin_notices', 'update_nag', 3);
    remove_action('admin_notices', 'maintenance_nag', 10);
}

這專門針對並刪除 WordPress 核心更新通知。

如何實施解決方案

您有多種選擇來實現此程式碼:

方法一:使用程式碼片段外掛(建議)

  1. 安裝並啟動程式碼片段外掛程式

  2. 導覽至片段 → 新增內容

  3. 複製完整程式碼

  4. 啟用「僅在管理區域運作

  5. 儲存並啟動

Code Snippets

方法2:透過functions.php

您可以將此程式碼新增至主題的functions.php 檔案中,但請記住,如果您變更主題,它將停止運作。

性能影響

好消息是,該解決方案對您網站效能的影響很小。它僅在管理區域中運行,並使用有效的掛鉤和方法來刪除通知。 CSS 規則也是輕量級的,僅在儀表板中載入。

常見問題解答

這也會刪除重要的安全通知嗎?

是的,這將刪除所有通知,包括安全通知。如果您需要保留安全通知,則需要修改程式碼以排除特定通知類型。

刪除所有管理員通知是否安全?

雖然通常是安全的,但您應該確保有其他方法來及時了解 WordPress 網站上的重要變更和更新。

這會影響我網站的前端嗎?

不,此程式碼僅影響管理儀表板。您網站的前端保持完全不變。

結論

此解決方案透過刪除所有管理員通知,提供了一種乾淨、有效的方式來整理您的 WordPress 儀表板。雖然隨時了解網站狀態很重要,但擁有一個乾淨、無幹擾的管理介面可以顯著提高您的工作流程效率。

如果您實施此解決方案,請記住透過其他方式定期檢查您網站的更新和維護需求,因為您將不再收到標準的 WordPress 通知。

之前在我的部落格上發布的貼文:如何完全停用 WordPress 管理員通知

以上是如何完全停用 WordPress 管理員通知的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn