好的,所以我现在已经为此苦苦挣扎了几个小时并且无法让它工作,但感觉就像有一个简单而优雅的解决方案。我要做的就是在成员编辑其信息时验证自定义 xprofile 电子邮件字段的值。试图模仿 xprofile_screen_edit_profile() 如何在保存之前返回错误,我尝试将 add_action/add_filter/do_action/apply_filter 添加到 xprofile_updated_profile、xprofile_screen_edit_profile、bp_actions、bp_screens、xprofile_data_value_before_save 等等,但我每次都失败可能是因为我不知道如何正确使用它们。我想做的很简单:
function my_validate_email () {
if (!empty($field_id->value) && !is_email($field_id->value))
bp_core_add_message( __( 'That email address is invalid. Check the formatting and try again.', 'buddypress' ), 'error' );
//and redirect back to editing, same like for the required fields
}
add_action( 'bp_hook_here', 'my_validate_email' );
请帮助以正确的方式执行此操作,可能不使用其他插件非常感谢