近日在處理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');