我在 WPUF 上创建了一个注册表单,以便用户可以从分类中选择他们的区域。代码使用动作钩子加载到表单上。代码从下拉列表中加载分类中的术语,用户可以选择区域。
但是我在将所选术语保存到用户个人资料的自定义字段中时遇到问题。找到下面的代码:
function user_region_taxonomy( $form_id, $post_id, $form_settings, $tax, $user_id ) {
$taxterms = get_terms( 'user_region', array("hide_empty" => "0"));
if ( $post_id ) {
get_post_meta( $post_id, 'user_region_location', true );
}
?>
<div class="wpuf-label">
<label>User Region</label>
</div>
<div class="wpuf-fields">
<select name='user_region_location' id='user_region_location'>
<option value='' <?php if (!count( $names )) echo "selected";?>>Select Term</option>
<?php foreach ( $taxterms as $term ) {
echo '<option name="user_region_location" value="' . $term->slug . '" selected>' . $term->name . '</option>',"\n";
} ?>
</select>
</div>
<?php
}
add_action( 'user_region_hook', 'user_region_taxonomy', 10, 3 );
function update_user_region_hook( $post_id ) {
if ( isset( $_POST['user_region_location'] ) ) {
update_post_meta( $post_id, 'user_region', $_POST['user_region_location'] );
}
}
add_action( 'wpuf_after_register', 'update_user_region_hook' );
add_action( 'wpuf_update_profile', 'update_user_region_hook' );