You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何隐藏WordPress后台菜单中第4个无CSS类的<li>元素

如何隐藏WordPress后台Media子菜单中的「Converter for Media」选项

一、CSS方法(视觉隐藏)

错误原因分析

你之前的CSS选择器目标错误:wp-submenu和wp-submenu-wrap是父级<ul>的类,并非<li>的类,导致选择器无法匹配到目标元素。

正确代码

/* 匹配Media子菜单下的第4个li元素 */
.wp-submenu.wp-submenu-wrap li:nth-child(4) {
  display: none !important;
}

如果担心样式优先级被WordPress默认样式覆盖,可以进一步限定上下文,避免影响其他子菜单:

/* 仅针对Media顶级菜单下的子菜单 */
.menu-top.toplevel_page_upload .wp-submenu-wrap li:nth-child(4) {
  display: none !important;
}

注意:CSS方法仅实现视觉隐藏,若用户知晓对应URL仍可直接访问。

二、PHP方法(从菜单结构移除,更安全)

错误原因分析

  1. 误用函数:remove_menu_page()用于移除顶级菜单,目标是Media下的子菜单,应使用remove_submenu_page()。
  2. 钩子时机错误:admin_init钩子触发过早,菜单尚未完成初始化,需使用admin_menu钩子。
  3. 参数错误:需传入URL中page参数的准确值(即webpc_optimization_page)。

正确代码

add_action( 'admin_menu', 'hide_media_submenu_item' );
function hide_media_submenu_item() {
    // 仅对非管理员用户隐藏(默认管理员用户ID为1)
    if ( get_current_user_id() !== 1 ) {
        // 第一个参数:顶级菜单slug(Media对应的slug是upload.php)
        // 第二个参数:子菜单的page参数值
        remove_submenu_page( 'upload.php', 'webpc_optimization_page' );
    }
}

优势:直接从后台菜单结构中移除,用户无法通过菜单入口访问,配合插件自身权限控制可彻底限制访问。

内容的提问来源于stack exchange,提问作者Meng888

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 22:22:50