在注册新用户时生成自动递增的ID号

时间:2015-05-04 作者:mcmasterp

首先,我发现了这个问题:generate unique number when registering a user

这几乎正是我需要的,除了我需要生成的数字是自动递增的,而不是随机的。我希望第一个数字是4位数,然后从那里自动递增。理想情况下,它的长度永远不会超过6位数,然后将第一个数字替换为一个字母,但也许这是不可能的?

该号码需要在管理区域的用户列表中显示和搜索

//create unique id for decal on new user creation
add_action( \'user_register\', \'my_on_user_register\' );
function my_on_user_register( $user_id ) {
    $unique_id = 1000 + $user_id;
    update_user_meta( $user_id, \'my_unique_id\', $unique_id );
}
//display decal code on profile
add_action(\'show_user_profile\', \'my_extra_user_profile_fields\');
add_action(\'edit_user_profile\', \'my_extra_user_profile_fields\');
function my_extra_user_profile_fields($user){

    $unique_number = get_the_author_meta(\'my_unique_id\', $user->ID);
?>
    <h3><?php _e(\'Decal Info\'); ?></h3>

    <table class="form-table">
        <tr>
            <th><label for="address"><?php _e(\'Code:\'); ?></label></th>
            <td><?php echo $unique_number; ?></td>
        </tr>
    </table>
<?php
}
//send email with decal code to admin on new user
function registration_email_alert($user_id) {
    $message = strip_tags($_POST[\'user_login\']). \' - \' . strip_tags($_POST[\'user_email\']) . \' Decal Code: \' . strip_tags($user_id[\'my_unique_id\']) . \' Has Registered To Your Website\';
    wp_mail( \'[email protected]\', \'New Teen Has Been Registered\', $message );
}
add_action(\'user_register\', \'registration_email_alert\');
//add decal code to user list
function new_modify_user_table( $column ) {
    $column[\'my_unique_id\'] = \'Decal Code\';
    return $column;
}
add_filter( \'manage_users_columns\', \'new_modify_user_table\' );

function new_modify_user_table_row( $val, $column_name, $user_id ) {
    $user = get_userdata( $user_id );
    switch ($column_name) {
        case \'my_unique_id\' :
            return get_the_author_meta( \'my_unique_id\', $user_id );
            break;
        default:
    }
    return $return;
}
add_filter( \'manage_users_custom_column\', \'new_modify_user_table_row\', 10, 3 );

1 个回复
最合适的回答,由SO网友:kovshenin 整理而成

您可以使用您提到的链接中描述的相同方法,但只需使用创建的用户ID并添加1000,即可获得四位数。因此user\\u id=5获得1005的元数。

add_action( \'user_register\', \'my_on_user_register\' );
function my_on_user_register( $user_id ) {
    $unique_id = 1000 + $user_id;
    update_user_meta( $user_id, \'my_unique_id\', $unique_id );
}
希望有帮助!

结束

相关推荐

WP_QUERY自定义字段传递帖子ID

我正在将WP\\U查询与ACF(高级自定义字段)一起使用我正在建立一个新闻门户网站,我正在尝试从1篇文章中传递相关的故事,这篇文章是top\\u story=true。在另一个WP\\u查询中,我想将相关文章打印到post\\u id(top\\u story)和该post的id(通常可以更改)。我的查询如下所示:$args = array( \'posts_per_page\' => 1, \'category_name\' => \'News\',