私は私の会社のためにWoocommerceと組み合わせたWordpressを使用しています。新規顧客が何かを注文したい場合、注文中にアカウントを作成する必要があります。私のWordpressウェブショップのクライアントのためのCutsomユーザーID
新しいクライアントにカスタムユーザーIDを持たせたいと思います。番号の代わりに、クライアントのIDを姓の最初の2文字、登録した年の最後の2文字、登録した月、ID番号に続けてください。
例: ボブ・クラークは今日私のウェブサイトにクライアントとして登録します。ボブは自動的にユーザーID 300を取得します。ただし、ボブIDは次のようになります。
姓の最初の2文字 - 年月の最後の2文字 - ボブのIDです。したがって、これは以下のようになります。
CL1707300
誰かがこれで私を助けてもらえますか?
現在のコード:
/* Add user "my_unique_id" meta when user register through checkout page woocommerce */
add_action('woocommerce_created_customer', 'admin_email_on_registration', 10 , 1);
function admin_email_on_registration($user_id) {
$user = wp_get_current_user();
$last_name = $user->last_name;
if (isset($last_name)){
//do your stuff
$unique_id = mb_substr($last_name, 0, 2, 'utf-8') . date("y") . date("m") . $user_id;
add_user_meta($user_id, 'my_unique_id', $unique_id);
}
}
更新:あなたはこのようなあなたのコードを置き換える必要があり
<tr class="Klantnummer">
<th><?php _e('Klantnummer:'); ?></th>
<td><?php echo $user->ID; ?></td>
</tr>
の代わりにこのコードを試してみてください? –
このコードでは、サイトはクラッシュしませんでしたが、何もしないようです。しかし、コードを修正しようとすると、構文エラーのためにサイトが頻繁にクラッシュすることになりました。私は(多くの)PHPの経験がないので、それが理由です。回答いただきありがとうございます。 – Robin
$ user_idがデータベースにINTとして格納されていて、そこに文字列値を格納できない場合や、この行で連結が間違っている可能性がある場合は、さまざまな問題があります。$ unique_id = mb_substr($ last_name、 2)+ date( "Y")+ date( "m")+ $ user_id; 'mb_substr($ last_name、0、2)で置き換えてみてください。日付( "Y")。日付(「m」)。 $ user_id; '' –