微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

更新 Buddypress 用户的 xprofile 输入

如何解决更新 Buddypress 用户的 xprofile 输入

我想更新用户插入 3 个特定 xprofile 字段的内容,并使用 sanitize_key(强制字母小写,删除除“-”和“_”之外的特殊字符)将其存储到数据库中。当我回显它们时,这些值会暂时改变我想要的方式,但不要存储在数据库中。

非常感谢您的帮助!这是我目前所拥有的

在我的functions.PHP中:

function expertise_tag_functions_before_save() {
  global $bp;
    foreach ($_REQUEST as $field => $value) {
        if ($field == ‘field_24’ || $field == ‘field_26’ || $field == ‘field_27’) {
            $value = sanitize_key( $value );
            $field_label = str_replace(‘field_’,”,$field);
            xprofile_set_field_data($field_label,$user_id,$value);
    }
  }
};

add_action( ‘xprofile_data_before_save’,‘expertise_tag_functions_before_save’,10);
  • 我已尝试将“xprofile_data_before_save”切换为“xprofile_data_after_save”,但仍然无效。

解决方法

您的更改可能在过滤器挂钩运行后被覆盖。 您正在直接更新该字段。您应该更改提交的配置文件数据。 这是包含访问该数据的过滤器钩子:

do_action_ref_array( 'xprofile_data_before_save',array( $this ) );

那就试试吧:

function expertise_tag_functions_before_save( $data ) {

   // make your changes to field values in $data

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。