将BuddyPress/MediaPress中的「Gallery」重命名为「Videos & Audio」
解决BuddyPress+MediaPress个人资料菜单标题修改问题
问题场景
在BuddyPress环境中使用MediaPress插件时,个人资料页的媒体菜单默认标题为「Gallery」,需要将其修改为「Videos & Audio」,同时保留原有的数量统计标签。
原代码问题分析
你尝试的代码存在以下几个问题:
- 使用了中文引号(
‘’),会导致PHP语法解析错误 - 错误嵌套翻译函数
__(),$name已经是经过__()处理的字符串,无需再次包裹 - 导航项slug指定错误,MediaPress默认的个人资料相册菜单slug是
gallery,而非videos & audio - 钩子选择不合适,
bp_actions执行时机较晚,建议使用bp_setup_nav来修改导航
修正后的代码
function rename_mediapress_profile_tab() { // 生成带数量统计的菜单标题,正确使用翻译函数 $name = sprintf( __( 'Videos & Audio <span>%d</span>', 'mediapress' ), mpp_get_total_gallery_for_user() ); // 编辑指定slug的导航项,MediaPress默认相册菜单slug为'gallery' buddypress()->members->nav->edit_nav( array( 'name' => $name ), 'gallery' ); } // 使用bp_setup_nav钩子,确保在导航初始化阶段修改 add_action( 'bp_setup_nav', 'rename_mediapress_profile_tab', 11 );
关键修改说明
- 替换引号:将所有中文引号替换为英文半角引号,避免PHP语法错误
- 翻译函数修正:直接通过
sprintf组合翻译文本和统计数字,无需嵌套__() - 正确指定slug:使用MediaPress默认的
gallery作为导航项标识,确保能定位到目标菜单 - 调整钩子优先级:使用
bp_setup_nav钩子并设置优先级11(高于默认的10),确保在导航初始化完成后立即修改
内容的提问来源于stack exchange,提问作者Garden Darts
相关产品推荐
相关产品推荐

