xprofile 字段更新后的 Buddypress 钩子
Buddypress hook after xprofile field is updated
我想在用户 changed/edit xProfile 字段(宽度 ID 1542)时更新自定义 user_meta 字段。
这个挂钩不起作用
function action_xprofile_data_after_save( $x )
{
print_r($x);
// if($field == 1542)
// {
// update_user_meta($user_id, 'field_1542', 'changed');
// }
}
add_action( 'xprofile_data_after_save', 'action_xprofile_data_after_save', 10, 1 );
我相信这种方法适用于在前端和后端进行的编辑。它提供了 $user_id
:
function peter_xprofile_data_after_save( $data ) {
if ( $data->field_id == 1542 ) {
update_user_meta( $data->user_id, 'field_1542', 'changed');
}
}
add_action( 'xprofile_data_after_save', 'peter_xprofile_data_after_save' );
以上内容在进行编辑时工作正常,但当您 "clean / remove" 来自字段的文本时则不起作用。你应该使用这样的东西:
function peter_xprofile_data_after_save( $data ) {
$field_content = bp_get_member_profile_data('field=field_name'); // enter your field name here
if($field_content == '') {
update_user_meta( $data->user_id, 'field_1542', '' );
}
if ( $data->field_id == 1542 ) {
update_user_meta( $data->user_id, 'field_1542', $data->value);
}
}
add_action( 'xprofile_data_after_save', 'peter_xprofile_data_after_save' );
我想在用户 changed/edit xProfile 字段(宽度 ID 1542)时更新自定义 user_meta 字段。
这个挂钩不起作用
function action_xprofile_data_after_save( $x )
{
print_r($x);
// if($field == 1542)
// {
// update_user_meta($user_id, 'field_1542', 'changed');
// }
}
add_action( 'xprofile_data_after_save', 'action_xprofile_data_after_save', 10, 1 );
我相信这种方法适用于在前端和后端进行的编辑。它提供了 $user_id
:
function peter_xprofile_data_after_save( $data ) {
if ( $data->field_id == 1542 ) {
update_user_meta( $data->user_id, 'field_1542', 'changed');
}
}
add_action( 'xprofile_data_after_save', 'peter_xprofile_data_after_save' );
以上内容在进行编辑时工作正常,但当您 "clean / remove" 来自字段的文本时则不起作用。你应该使用这样的东西:
function peter_xprofile_data_after_save( $data ) {
$field_content = bp_get_member_profile_data('field=field_name'); // enter your field name here
if($field_content == '') {
update_user_meta( $data->user_id, 'field_1542', '' );
}
if ( $data->field_id == 1542 ) {
update_user_meta( $data->user_id, 'field_1542', $data->value);
}
}
add_action( 'xprofile_data_after_save', 'peter_xprofile_data_after_save' );