簡體   English   中英

WooCommerce / Wordpress-自動使用整個電子郵件作為用戶名?

[英]WooCommerce / Wordpress - automatically use the entire email as username?

我在這里完成了一個新的WooCommerce構建,我想將其設置為讓客戶僅使用其電子郵件地址作為登錄憑據,希望我可以退休,然后隱藏對Wordpress用戶名記錄的所有引用。 事實證明這很困難!

我的主題允許客戶僅在結帳時進行注冊-因此他們在表單末尾打鈎“創建帳戶”,並被提示輸入帳戶用戶名(需要更改此標題)和密碼...或者如果WooCommerce是設置為自動生成用戶名,僅要求他們輸入密碼。 我已禁用設置中的電子郵件生成用戶名,因為我不想將完整的電子郵件地址寫入數據庫的用戶名字段中,而不是WooCommerce使用的截短版本

我看到了兩種方法,但想在這里提出可行的建議。

我想到的一種方法是在結帳時略過頁面上方輸入的電子郵件地址,並在用戶勾選“創建帳戶”時將其復制到“帳戶用戶名”字段中。 我想這需要某種JavaScript hack才能起作用。 我已經在用戶名字段中手動鍵入了完整的電子郵件地址,它被接受並正確地寫入了數據庫用戶名字段中。

我能想到的第二種方法是在結帳時隱藏“帳戶用戶名”字段(或將WooCommerce設置為再次生成仍然會隱藏該字段的用戶名)...然后將完整的電子郵件地址寫入創建帳戶時創建數據庫。 我不知道可以在哪里執行這樣的操作(我想這不只是將一些代碼寫入functions.php中),但是我認為這種方法比我上面提到的javascript hack更為可靠。

我試圖通過在各種登錄窗格,錯誤消息以及注冊和密碼重置電子郵件中用“電子郵件地址”替換所有對“用戶名”的文本引用進行長距離嘗試,但這是一種糟糕的方法。 如果正在使用完整的電子郵件地址而不是用戶名,WooCommerce實際上將對引用進行任何調整,因此,我僅創建不必要的工作。 不過,使我陷入困境的是使用電子郵件地址。

關於我可能如何處理的任何想法或建議? 我已經閱讀了許多其他人提出的問題和答案,但是其中大多數似乎都滿足於替換此處或此處的文本引用。 我實際上想將完整的電子郵件地址寫入數據庫用戶名字段中,從而使用戶名無效

謝謝

為了回答我自己的問題...當客戶勾選“ 創建帳戶 ”時,我在結帳表單上使用了JavaScript技巧將電子郵件地址字段的內容復制到帳戶“用戶名”字段中

這絕不是萬無一失的,但是它滿足了我在台式機和移動設備上的需求。 未啟動的客戶仍然可以清除自動填寫的用戶名字段,並輸入除其電子郵件地址之外的其他內容,因此我需要查看是否可以通過某種方式禁用該字段...將其塗灰

我也繼續將所有對UsernameEmail地址或username的引用替換為Email address 這比Java hack難做!

該腳本適合任何有興趣的人:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        function onchange() {
            var box1 = $('#billing_email');
            var box2 = $('#account_username');
            box2.val(box1.val());
        }
        $('#billing_email').on('change', onchange);
});</script>

[woocommerce_checkout]

我使用標准的Wordpress編輯器將其直接插入Checkout頁面。 我不確定我在哪里找到了代碼,但可能來自此答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM