在注册新用户时生成唯一编号

时间:2015-06-15 作者:Amit Patra

我知道数据库中有userID,username,但我想要一个格式化的、唯一的数字,供物理世界使用。例如:“2014xxx”201414:年,xxxx:注册用户时随机生成。

是否可能?如果可能,最简单和最快的方法是什么?

2 个回复
SO网友:ChrisL

这种方式会奏效。。。这个user_register 当用户存储在数据库中时,将触发操作。您可以使用向用户添加元数据add_metadata.

add_action( \'user_register\', \'myplugin_registration_save\', 10, 1 );

function myplugin_registration_save( $user_id ) {

    add_metadata( $user_id, \'unique_number\', date( \'Y\' ).str_pad( $user_id, 4 ) );

}

SO网友:Sabbir Hasan

通过使用以下代码,您可以在实际用例中实现绝对唯一的userid。

add_action( \'user_register\', \'myplugin_registration_save\', 10, 1 );
function myplugin_registration_save( $user_id ) {
    $unique_id = date("Ymd").(int)microtime(true);
    add_user_meta( $user_id, \'unique_number\', $unique_id );
}
我用的是microtime() 从午夜开始几毫秒过去。每天都是独一无二的。为了确保它保持唯一性,我添加了YearMonthDate前缀。所以唯一id如下所示:202006281593358887 我们可以这样分开2020 06 28 1593358887

结束

相关推荐

video.js not enqueueing?

我真的很感激你们在这个问题上能提供的任何信息。Firebug告诉我,函数“videojs”没有定义,当它试图运行链接到swf对象的脚本块时:<script>videojs.options.flash.swf = \"<?php echo get_template_directory_uri(); ?>/loose/video-js.swf\"</script>因此,我打开firebug,进入脚本窗格,果然看到了视频。js未排队。以下是我的所有排队供参考:add_acti