[英]Check input radio id before submit wordpress
那就是我现在所拥有的!
主题/ deliverHours.js:
更新
window.onload = function () {
getHour= new Date().toLocaleTimeString("en-US",{timeZone:"America/New_York",hour12: false});
getDay= new Date().toLocaleTimeString("en-US",{timeZone:"America/New_York",hour12: false,weekday:'short'});
day = getDay.split(' ');
arrayDate = getHour.split(':');
document.getElementById('shipping_method_0_local_pickup8').onclick=function() {
if(document.getElementById('shipping_method_0_local_pickup8').checked){
console.log('local Pickup!');
console.log(getDay);
if(!(arrayDate[0] >= 7 && arrayDate[0] <= 16 && day[0] == 'Sun')) {
document.getElementById('msg').innerHTML = "Sorry,We are Closed";
document.getElementById('checkOut').disabled = true
}else{
document.getElementById('checkOut').disabled = false
console.log('enjoy your food');
}
}
}
document.getElementById('shipping_method_0_flat_rate1').onclick=function(){
if(document.getElementById('shipping_method_0_flat_rate1').checked){
console.log('flat rate!');
console.log(getDay);
if(!(arrayDate[0] >= 7 && arrayDate[0] <= 16 && day[0] == 'Sun')) {
document.getElementById('msg').innerHTML = "sorry,we are closed. "
document.getElementById('checkOut').disabled = true
}else{
document.getElementById('checkOut').disabled = false
console.log('enjoy your food');
}
}
}
}
主题/ function.php:
function deliver_business_hours(){
wp_register_script('deliverHours', plugins_url('deliverHours.js'), array(),'1.0', true);
wp_enqueue_script('deliverHours');
}
add_action( 'wp_enqueue_script', 'deliver_business_hours');
Lorem Ipsum只是印刷和排版行业的伪文本。 自1500年代以来,Lorem Ipsum一直是行业的标准伪文本,当时一位不知名的打印机拿起一个厨房,将其打乱成一本样本书。 这个文字没用...
那应该工作对吗?
不幸的是,这对于初学者来说是一个普遍的问题。 让我们来看一下为什么这行不通:
echo
会将字符串中的所有内容注入到HTML中,然后将其发送回用户。 <?php>
。 浏览器不知道如何执行php。 他们的默认设置是简单地忽略他们不了解的任何内容。 这就是为什么它不起作用的原因,通过回显php代码,您已经告诉浏览器执行它不了解的操作。 PHP是一种服务器端语言。 如果要编写php,则必须在HTTP请求过程中由服务器执行。 如果您需要在客户端执行某些操作,则必须使用所有JavaScript编写。
因此,这给您两个选择:
就您而言,我认为可以使用少量的javascript来通知客户您的交货时间。
关于编程风格的注释:
您确实不应该回显任何html标签,尤其是<script>
和<style>
标签。 您应该有单独的.js和.css文件,然后将它们包含到html文档中。 WordPress提供了一个方便的功能: wp_enqueue_script ,它将以所有适当的方式为您完成此操作。
更新:
对于PHP:您需要将单选按钮放入提交的表单中。 可能使用适用于woocommerce的钩子/过滤器。 之后,可以在提交时从$_POST['shipping_method']
访问该值。
对于JS: 这是一个有关从浏览器获取时区特定日期时间的问题。 看来这是一个非常本地的网络商店,所以我要提到实例化javascript的Date对象会获取当前的本地日期时间。 所以:
var now = new Date();
var hour = now.getHours();
var day = now.getDay();
因为您一直在php中使用它们,所以应该使您时日不散。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.