我正在尝试添加自定义复选框,如果选中则添加用户元字段。但是,当我选中该框然后更新配置文件时,不会添加元数据。
这是我的代码
add_action( 'show_user_profile', 'my_extra_user_fields' );
add_action( 'edit_user_profile', 'my_extra_user_fields' );
function my_extra_user_fields( $user ) {
$check_true = "User Meta" . get_user_meta( $user_id, '_is_post_agent'); ?>
<h3>Agent Author</h3>
<table class="form-table">
<tr>
<th><label for="agent_author">Agent Author</label></th>
<td>
<p> <?php echo $check_true; ?> </p>
<input type="checkbox" name="agent_author" value="is_author_agent" <?php if($check_true === 'true') echo 'checked="checked"';?> >
</td>
</tr>
</table>
<?php }
add_action( 'personal_options_update', 'save_my_extra_user_fields' );
add_action( 'edit_user_profile_update', 'save_my_extra_user_fields' );
function save_my_extra_user_fields( $user_id )
{
if ( !current_user_can( 'edit_user', $user_id ) ) { return false;}else{
update_user_meta( $user_id, '_is_post_agent', "true", true );
}
}
我不知道出了什么问题,所以感谢任何帮助。