簡體   English   中英

更新 Buddypress 用戶的 xprofile 輸入

[英]Update Buddypress user’s xprofile input

我想更新用戶插入 3 個特定 xprofile 字段的內容,並使用 sanitize_key(強制字母小寫,刪除“-”和“_”之外的特殊字符)將其存儲到數據庫中。 當我將它們回顯時,這些值會臨時改變我想要的方式,但不要存儲在數據庫中。

非常感謝您的幫助! 這是我到目前為止所擁有的

在我的函數中。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

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM