更新xprofile字段后的Buddypress钩子

时间:2016-04-12 09:27:56

标签: wordpress hook buddypress

我想在用户更改/编辑xProfile字段时更新自定义user_meta字段(ID 1542的宽度)。

这确实不起作用

    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 ); 

2 个答案:

答案 0 :(得分: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' );

答案 1 :(得分:0)

以上内容在进行编辑的情况下工作正常,但是在您“清除/删除”字段中的文本时不起作用。您应该使用这样的内容:

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' );