这个问题的原因主要是开发者残留的 bug,也就是在实际的代码里是直接调用的 LearnDash 的中文翻译,但翻译又没办法 100% 调用成功,主要还是在中文的语言环境里才会出现这种情况,编码兼容的问题。
解决后可以正常显示如上图。
下面说下代码和位置:
找到文件 /wp-content/plugins/buddyboss-platform/bp-integrations/learndash/core/Core.php
搜索 Add Course tab in profile menu
看到下面这段,大概在 117 行
/**
* Add Course tab in profile menu
*
* @since BuddyBoss 1.2.0
*/
public function setup_nav() {
$this->course_name = \LearnDash_Custom_Label::get_label( 'courses' );
$this->my_courses_name = sprintf( __( 'My %s', 'buddyboss' ), $this->course_name );
$this->create_courses_name = sprintf( __( 'Create a %s', 'buddyboss' ), $this->course_name );
手动修改为
/**
* Add Course tab in profile menu
*
* @since BuddyBoss 1.2.0
*/
public function setup_nav() {
$this->course_name = sprintf( __( ' 课程', 'buddyboss' ) );
$this->my_courses_name = sprintf( __( 'My %s', 'buddyboss' ), $this->course_name );
$this->create_courses_name = sprintf( __( 'Create a %s', 'buddyboss' ), $this->course_name );
$this->create_courses_slug = apply_filters( 'bp_learndash_profile_create_courses_slug', 'create-courses' );
之后保存即可。
客户要的临时解决办法,没其他方式,每次更新版本都需要这里修改。