使用自定义配置文件信息更新用户元

时间:2013-10-23 05:51:23

标签: php wordpress gravity-forms-plugin

当有人填写重力表格时,我正在使用Wordpress并修改功能以更新用户元数据。我想要更新的元数据是自定义配置文件信息。我从后端更新数据,但无法通过表单完成。

我无法真正看到我出错的地方。

function GF_setup_actions_filters() {
        $_gf_edit_profile_id =  RGFormsModel::get_form_id('25');
        add_action('gform_after_submission_25' . $_gf_edit_profile_id, 'GF_update_profile', 100, 2); }

function GF_get_profile_fields() {
        $_fields['share_a_little'] = array ( 'gf_index' => '4', 'wp_meta' => 'share_a_little' );   
        return $_fields; }

function GF_update_profile($entry, $form) {
   global $wpdb;

   if (!is_user_logged_in()) {
      wp_redirect(home_url());
      exit();
   }


   $_user_id = get_current_user_id();   
   $_user = new stdClass();
   $_user->ID = (int) $_user_id;
   $_userdata = get_user_meta($_user_id);
   $_user->user_login = $wpdb->escape($_userdata->user_login);

   $gf_fields = GF_get_profile_fields();

   $share_a_little = $entry[$gf_fields['share_a_little']['4']];
   update_user_meta($_user->ID, 'share_a_little', $share_a_little);
}

1 个答案:

答案 0 :(得分:0)

这部分是错误的。

$_gf_edit_profile_id =  RGFormsModel::get_form_id('25');
add_action('gform_after_submission_25' . $_gf_edit_profile_id, 'GF_update_profile', 100, 2); }

如果您的表单ID为25,表单未命名为25。 这些行应替换为:

 add_action('gform_after_submission_25', 'GF_update_profile', 100, 2); }

如果from被称为25并且你不知道行应该是ID:

$_gf_edit_profile_id =  RGFormsModel::get_form_id('25');
add_action('gform_after_submission_' . $_gf_edit_profile_id, 'GF_update_profile', 100, 2); }

代码看起来非常类似于我在使用Gravity Forms更新用户配置文件时写的文章。您可以使用代码说明阅读here