Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 查看用户是否在最后10秒内完成订单(woocommerce)?_Javascript_Php_Woocommerce_Hook Woocommerce - Fatal编程技术网

Javascript 查看用户是否在最后10秒内完成订单(woocommerce)?

Javascript 查看用户是否在最后10秒内完成订单(woocommerce)?,javascript,php,woocommerce,hook-woocommerce,Javascript,Php,Woocommerce,Hook Woocommerce,基本上,由于许多原因,我无法以我希望的方式重定向到工作状态,因此我想添加一个函数,该函数将在/my account/页面上运行,以查看当前用户是否在过去10秒内订购了产品a或B(使用autocomplete order插件,将具有已完成状态)如果是这样,则将它们重定向到函数中指定的自定义感谢页面 我正在寻找很多函数来拉动最近的订单,但我不确定我是否朝着正确的方向前进。在3.0中,如何获取用户最近订单的时间戳和产品id?是否有一个钩子将其绑定到/my account/页面,或者我是否需要破解jav

基本上,由于许多原因,我无法以我希望的方式重定向到工作状态,因此我想添加一个函数,该函数将在/my account/页面上运行,以查看当前用户是否在过去10秒内订购了产品a或B(使用autocomplete order插件,将具有已完成状态)如果是这样,则将它们重定向到函数中指定的自定义感谢页面


我正在寻找很多函数来拉动最近的订单,但我不确定我是否朝着正确的方向前进。在3.0中,如何获取用户最近订单的时间戳和产品id?是否有一个钩子将其绑定到/my account/页面,或者我是否需要破解javascript/php解决方案?

购买后直接运行代码如何? 您可以检查它是哪种产品(如果需要,还可以进行更多检查),然后重定向到“自定义感谢”页面

add_action( 'woocommerce_thankyou', 'my_custom_code' );
function my_custom_code( $order_id ) {

    // Lets grab the order
    $order = wc_get_order( $order_id );

    // do stuff

}

下面是我最后做的:

  • 在“我的帐户”页面的“订单”表中添加了自定义列 包括订单ID(用于添加列-SKU-和 然后更新orders.php页面中的逻辑以添加产品ID 到SKU列

    函数新建\u顺序\u列($columns=array()){
    $columns['product-name']=_u('SKU','Text-Domain');
    返回$columns;
    }
    添加过滤器(“woocommerce\u account\u orders\u columns”、“new\u orders\u columns”);

  • 添加了一个jQuery脚本(通过添加到“我的 “帐户”页),该页将提取当前日期,即日期时间 日期列中的属性和SKU中的产品ID文本 第一行中的列-即最近的顺序

  • 使用Javascript查找当前时间和 订单时间,并将该数字转换为秒

  • 添加了基于该时间值的条件重定向 差异小于10(秒),且该产品id为 特定id

    函数mycustomorder\u redirect(){
    如果(用户是否已登录){
    日期默认时区设置(“美国/纽约”);
    $time_now=日期('c');
    echo'jQuery(“文档”).ready(函数(){
    //
    //获取最新订单日期时间
    var lastorder_td=jQuery(“td.woocmerce-orders-table__cell-order-date:eq(0)time”).attr(“datetime”);
    //
    //获取最新订单产品id
    var product_check=jQuery(“td.woocommerce-orders-table__cell-product-name:eq(0)”).text();
    //
    //删除空白
    产品检查=产品检查。替换(/(^\s+\s+$)/g,“”;
    //
    //获取当前日期时间
    var current_wrap=“”.$time_now.”;
    //
    //删除+00:00或-00:00
    lastorder_td=lastorder_td.子字符串(0,lastorder_td.长度-6);
    当前环绕=当前环绕子字符串(0,当前环绕长度-6);
    //
    //转换为javascript日期
    变量列a=新日期(当前换行);
    var column_b=新日期(lastorder_td);
    //
    //查找时差
    var dif=列a-列b;
    //
    //转换为秒
    var seconds_toredirect=dif/1000;
    //
    //添加重定向
    如果(秒数小于10&(产品检查==1 | |产品检查==2)){
    window.location.replace(“https://exampleurl.com/page/"); 
    } 
    });
    ';
    }
    }
    添加快捷码(“订单自定义”、“mycustomorder\u重定向”);