多亏了这个tutorial, 我学习并能够创建一个自定义配置文件,该配置文件使用输入文本进行配置文件链接。
以下是本教程中使用的代码:
/* add custom profile field */
add_action( \'show_user_profile\', \'my_show_extra_profile_fields\' );
add_action( \'edit_user_profile\', \'my_show_extra_profile_fields\' );
function my_show_extra_profile_fields( $user ) { ?>
<h3>Extra profile information</h3>
<table class="form-table">
<tr>
<th><label for="twitter">Twitter</label></th>
<td>
<input type="text" name="twitter" id="twitter" value="<?php echo esc_attr( get_the_author_meta( \'twitter\', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description">Please enter your Twitter username.</span>
</td>
</tr>
</table>
<?php }
/* save custom profile field */
add_action( \'personal_options_update\', \'my_save_extra_profile_fields\' );
add_action( \'edit_user_profile_update\', \'my_save_extra_profile_fields\' );
function my_save_extra_profile_fields( $user_id ) {
if ( !current_user_can( \'edit_user\', $user_id ) )
return false;
update_usermeta( $user_id, \'twitter\', $_POST[\'twitter\'] );
}
/* display custom profile field */
function my_author_box() { ?>
<div class="author-profile vcard">
<?php if ( get_the_author_meta( \'twitter\' ) ) { ?>
<p class="twitter clear">
<a href="http://twitter.com/<?php the_author_meta( \'twitter\' ); ?>" title="Follow <?php the_author_meta( \'display_name\' ); ?> on Twitter">Follow <?php the_author_meta( \'display_name\' ); ?> on Twitter</a>
</p>
<?php } // End check for twitter ?>
</div><?php
}
我尝试更改此部分:
<input type="text" name="twitter" id="twitter" value="<?php echo esc_attr( get_the_author_meta( \'twitter\', $user->ID ) ); ?>" class="regular-text" />
收件人:
<textarea type="text" name="twitter" id="twitter" value="<?php echo esc_attr( get_the_author_meta( \'twitter\', $user->ID ) ); ?>" class="regular-text"></textarea>
因此它将使用textarea而不是textbox。每当我点击save profile时,textarea中不会保存任何内容,因此会删除其中的任何内容。
如何修复此问题,以便保存文本区域中的所有内容?