javascript - 结帐后如何将摩洛哥国家代码添加到wp woocomerce中的电话号码?
问题描述
我想在 woocomerce 输出中添加国家代码。
我有一个小问题,在我的国家,我们开始用零 (0) 编写数字,但我需要在没有 0 和摩洛哥国家代码的情况下编写数字。
例如,如果有人像 0600290157 这样写它,它只会在后端变成这样:212600290107
其他情况如果 +212600290107 ---> 212600290107 其他情况如果 00212600290107 ---> 212600290107
所以我需要这个号码看起来像 212xxxxxxxxx
我需要一个代码在 fonction.php 中将其添加到我的 Wordpress woocommerce 网站
此致
解决方案
您可以像这样在完成输入数字后重写代码国家:
这仅适用于摩洛哥数字 06 或 07
document.querySelector('input[name="phone_number"]').addEventListener('keyup',function(e){
let value = this.value;
if (value.length == 10 && ['06','07'].includes(value.slice(0, 2))) {
this.value = '+212'+ value.slice(1);
}
});
<input type="text" name="phone_number">
第二种解决方案是再次输入以修复代码国家/地区
尝试:
let ph_input = document.querySelector('input[name="phone_number"]');
//ph_input.setAttribute('type', 'hidden');
let clone = ph_input.cloneNode(true);
ph_input.parentElement.appendChild(clone).setAttribute('type', 'hidden');
let name = ph_input.getAttribute('name') + '_fix_code';
ph_input.setAttribute('default_name', ph_input.getAttribute('name'));
ph_input.setAttribute('name', name);
document.querySelector(`input[name="${name}"]`).addEventListener('keyup',function(e){
let value = this.value;
let name = this.getAttribute('default_name');
let default_input = document.querySelector(`input[name="${name}"]`);
default_input.value = value;
if (value.length == 10 && ['06','07'].includes(value.slice(0, 2))) {
default_input.value = '+212'+ value.slice(1);
}
});
// Button For Test
document.querySelector(`.test`).addEventListener('click', function (e) {
let value = document.querySelector('input[name="phone_number"]').value;
alert(value);
});
<input type="text" name="phone_number">
<button class="test">Test</button>
要将代码添加到 wordpress 中,请转到您的活动主题编辑文件 functions.php 并将此代码放在 functions.php 的末尾
add_action('wp_footer', 'fix_code_country');
function fix_code_country()
{
?>
<script type="text/javascript">
try {
let ph_input = document.querySelector('input[name="phone_number"]');
//ph_input.setAttribute('type', 'hidden');
let clone = ph_input.cloneNode(true);
ph_input.parentElement.appendChild(clone).setAttribute('type', 'hidden');
let name = ph_input.getAttribute('name') + '_fix_code';
ph_input.setAttribute('default_name', ph_input.getAttribute('name'));
ph_input.setAttribute('name', name);
document.querySelector(`input[name="${name}"]`).addEventListener('keyup', function(e) {
let value = this.value;
let name = this.getAttribute('default_name');
let default_input = document.querySelector(`input[name="${name}"]`);
default_input.value = value;
if (value.length == 10 && ['06', '07'].includes(value.slice(0, 2))) {
default_input.value = '+212' + value.slice(1);
}
});
} catch {}
</script>
<?php
};
或者您可以安装插件以在页脚中插入代码检查此文档:https ://kinsta.com/knowledgebase/add-code-wordpress-header-footer/
推荐阅读
- vba - Excel VBA到Word,查找和替换第二个实例
- python - 从 Python 中查询 JSON 类型的 SQL 表列需要很长时间?
- r - 在字符串的一部分周围插入字符?
- python - 如何将 python 中的 3d 图的顶点与 matplotlib 连接?
- azure - Azure devops 管道自托管 Kubernetes 集群身份验证问题
- python - 如何反向补充具有多个序列的 excel 文件?
- c - 为什么在 C 中解析 csv 文件时,大小与 prev_size 相比损坏?
- bash - 如何将php(及其stderr)中的exec调用的输出重定向到调用程序?
- ios - SwiftUI 计算属性显示“在视图更新期间修改状态,这将导致未定义的行为。” 错误
- python - 优化函数以用给定的前一行替换一行,这是 Pandas 中的一个条件