当有人填写重力表格时,我正在使用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);
}
答案 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。