WordPress禁用惱人的emoji(表情符號)

近日在處理WooCommerce訂單的時候發生匯出檔案出錯的問題,花了一段時間比對,發現是消費者使用了表情符號(emoji)造成轉出訂單的function錯誤

在外掛試了一款沒作用,有可能程式沒支援到WooCommerce的訂單,於是就做了一個小function解決,下列是針對消費者在結帳時,不可於備註欄位使用表情符號

function custom_js_for_checkout() {
    ?>
    <script type="text/javascript">
        jQuery(document).ready(function($) {
            var $textarea = $('textarea[name="additional_customer_note"]');

            if ($textarea.length) {
                $textarea.on('input', function() {
                    // 定義一個正則表達式來匹配 emoji
                    var emojiRegex = /([\u2700-\u27BF]|[\uE000-\uF8FF]|[\uD83C-\uDBFF\uDC00-\uDFFF])+|\uD83D[\uDC00-\uDFFF]|[\u2600-\u26FF]\uFE0F?|[\u2700-\u27BF]|[\u24C2\uD83C-\uDBFF\uDC00-\uDFFF]+|\uD83D[\uDE00-\uDE4F]|[\uD83C-\uDDFF]/g;
                    
                    // 移除文本中的 emoji
                    this.value = this.value.replace(emojiRegex, '');
                });
            }
        });
    </script>
    <?php
}
add_action('wp_footer', 'custom_js_for_checkout');
瀏覽次數:1