最近站点 BuddyPress 升级到了最新的1.9版本,发现凡是文章里边插入的邮件地址,因为里边带了@符号,一律被系统自动解释成了 @mention 功能,这个足够不人性化,来回尝试了多种方法想不修改 BuddyPress 核心文件,直接通过加载一些filter之类的代码到bp-custom.php里边,最终没有合适的方案,只能直接修改核心文件,具体方法如下:

找到 /wp-content/plugins/buddypress/bp-activity 里边的bp-activity-functions.php,打开找到第63行,有这段代码的地方 function bp_activity_find_mentions( $content ) { 这个函数就是用来查找所有文章内容里边凡是带上@符号的文字,都会自动转换为 @mention 功能链接,于是思路来了,这个函数里边给它添加一个条件判断,让它仅仅在 BuddyPress 页面才执行此操作,不就解决问题了,于是在此函数里边加入以下判断语句:

// Added by Eastern Design Studio
if ( !bp_is_blog_page() ) {
此处放置该函数的原有代码!
}

保存上传以后,顺利测试通过,但是这个方法最大的缺点就是修改了 BuddyPress 的核心文件,一旦下次升级了 BuddyPress 插件以后,此Hack就自动失效了,但目前只能用这个方法来临时适用以下,持续跟踪其他方法中。