如何在用户配置文件(管理区域)中对自定义域进行排序

时间:2020-01-02 作者:DKX

我在自己的主题中向用户配置文件添加了一个自定义部分。该部分目前称为“Extra Profilinformationen”,其中包括一个twitter字段。它被添加到底部。是否有任何方法将其放置在配置文件图像之前?如何更改其顺序?

enter image description here

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\' );

1 个回复
最合适的回答,由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;
}

相关推荐

Client Profiles

正在寻找创建客户机数据库的最佳方法。插件能最好地实现以下功能吗?我的客户端数据库插件存储有关客户端的个人信息和统计信息,这些信息和统计信息将通过自定义字段和自定义表单收集,管理员创建客户端配置文件后,仪表板选项卡将打开列表区域(类似于用户选项卡)(仅限管理员)“添加新”功能(类似于仪表板的用户区域)。管理员可以将客户端分配给用户,分配给用户的客户端显示为用户元数据。分配给用户的客户端将在用户配置文件中可见,仪表板小部件显示为登录用户分配的客户端,并带有指向客户端配置文件页面的链接。插件是解决此问题的解决方