わかりましたので、私はこれに何時間も苦労しており、機能させることができませんが、単純でエレガントな解決策があるように感じます. 私がやりたいことは、メンバーが情報を編集しているときに、カスタム 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' );
おそらく追加のプラグインを使用せずに、これを行う正しい方法を手伝ってください どうもありがとう