如何在后台隐藏WordPress活动和动态版块儿

[复制链接]  63查看
易西 发表于 2026-5-31 21:56:20 | 显示全部楼层 |阅读模式
如何在后台隐藏WordPress活动和动态版块儿$ v9 w" m  Z7 k6 S/ X+ G3 B) F) ^
 楼主| 易西 发表于 2026-5-31 21:56:43 | 显示全部楼层
在WordPress后台隐藏“活动”和“动态”(通常指“WordPress新闻”或“概览”中的动态模块)可以通过代码实现。这不仅能净化后台界面,还能稍微提升加载速度(因为不再请求外部RSS源)。- D2 J0 Q; W! P  g2 g
% z. @" g: R( g0 ]" K
以下是几种方法,推荐‌方法一‌,因为它最干净且无需插件。
$ m- \3 g# l: u) H9 l6 t9 g) @" u! f
方法一:使用代码移除(推荐)
; C  ]9 c7 `4 v5 |将以下代码添加到你的主题 functions.php 文件或自定义插件中。这段代码会针对‌非管理员‌用户隐藏这些模块,如果你希望所有用户(包括管理员)都隐藏,可以去掉权限判断。
/ `5 s, N  T1 I$ p3 I
9 S* p( a& l* w( Dphp; b9 B; O7 S6 z: c9 h  r
/**5 g  o* A  S$ J$ A
* 隐藏后台仪表盘中的特定模块
  M. j/ s5 o, E */) R/ l4 b" W" A6 O8 R4 k
add_action('wp_dashboard_setup', 'remove_unnecessary_dashboard_widgets');
/ [- k9 o0 C1 g( n
: s7 o( w: S0 J' w* i& ?/ ?$ hfunction remove_unnecessary_dashboard_widgets() {
" E$ v( a3 s, z& s    global $wp_meta_boxes;
5 [$ ]# t) ^& V; R& Y1 W4 `- a7 B4 l0 ^6 R3 @
    // 1. 隐藏“活动”模块 (Activity)
8 r. ]- o& k) S) N8 d    // 注意:在较新版本WP中,活动模块可能合并到了“概览”中,或者ID为 'dashboard_activity'
+ m+ A% M+ z3 C; y( B/ H    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_activity']);6 M$ s5 s* g6 R7 p9 t" r& I+ _
    , z/ R" m3 g4 h& {
    // 2. 隐藏“WordPress新闻”模块 (WordPress News / Dynamic)
8 p3 F9 D9 F+ d! t! C% s    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
2 h5 b5 u0 I+ p) B; B4 n   
2 L* ~: C3 X" q  Q    // 3. (可选) 隐藏“概览”中的快速草稿等,只保留核心状态
* E( k% G+ r; L$ O# x  g1 k- _    // unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
# T) ?  N8 c# K: l    / }+ }, ~' y# m* \9 ]4 a5 H5 Z3 x
    // 4. (可选) 隐藏“站点健康状态”
3 k; v- J; x% q; h' b    // unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_site_health']);
! `3 e: s# |! u1 R& D* ~}2 M& k+ ~% f. e) r$ }
方法二:仅对非管理员隐藏(更人性化)
+ y& k2 j' L, k( r如果你希望管理员仍然能看到这些信息以便监控网站状态,但普通作者/编辑看不到,可以使用以下代码:
: t5 B7 [8 M2 |' @( q" c0 a; q) {' b
6 E) J! ]+ @) z6 n- wphp
' F2 B; ]# ~' d( U% S; Y0 }add_action('wp_dashboard_setup', 'remove_dashboard_widgets_for_non_admins');  |" |- A% r' L" O! F: ?% z
9 M0 A9 d6 b4 {7 ~3 q* ]' J
function remove_dashboard_widgets_for_non_admins() {
, ], B1 i2 m+ V  o( f0 R    // 如果是管理员,则不执行隐藏操作
5 Q) {" ~# m! P9 f% j    if (current_user_can('administrator')) {
+ s& B' d2 K% N- Y        return;
# s. s5 C0 l* ?& H6 c1 U  g) K, B    }
7 R$ A- ]' U* M
4 W7 j+ t* L% [% W  ~- i: I    global $wp_meta_boxes;
8 d6 }1 h& y* n3 e! m( Z$ j   
! j" Y) h& ^* d5 J( |) s3 Y    // 隐藏活动* h4 g0 F( a* U& d
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_activity']);) s; s4 m' f6 O  T# R
    2 `3 g$ z; w7 w. c) z3 G  P$ B
    // 隐藏WordPress新闻/动态1 R& K1 x- z5 S, z) c
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
& f5 \) U" O% @9 a% f4 r    " R4 b; k! g2 ~! a& F
    // 隐藏“快速草稿”
