【发布时间】:2020-10-14 05:07:43
【问题描述】:
目前我对 Gravity Forms 有点失望。 这是我的设置: 我有一个使用 WPEverest 的用户注册 插件创建的自定义注册表单。该插件创建了一个自定义用户注册表单,与 WooCommerce 无缝集成,并将自定义字段保存到 USER,而不是单独的表中。
我正在尝试使用 Gravity Forms 来允许用户更新使用 WPEverest 的注册插件创建的字段(此时它只是一些自定义用户元字段),但我有一个地狱一次获取字段值。
我最大的问题是,我一生都无法弄清楚我应该通过get_post_custom_values(); 传递什么值。
下面的代码是我目前所拥有的。这应该在表单提交时将值传递给用户元字段,并且它确实有效......但前提是我将值设置为手动创建的变量。如果我尝试从 Gravity Forms 中提取数据,它将无法正常工作。
$gravity_form_id = '10'; // Gravity Forms ID
add_action("gform_after_submission_$gravity_form_id", "gravity_post_submission", 10, 2);
function gravity_post_submission ($entry, $form){
$post_id = $entry["post_id"];
//trying to get values from gravity form
$values = get_post_custom_values("field_name???", $post_id);
//updating user meta
update_post_meta($current_user->ID, 'user_registration_body_type', $values);
}
作为参考,我使用的表单对象是一个 ID 为 10 的 RADIO 类型,参数名称为 body_type(我使用此名称作为预填充表单字段的一种方式)。
以下是表单域的呈现方式:
<div class="ginput_container ginput_container_radio">
<ul class="gfield_radio" id="input_14_10">
<li class="gchoice_14_10_0">
<input name="input_10" type="radio" value="apple" id="choice_14_10_0">
<label for="choice_14_10_0" id="label_14_10_0">Apple</label>
</li>
<li class="gchoice_14_10_1">
<input name="input_10" type="radio" value="full-bust" id="choice_14_10_1">
<label for="choice_14_10_1" id="label_14_10_1">Full Bust</label>
</li>
<li class="gchoice_14_10_2">
<input name="input_10" type="radio" value="hourglass" checked="checked" id="choice_14_10_2">
<label for="choice_14_10_2" id="label_14_10_2">Hourglass</label>
</li>
<li class="gchoice_14_10_3">
<input name="input_10" type="radio" value="pear" id="choice_14_10_3">
<label for="choice_14_10_3" id="label_14_10_3">Pear</label>
</li>
<li class="gchoice_14_10_4">
<input name="input_10" type="radio" value="straight" id="choice_14_10_4">
<label for="choice_14_10_4" id="label_14_10_4">Straight</label>
</li>
</ul>
</div>
TL;DR - 我应该用什么替换 form_field??? 以检索表单字段值?我应该使用什么 ID 或名称? (例如:input_10、input_14_10、body_type ?)稍后我将尝试对复选框做同样的事情,但从单选按钮开始似乎更容易,因为它只返回一个值。
还是我在处理这个问题时完全错了?
提前感谢您的帮助!
【问题讨论】:
标签: wordpress gravity-forms-plugin