我到处寻找一个插件,可以在注册Wordpress时生成一个独特的顺序会员号,而不会有任何乐趣。希望那里的其他人都会喜欢这个功能,所以通过一些研究和复制我在网上找到的一些代码就可以得到以下解决方案。
它几乎就在那里,但我想更多地扩展功能,并且想知道是否有人能指出我正确的方向。
我想在WooCommerce my_account页面上显示ID号码(会员号码)以及一些WooCommerce电子邮件,例如新订单和新帐户电子邮件。
我还想在生成的4位数字中加入一个前缀,例如AU-0001(AU可以在每个序列号之前保持相同)。我可以添加吗?...
<?php echo "AU-"$unique_number; ?>
以下代码运行正常。它会在创建帐户后在用户配置文件列表和用户配置文件页面中生成并显示会员编号。
如果可能,我只想添加到下面的代码中,这样我就不会修改任何在更新时会被覆盖的核心文件。下面的代码在我的孩子主题的functions.php文件中。
此外,//发送以下邮件会发送包含文本输出但不包含
的电子邮件strip_tags($user_id['my_unique_id'])
新会员编号。 (这不是必不可少的,因为我宁愿不发送单独的电子邮件,而是让会员号码显示并发送给WooCommerce电子邮件)。
提前谢谢大家!
//create unique id 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 Membership Number 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('Membership Number'); ?></h3>
<table class="form-table">
<tr>
<th><label for="address"><?php _e('Member Number:'); ?></label></th>
<td><?php echo "AU-"$unique_number; ?></td>
</tr>
</table>
<?php
}
//send email with Membership Number to admin on new user registration
function registration_email_alert($user_id) {
$message = strip_tags($_POST['user_login']). ' - ' . strip_tags($_POST['user_email']) . ' SMWS Membership Number: ' . strip_tags($user_id['my_unique_id']) . ' Has registered to the SMWS';
wp_mail( 'your@email.com.au', 'New member has just registered', $message );
}
add_action('user_register', 'registration_email_alert');
//add Membership Number to user list
function new_modify_user_table( $column ) {
$column['my_unique_id'] = 'Membership Number';
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 );