, t/ {$ A- X, E, x- \0 M$ z' {    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);& ^# I* n5 A% l( h; H, `3 }* h8 O
    1 R7 q7 ]  y8 }
    // 隐藏“引入链接”
- n" d8 R! v1 p, v3 \2 e2 n) p& s    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);1 p0 b: v: e/ G" w6 o! E
}) v4 ?4 V8 R. w* Q
方法三:使用CSS隐藏(简单粗暴,但不推荐)
3 q9 n* w( j" r. V6 Z- i如果你不想修改PHP文件,可以通过后台的“自定义CSS”或插件注入CSS来隐藏。但这只是视觉隐藏,后台仍然会加载数据。
! t5 z& h9 }; B, l6 i9 M, e! e* G. Y) A6 g+ y5 S
css
4 K* b$ S/ {( R/* 隐藏活动模块 */
4 k7 W$ X& Z5 S( G, N4 X7 x5 p$ d# E4 M#dashboard_activity {5 ?$ r$ k- h( G5 ]) c, X; p
    display: none !important;5 p, A3 i/ Z0 O1 H, P
}
! J# z* }; d1 k, n8 B
3 m- S0 G6 X% ^. U' Q/ K; c) G  z/* 隐藏WordPress新闻模块 */2 Z/ ]  y' k/ S% [: K  K
#dashboard_primary {8 U$ P/ k% F  d
    display: none !important;# `2 J( B, S' G" U6 e
}0 g9 Q( _/ k7 A# b0 Y
常见模块ID对照表
8 E5 B( B/ F3 N" h3 }. u6 r0 ?% `如果你想隐藏其他模块,可以参考以下ID:
) V+ j" [" z  l. S( V9 Z3 F* V& {8 ^7 N: M8 E
表格7 E- ~; a- ]+ d% ^% I# E2 s, u
模块名称        模块ID (用于 unset)        位置
' a* y+ U8 L; N+ ?: N+ \5 W3 G. G' r‌活动 (Activity)‌        dashboard_activity        normal/core
6 h( |7 g6 C* a! J4 K‌WordPress新闻 (News)‌        dashboard_primary        side/core4 x4 Q/ |, w0 c2 d' i
‌概览 (At a Glance)‌        dashboard_right_now        normal/core" P& g7 r* ?5 X0 T/ ~- `0 K1 Q  l
‌快速草稿 (Quick Draft)‌        dashboard_quick_press        side/core
, M, ?7 J8 N) a  V) D( C‌站点健康 (Site Health)‌        dashboard_site_health        normal/core' E: }0 z! q" s" h
‌欢迎面板 (Welcome)‌        dashboard_welcome_panel        (特殊处理)
; W: [1 N2 _) U' m补充:如何彻底禁用“WordPress新闻”的外部请求?
: U, m( k$ I# c$ r除了隐藏模块,WordPress默认还会在后台尝试连接 wordpress.org 获取新闻。如果你希望彻底禁止这个外部请求以提升后台速度,可以在 wp-config.php 中添加:
" x- }8 m! E# i: A1 V- X
" F: X' F! n& g6 U8 j: jphp
: X/ m* @8 c' b# }8 l- [6 Rdefine('WP_DISABLE_NEWS_WIDGET', true);
! a) B7 u2 ]* ^$ l+ B* Y2 m(注:此常量在某些旧版本WP中可能无效,主要依靠上面的 unset 方法)
$ m7 m4 _9 E5 K3 u$ ?" W* S
: Q  o/ m( @: U/ j' h  X建议8 E* U' w& y8 U. j$ x
对于你的‌溯源插件‌场景,建议使用‌方法二‌。因为普通用户(商家/作者)不需要关心WordPress官方的动态和活动,他们只需要关注自己的‌溯源服务状态‌(你之前添加的面板)。这样可以让他们的后台更专注、更清爽。
( ?9 n5 O/ y4 x6 b' H
4 f& d% q$ L7 b  Y0 ^" v9 _参考
[发帖际遇]: 易西 发帖时在路边捡到 5 金钱,偷偷放进了口袋. 幸运榜 / 衰神榜
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

邮箱|首页|小黑屋|吾侪 ( 蜀ICP备2020029307号-4 )

GMT+8, 2026-8-28 15:19 , Processed in 0.057160 second(s), 23 queries .

Powered by Discuz! X3.5

Copyright © , 吾侪网

快速回复 返回顶部 返回列表