我在自己的主题中向用户配置文件添加了一个自定义部分。该部分目前称为“Extra Profilinformationen”,其中包括一个twitter字段。它被添加到底部。是否有任何方法将其放置在配置文件图像之前?如何更改其顺序?
function my_show_extra_profile_fields( $user ) { ?>
<h3>Extra Profilinformationen</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 />
<p class="description">Füge ein Twitterprofil hinzu.</p>
</td>
</tr>
</table>
<?php }
add_action( \'show_user_profile\', \'my_show_extra_profile_fields\' );
add_action( \'edit_user_profile\', \'my_show_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\'] );
}
add_action( \'personal_options_update\', \'my_save_extra_profile_fields\' );
add_action( \'edit_user_profile_update\', \'my_save_extra_profile_fields\' );
最合适的回答,由SO网友:Antti Koskinen 整理而成
不幸的是,上面没有动作挂钩user-edit.php
这将允许您将html放在配置文件图像之前。一种选择是使用javascript/jquery在概要文件页面上移动html。
但正如评论中提到的@RiddleMeThis,您可以使用user_contactmethods
筛选以将自定义联系人方法(如Twitter)添加到配置文件页面。
add_filter(\'user_contactmethods\', \'my_user_contactmethods\');
function my_user_contactmethods($contactmethods){
$contactmethods[\'twitter\'] = __(\'Twitter Username\', \'textdomain\');
return $contactmethods;
}