我正在尝试创建一个插件,我必须保存一个usermeta。添加和保存usermeta的代码如下。 usermata字段显示在userprofile部分中,但保存它不会执行任何操作。有人可以帮助我!
function add_adslot_text() { ?>
<table class="form-table">
<tr>
<th><label for="afa_adslot_id">Adslot ID as given by the staff</label></th>
<td>
<input type="text" name="afa_adslot_id" id="afa_adslot_id" value="<?php echo esc_attr( get_the_author_meta( 'afa_adslot_id', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description">Add your Adslot ID given by the staff.</span>
</td>
</tr>
</table>
<?php }
function save_adslot_text($user_id) {
update_usermeta( absint( $user_id ), 'afa_adslot_id', wp_kses_post( $_POST['afa_adslot_id'] ) );
}
add_action('show_user_profile', 'add_adslot_text' );
add_action('edit_user_profile', 'add_adslot_text');
add_action( 'personal_options_update', 'save_adslot_text' );
add_action( 'edit_user_profile_update', 'save_adslot_text' );
register_activation_hook( __FILE__, 'afa_activate' );
答案 0 :(得分:2)
我尝试了您的代码并正确保存了值。显示保存的值时只有一个问题。 $user
参数需要在函数add_adslot_text
中传递。
例如:
function add_adslot_text( $user )